A practice log that looks rigorous on day three is usually dead by day eighteen. The fields were designed for a Sunday analyst, not for decision 280 on a Thursday after a grind session. You skip “just this one.” Then you skip the week. Then you grade the stub from memory.
The classification journal already answers what to capture. The ninety-second debrief already answers how little you can write per trade. This page is the workflow that keeps those fields fillable when the block is long: 10 practice trades a day × 30 days ≈ 300 practice decisions, inside a finite ₹999 month if you use Replay Trader that way — volume that will punish any log that needs a paragraph.
The test is simple. If you would still complete the row after a messy skip at 14:40, the workflow survives. If you would not, cut the row until you would.
Checklist: the two-tier log
Tier 1 — during the session (one row per decision, including skips)
Fill immediately after the commit, before the next candle you care about. Allowed time: the length of one bar on your decision timeframe, not a coffee.
| Field | Allowed values | Why it survives 280 |
|---|---|---|
session_id |
block-date-or-blind-id | Join key; no prose |
clock |
09:15–10:00 / 10:00–11:30 / 11:30–14:00 / 14:00–15:30 | NSE session structure without a diary |
setup_tag |
your frozen stub name or NONE |
Prevents untagged “feels like a trade” |
decision |
enter / skip / exit / flatten | Skips stay first-class |
process |
0 / 1 / 2 | Rule adherence, not P&L |
urge |
none / chase / delay / revenge / boredom / peek | One word; the leak you will actually filter |
fill_assumed |
next-open / close / worst-of-bar / other | Stops silent generosity |
keep? |
Y / N | N = contaminated (peek, rewrite, wrong universe) |
That is eight fields. If you cannot fill eight, you cannot fill twenty later. Do not add screenshots to Tier 1.
Tier 2 — once per week (not per trade)
Three fields only. Calendar a 20-minute slot. If the slot slips, the week’s Tier 1 rows still exist; you have not lost the block.
| Field | Question it answers |
|---|---|
leak_of_week |
Which urge × clock cell filled up? |
one_rule_edit |
None, or one sentence dated; never a silent rewrite |
mix_check |
Did I actually practise the session windows I claimed? |
Weekly review of process, not a cinema of winners, belongs with process metrics instead of P&L. Outcome columns may exist in the sheet; they do not get a weekly sermon.
Failure modes (name them so you can tag them)
Field bloat. You add market_narrative, what_I_felt, what_I_should_have_done. Decision 40 is still enthusiastic. Decision 180 is empty. Cut until the row is faster than the excuse.
Sunday essay. You skip Tier 1 because “I’ll write it up at the weekend.” You will invent process scores to match remembered P&L. Ban end-of-week reconstruction except for keep?=N notes.
Outcome rewrite. Green trade gets process 2; red trade gets a paragraph. Invert the rule: process is scored before the exit is known, or it is scored 0.
Skip erasure. Fast-forward through midday and log only entries. You have trained overtrading and called it a sample. Skips are rows.
Peek laundering. You saw the next hour, rewound, “decided,” logged process 2. keep? must be N. Those rows inflate everything.
Tool hopping. Phone note, then Sheets, then a journal app. The workflow is one surface. Replay Trader practice trades plus a thin sheet is enough; AI analysis, if you use it, is a review aid after the row exists — not a substitute for the row.
Expertise cosplay. Treating 300 filled rows as proof you can trade live. The log measures adherence and classification. It does not mint a professional.
Workflow that stays mechanical
- Open the sheet before the chart. If the log is not open, you are browsing.
- Pre-fill
session_id, stub name, speed mode, fill assumption. Those do not change per bar. - On each commit, tab through the eight fields. No full sentences. If you need a sentence, you are late — mark process 1 and move.
- Hard stop when the daily decision cap hits, even if the tape is pretty. Caps protect the log as much as the stub.
- Close the chart, leave the log open for sixty seconds. Catch the skip you did not row.
- Friday: fill the three Tier 2 cells from filters, not from vibe. Then stop.
If a field was blank more than twice in a week, delete the field. A missing column you would have ignored is better than a fake column you fill with fiction.
What this log is for — and not for
For: spotting that boredom × 11:30–14:00 is where process 0 lives; noticing that peek clusters after two red rows; seeing that you never skip in the first hour.
Not for: publishing a win rate; proving the stub; replacing a reproducible test record. Those are different artefacts. The surviving log is a fatigue-resistant instrument. Keep it ugly and used.
Indian session tags matter because the open, the grind, and the last hour are different jobs. A log that only stores “intraday” will not show you which job you fail.
Practice fills still ignore brokerage, STT and slippage. A perfect log of generous fills is still optimistic. Record fill_assumed so you cannot pretend otherwise at decision 280.
Design the row for the tired you who still has eighty decisions left. Join the waitlist.
Related reading
- How to Journal Practice Trades So You Actually Learn
- A Debrief Template for Practice Trades
- Process Metrics Worth Tracking Instead of P&L
- How to Review Practice Trades Without Rewriting History
Educational note
Educational practice content only. Not investment advice. No guaranteed returns. Practice ≠ live profitability.