FORECANDLE
MENU
OPEN CONSOLE
Trading processUPDATED Jul 25, 20266 MIN READ

How to build a trading journal that actually changes decisions

A field-by-field template for recording context, execution and outcome, plus the tagging discipline that lets you query the record instead of remembering it.

THE SHORT ANSWER

A useful trading journal is a decision database, not a diary. Record the thesis, the invalidation, the planned size and the market context before entry, then the execution and outcome afterwards. The value comes from being able to group similar decisions later, which requires consistent tags rather than prose.

A trading journal is not a record of wins and losses. It is a decision database. The objective is to preserve the information available at the moment of the trade, so a later review can distinguish a flawed process from an ordinary uncertain outcome — a distinction that is invisible in a profit-and-loss column and obvious in a well-structured record.

Record the setup before it changes

Everything that describes the decision has to be captured before the outcome is known, because memory rewrites it afterwards with complete confidence and no awareness of doing so.

FieldWhy it earns its place
Instrument, timeframe, directionGroups the record later
Entry, invalidation, target, planned sizeMakes the risk checkable
Thesis in one or two sentencesThe claim that is being tested
Catalyst or structural reasonSeparates event trades from structure trades
Market context: trend, volatility, funding, open interestRegime, which dominates outcomes
Scheduled events within the horizonCatches the most avoidable losses
The condition that would prove it wrongThe only field that makes review possible
Fields captured at entry

Screenshots help but are not searchable. Written context is what lets you ask, six months later, how a specific setup behaved when funding was elevated and a macro release was inside the horizon — a question no folder of images can answer.

Create fields that answer future questions

Design the journal backwards from the questions you will want to ask. Setup type, market regime, session, catalyst, entry reason, invalidation, planned size, actual size and plan adherence are the fields that generate answers. Add a short note on state of mind only when it produces something actionable — "entered late after a loss", "moved stop after checking price four times" — rather than as a running commentary. The purpose is evidence, not self-criticism.

Use tags consistently or not at all

A journal with ten names for the same setup cannot answer whether that setup works. Keep a small, closed vocabulary — five to eight setup names, four or five regime labels, a fixed list of execution errors — and resist adding a new one for a trade that is almost the same as an existing category. The value of the record is entirely in its groupability.

  • Setup: one of a fixed list, no free text.
  • Regime: trending, ranging, event-driven, thin liquidity.
  • Catalyst: scheduled, unscheduled confirmed, developing, none.
  • Error: none, late entry, oversized, stop moved, plan not written, event ignored.

One entry, filled in

An abstract template is easy to agree with and hard to use. Here is what a single row looks like when the fields are doing their job — written before the position was opened, in about ninety seconds.

FieldValue
Instrument / timeframeBTC perp, 4h
DirectionLong
Setup tagrange-reclaim
Entry104,600
Invalidation102,400 (below the origin of the expansion)
Target108,900 (prior range high)
Stop distance2.1%
Risk budget$200
Planned size$9,500 notional
Regimeranging, macro-quiet
Funding / OI0.012% per 8h; OI +4% over 24h
Events in horizonNone before Thursday 12:30 UTC
ThesisRange low reclaimed and held on retest; sellers below are trapped
What proves it wrongA 4h close back below 102,400 without recovery
A journal entry captured at 09:14 UTC, before entry
RISK

Impersonal market analysis published to all subscribers alike. Not financial advice, not a personal recommendation, and not an offer or solicitation to trade. Entry, target and stop levels are illustrative parameters of a hypothetical trade, not instructions and not orders; no capital is deployed behind them. Trading carries a high risk of losing all of your capital, and leverage amplifies that risk. You alone are responsible for your decisions. RISK DISCLOSURE

Everything in that table is a fact at the moment of the decision. Nothing in it requires knowing the outcome, which is precisely why it is still worth reading in six months. The fields added afterwards are short: actual size, actual exit, whether the plan was followed, and one line on what happened.

What not to track

Journals die from overhead. Every field that takes effort and never answers a question is a reason not to write the next entry, and an abandoned journal is worth less than a small one. Two specific traps.

  • Indicator readings you do not trade off. Recording RSI on every entry produces a column you will never filter by.
  • Long emotional narratives. One tagged error is queryable; three paragraphs about how the trade felt is not.
  • Screenshots as the primary record. Useful as an appendix, useless as a dataset.
  • Metrics that are properties of the market rather than the decision, unless they are your regime tags.

The test for any field: name the question it will answer at the monthly review. If you cannot, delete it. Fifteen fields you fill in every time beat forty you fill in for the first two weeks.

Review process metrics, not only outcomes

Track whether the entry followed the plan, whether the position was sized correctly, whether the stop or target was changed, and whether a scheduled event was ignored. These are controllable. The outcome of a single trade is a noisy score for a decision, and — as the sampling arithmetic in losing streaks and drawdown maths shows — so is the outcome of twenty.

Questions for a monthly review

  1. Which setup had the clearest written thesis and the best plan adherence?
  2. Where did actual size exceed planned risk, and what preceded it?
  3. Which losses were normal outcomes and which were execution errors?
  4. What one rule would remove the most repeated avoidable mistake?
  5. Did the regime change, or did only the results change?

Keep reviews narrow. A weekly pass should look only for repeated execution errors; a monthly pass can compare setup types and regimes. Drawing conclusions from a handful of trades is how a sound process gets abandoned and a lucky one gets adopted.

The records worth keeping most

A journal becomes valuable when it contains losses that were handled correctly. Those entries are the reference class that protects against the two symmetrical mistakes: abandoning a sound process during a normal losing run, and adopting a poor one after a favourable one. Both feel like learning at the time.

The standards that make a personal record credible are the same ones worth demanding of anyone else's — timestamped before the outcome, every entry included, a fixed scoring rule, the sample size stated. How to check whether a trading signal record can be falsified works through the full list.

Frequently asked questions

What should a trading journal include?
At entry: instrument, timeframe, direction, entry, invalidation, target, planned size, the thesis in a sentence or two, the market context and any scheduled event inside the horizon. Afterwards: actual size, execution notes, whether the plan was followed, and the outcome under a fixed scoring rule.
How often should I review a trading journal?
Weekly for execution errors, monthly for setup and regime comparisons. Weekly reviews should not attempt conclusions about whether a strategy works — the sample is far too small. Their job is catching repeated, controllable mistakes while they are still fresh.
Is a spreadsheet enough for a trading journal?
Yes, provided the fields are structured and the tags come from a closed list. The format matters far less than consistency: a record you can filter and group is useful, and a record of free-text notes is a diary.

Or browse the full library on the research index, and see the same data live in the console.