Free Trading Journal Template
Every trading journal - paper, spreadsheet or app - lives or dies by its columns. Track too little and the data answers nothing; track too much and you'll quit by Thursday. These 14 columns are the working set: enough to compute every statistic that matters, small enough to fill in 60 seconds.
The template
| Column | Example | Why it's here |
|---|---|---|
| Date | 2026-07-20 | Groups trades by day for calendars and day-of-week stats. |
| Time In / Time Out | 14:32 / 15:10 | Hold time, plus hour-of-day performance - one of the most revealing stats there is. |
| Symbol | XAUUSD | Per-instrument breakdowns; some pairs quietly subsidize others. |
| Direction | Long | Many traders have a measurable long/short skill gap. |
| Size (lots) | 0.10 | Position sizing consistency - erratic sizing hides in dollar P&L. |
| Entry / Exit price | 3984.40 / 3992.10 | The trade itself; enables replay on a chart later. |
| Stop-loss at entry | 3975.80 | Defines 1R - the unit every trade gets measured in. |
| Target at entry | 4001.00 | Planned reward - compare against where you actually exited. |
| Fees / swap | -1.20 | Costs are part of the result; scalpers especially can't skip this. |
| P&L ($) | +77.00 | Use your broker's reported figure so the journal matches your statement. |
| R-multiple | +0.9R | P&L ÷ risk at entry - decision quality, independent of size. |
| Setup / tag | London breakout | Buckets trades into comparable groups - the key to finding your edge. |
| Confidence (1-5) | 4 | Later, check whether your gut actually predicts anything. |
| Notes | "Clean setup, followed plan" | One honest sentence on the why and the feeling. |
Copy-paste header row
Paste this straight into row 1 of Excel or Google Sheets:
Date,Time In,Time Out,Symbol,Direction,Size,Entry,Exit,Stop Loss,Target,Fees,PnL,R Multiple,Setup,Confidence,Notes
The formulas your spreadsheet needs
With P&L in column L (and wins defined as L > 0):
- Win rate =
COUNTIF(L:L,">0") / COUNT(L:L) - Average win =
AVERAGEIF(L:L,">0")/ Average loss =AVERAGEIF(L:L,"<0") - Expectancy per trade = win rate × average win + loss rate × average loss
- Profit factor =
SUMIF(L:L,">0") / -SUMIF(L:L,"<0")- above 1.0 means your wins outweigh your losses. - R-multiple per trade = P&L ÷ (entry-to-stop distance × size × contract size). For XAUUSD one lot is 100 oz - forgetting the contract size is the classic gold-spreadsheet bug.
Rules that keep a template alive
- Log every trade - a journal with holes measures nothing. Bad trades are the most valuable rows in it.
- Fill it at the close, while the reasoning is honest - not at the end of the week from memory.
- Never edit history. The stop column holds the stop you placed, not the one you dragged.
- Review weekly, act monthly - patterns need repetition before they're signals. See why journaling works for what to look for.
Where spreadsheets run out of road
A spreadsheet does the recording; the analysis stays manual. Equity curves, P&L calendars, day × hour heatmaps, per-setup win rates, drawdown - each is another formula or pivot table you maintain by hand, and screenshots and chart replays never fit at all. That's the point where a dedicated journal pays for itself - especially one that's free. Bullion Book uses this exact data model: import your MT4/MT5 history or log trades manually, and every statistic above (plus the ones you'd never build in Sheets) computes automatically. If you trade gold or forex, the gold & forex journaling guide shows the full workflow.
Skip the spreadsheet maintenance
Same template, zero formulas: Bullion Book computes win rate, expectancy, R-multiples, calendars and heatmaps from your trades automatically - free, with MT4/MT5 import built in.
Create Free Account