Trading journal template: the columns your spreadsheet needs
Most traders start their journal in Excel or Google Sheets, and that is a reasonable start. What decides whether the spreadsheet stays useful is the set of columns and how consistently you fill them. Below is a complete column list, the formulas worth adding, and the point where a dedicated journal becomes the better tool.
Columns every trading journal template needs
Start with these columns, one row per trade: date, entry time, instrument, direction long or short, session, model, account, entry price, stop-loss, take-profit, risk in percent of the account, risk in money, planned risk-to-reward, exit price, outcome as win, loss or breakeven, result in R, net P/L after commissions and swaps, tags, screenshot link and notes. Session and model should be dropdowns with a fixed list, otherwise the same thing gets spelled three different ways and breakdowns fall apart. Risk and result in R are the most important pair in the whole table, because they let you compare trades of different sizes and different accounts on equal terms.
Optional columns for deeper analysis
Once the core is stable, a few extra columns add a lot. Rule adherence as yes or no lets you compare trades taken by the plan with the rest. An execution grade from A to C separates good decisions that lost from bad decisions that won. Emotional state before entry, chosen from a short list such as calm, rushed, frustrated or overconfident, makes behavioural patterns countable. Market context, for instance trend, range or news day, explains why the same model behaves differently. Time in trade and the reason for exit, whether target, stop, manual close or time, show whether you manage positions consistently. Add these only if you will fill them every time; an optional column filled half the time is noise.
Trading journal spreadsheet formulas
A few formulas turn a list of trades into statistics. Result in R is net P/L divided by the money risked on the trade. Win rate is the count of rows with outcome win divided by the count of all closed trades, which COUNTIF handles. Average win and average loss in R come from AVERAGEIF on the R column. Expectancy is win rate multiplied by average win, minus loss rate multiplied by average loss, all in R; a positive number means the approach makes money over a series of trades. A running sum of P/L gives you an equity curve for a line chart, and the gap between the running maximum and the current value gives drawdown. Pivot tables by session, instrument and model complete the basic set.
Why trading journal spreadsheets break down
Spreadsheets work well up to a few hundred trades and one or two accounts. After that the problems pile up. Screenshots do not live in cells, so they end up as links to a folder that slowly goes out of sync. Every new account means another tab or a filter that someone forgets to apply. Formulas break when a row is inserted in the wrong place, and nobody notices until the numbers look strange. Each new question, such as how a model performs in one session on one account, needs a new pivot table. Logging from a phone is painful. And the journal has a single format that you designed months ago, so improving it means migrating your own data by hand.
Haunted as a free alternative to a spreadsheet journal
Haunted is a free online trading journal with these columns already built in. Each trade has its outcome, net P/L, R:R, risk, session, model, account, tags, notes and screenshots pasted directly into the trade, and one trade can be split across several accounts. The calculations the spreadsheet needed formulas for are done automatically: a scorecard across six dimensions, breakdowns by session, pair, model and account, an equity curve, drawdown, expectancy and a calendar heatmap. Prop and personal accounts carry their own drawdown limits, targets, challenge stages and payout history. It runs in the browser on desktop and phone, and there is no paid tier for the journal.
Moving your Excel trading journal into Haunted
You do not need to retype your history. Export the sheet from Excel or Google Sheets as a CSV file and import it into Haunted; journals kept in Notion can be imported directly. Before exporting, tidy up the data: make sure every row is one trade, dates use one format, direction and outcome use the same words throughout, and models are spelled consistently, because clean labels are what make the breakdowns meaningful after import. Once your trades are in, keep logging new ones in Haunted rather than in both places. Note that Haunted does not import from brokers or from MT4, MT5 or cTrader; the CSV route is for journals you already keep yourself.
FAQ
What columns should a trading journal have?
At minimum: date, time, instrument, direction, session, model, account, entry, stop, target, risk in percent and money, planned R:R, exit, outcome, result in R, net P/L, tags, screenshot and notes. Add rule adherence and emotional state once the basic columns are filled consistently.
Is there a free trading journal template for Excel?
You can build one in a few minutes from the column list on this page using Excel or Google Sheets. If you would rather skip building and maintaining formulas, Haunted is a free online journal with the same fields and calculations built in.
Excel or Google Sheets for a trading journal?
Google Sheets is easier to open from a phone and to back up automatically; Excel handles large tables and pivot tables a little more comfortably offline. Both run into the same limits with screenshots, multiple accounts and complex breakdowns once the journal grows.
How do I calculate R in a trading spreadsheet?
Divide the net profit or loss of a trade by the amount you risked on it. If you risked 100 and made 250, the result is 2.5R; if you lost 100, it is minus 1R. Record the risk at entry, not after the fact.
Can I import my trading spreadsheet into Haunted?
Yes. Export the sheet as a CSV file and import it into Haunted, or import directly from Notion. Clean up dates, direction, outcome and model names beforehand so the analytics group your trades correctly. Broker statements and MT4, MT5 or cTrader exports are not supported.
How do I calculate expectancy in Excel?
Multiply the win rate by the average winning trade in R, then subtract the loss rate multiplied by the average losing trade in R. For example, 0.4 times 2.5R minus 0.6 times 1R gives 0.4R per trade, which means the approach is profitable over a series.