Book & journal
Every order, one book.
Positions, orders, holdings and standing triggers in one place — and a FIFO journal that charges what your contract note charges, down to the DP fee.
Five tabs, one truth
| Tab | What it holds |
|---|---|
| Positions | Live net per instrument and product, with mark-to-market, day P&L and the exit controls beside each row. |
| Orders | Working, completed and rejected — including the rejections, which are recorded as durable rows rather than a toast that vanishes. |
| Holdings | Settled delivery, with the deliverable quantity distinguished from pledged collateral, so an exit is never sized against shares you cannot sell. |
| GTT | Every broker-side standing trigger, including the trailing stops the app manages, with the frozen/managing state of each stated plainly. |
| Journal | FIFO round-trips with exact statutory charges. This is the P&L tab. |
The journal charges what you were actually charged
Every closed round-trip is paired FIFO per broker, symbol and product — a token held under two products is two independent positions and never cross-matches — and each leg is costed with the real Indian charge stack: brokerage, STT/CTT, exchange transaction charge, SEBI fee, stamp duty, GST, and the flat DP (demat debit) fee on a delivery sell, which on a small delivery exit is most of the bill and is the head most tools quietly omit.
Brokerage is charged per order, not per fill. An order that filled in six trades pays one ₹20, not six — the journal pro-rates a single order-level fee across the slices that consume it, which is what the broker's own contract note does.
Export the whole thing as CSV, per round-trip, with each charge head as its own column and a totals block underneath. The columns sum to the total — that is enforced, not assumed.
Trade X-ray — your own habits, measured
The X-ray reads your fill history and reports where the money actually goes: win rate and expectancy by time of day, by weekday, by instrument class, per symbol, and behaviour in the 30 minutes after a losing exit. Every bucket is N-gated — below the sample threshold it says “insufficient history” rather than presenting a number built on four trades.
- The hour buckets follow your data, so an evening MCX or CDS close lands in a real bucket instead of nowhere.
- Unpriceable segments abstain. If a round-trip is on an exchange the charge model has no rate table for, the drag renders “—” and names how many trips it could not price — never a computed-looking ₹0.00 with net equal to gross.
- Ghost fills compare what you did against what the same rule would have done, on the same tape.
The session timeline underneath it
An append-only, on-device event spine records the session as one ordered stream: orders placed, modified and cancelled with the market context stamped on them, tickets you staged but never sent (hesitations), breaker trips, regime flips, analytics cards. One JSONL file per IST day, on your machine. “What was the tape doing when I did that?” is a single range query, and every analytics surface above reads from it.