A useful forex trading journal records the decision as well as the result. A broker statement usually shows fills and charges, but not why a position was opened, where the original stop was placed, or whether the trader followed the plan. This free, spreadsheet-ready template puts those details together so that price moves, costs and trading habits can be reviewed separately.
Start with the downloadable CSV below or copy the same data into a spreadsheet. It contains two fictional EUR/USD trades with working formulas and one blank starter row. The worked calculations have been independently arithmetic-checked, not tested through a broker account or imported into the live FXRanking CMS. The file is built for a USD-denominated account trading EUR/USD. Different quote currencies, account currencies and contract sizes need different pip-value calculations.
Free forex trading journal template
Download the CSV journal with two example trades. The file contains inputs for dates, entry, exit, position size, initial stop, target, strategy and costs, plus spreadsheet formulas for gross pips, net P&L and R-multiple. If the link is blocked by a browser or publishing system, copy the CSV from the box immediately below into a UTF-8 text file ending in .csv. A published-page download must be checked after CMS import.
Template limitations: the formulas assume EUR/USD, account balance in USD, base-currency units and a standard 0.0001 pip. They do not calculate position sizing from equity, use live FX conversions, fetch broker charges, or verify a trade against a broker statement. Enter real commission, credited or debited swap and other fees from the actual transaction history. No password, broker login or account connection is needed.
What each journal field does
| Fields | Record | Why it matters |
|---|---|---|
| Trade ID, opened and closed UTC | A unique ID and both fill timestamps in a consistent time zone. | Makes it possible to reconcile broker records and review holding time or overnight charges without timezone confusion. |
| Pair, direction and base units | Currency pair, Long or Short, and the position measured in units of the base currency. | Separates a favourable move from an oversized position; do not confuse 10,000 units with 10 standard lots. |
| Entry fill, initial stop, initial target, exit fill | Actual entry and exit execution prices, plus the stop and target planned when entering. | Preserves the original risk decision even if orders were later moved or filled at different prices. |
| Pip size and USD per pip | 0.0001 and units multiplied by 0.0001 in this USD-quoted EUR/USD example. | Converts price movement into a cash figure; must be adapted for other pairs and account currencies. |
| Commission, swap, other fees | Round-trip commission as a positive cost; swap as a positive credit or negative debit; other fees as positive costs. | Shows why a trade that gains pips can still have disappointing net results. |
| Gross pips, gross USD, net USD | Formula-derived outcomes from executed fills and non-spread charges. | Separates price movement from financing and commission; the spread is already reflected in the executed prices. |
| Initial risk USD and net R | Cash loss implied by the entry-to-initial-stop distance, and net USD divided by initial risk. | Allows process review across different position risks; it is a planning measure, not a guaranteed maximum loss. |
| Setup, timeframe, plan followed, rationales, review | A consistent setup label and short reasons before and after exit. | Helps distinguish a repeatable rule from an improvised trade or a lucky result. |
This structure follows the practical distinction between trade data and trader notes also set out in FOREX.com's trading-journal guide. Its purpose is to make decisions reviewable, not to predict which setup will work next.
Worked example: two EUR/USD positions
The following trades are illustrative numbers, not live orders or performance results. In both cases, 10,000 EUR/USD base units have a pip value of $1 when P&L is expressed in USD. The entry and exit are actual assumed fill prices, so their difference already incorporates the effect of the bid-ask spread. Deducting a separate spread amount again would double-count it.
| Check | EX-01 long | EX-02 short |
|---|---|---|
| Entry, initial stop, exit | 1.1000, 1.0975, 1.1050 | 1.1100, 1.1140, 1.1140 |
| Gross movement | +50 pips = +$50.00 | -40 pips = -$40.00 |
| Commission and signed overnight swap | $4.00 commission, -$1.25 swap | $4.00 commission, -$1.50 swap |
| Net result | +$44.75 | -$45.50 |
| Initial planned risk | 25 pips × $1 = $25 | 40 pips × $1 = $40 |
| Net R-multiple | +$44.75 / $25 = +1.79R | -$45.50 / $40 = -1.14R after rounding |
Across the two sample trades, the win rate is 50% and the combined net outcome is -$0.75. The mean net R-multiple is about +0.33R because the first trade risked less money. Those metrics answer different questions, and two hypothetical trades cannot establish an edge. A stop at 1.1140 is assumed to fill at that price only for the calculation; actual execution can be worse.
How to use the spreadsheet, step by step
- Save and import. Download the CSV or copy its text, then open it in Excel, Google Sheets or a spreadsheet editor that accepts CSV. Use comma separation and preserve the UTC timestamps as text or dates consistently. Keep an untouched backup of the sample.
- Check formula parsing. The CSV uses the familiar
IF,OR,ABSandROUNDspreadsheet functions. Verify that the six calculated columns (L, M, N, R, S and T) have formulas, not formula-looking text. Some import settings or locales require re-entry or formula separator adjustments. Do not assume a CSV import has calculated correctly. - Verify the sample before entering real trades. The first row should show 50 gross pips, $44.75 net and +1.79R; the second should show -40 gross pips, -$45.50 net and about -1.14R. If any figure differs, stop and review numeric/date parsing, column alignment, commissions and signs.
- Keep the blank starter row. It is the fourth CSV row after the header and two examples. Fill the input cells, then copy its formulas down as needed. Delete the demonstration trades when creating a personal journal. Enter a unique trade ID and record the initial stop before changing the plan.
- Reconcile every closed trade. Compare execution prices and realised P&L against the broker's contract note or statement. If the account is not in USD, or the pair is not EUR/USD, replace the pip-value and conversion assumptions first. Handle partial fills, scaling in or out, and multiple close-outs as separate entries or with a more detailed ledger.
- Review decisions weekly. Group entries by setup, timeframe and whether the plan was followed. Look at net results, error types, costs and losing streaks, not just the largest winner.
The six formulas to copy or audit
For row 2, with the template columns unchanged, the formulas are:
- L2, USD per pip:
=IF(OR(F2="",K2=""),"",ROUND(F2*K2,4)) - M2, signed pips:
=IF(OR(E2="",G2="",J2="",K2=""),"",ROUND(IF(E2="Long",(J2-G2)/K2,(G2-J2)/K2),1)) - N2, gross USD:
=IF(OR(M2="",L2=""),"",ROUND(M2*L2,2)) - R2, net USD:
=IF(N2="","",ROUND(N2-O2+P2-Q2,2)) - S2, initial stop-distance risk USD:
=IF(OR(G2="",H2="",K2="",L2=""),"",ROUND(ABS(G2-H2)/K2*L2,2)) - T2, net R:
=IF(OR(R2="",S2="",S2=0),"",ROUND(R2/S2,2))
These formulas deliberately avoid adding spread as another expense. If a separate slippage or spread estimate is added for process review, label it clearly and do not subtract it twice from the executed fill result. Round only for presentation where possible; broker statements can use more decimal precision and different currency conversion methods.
What to write before entering a trade
A disciplined entry records the setup, market condition, planned stop, target, intended holding time and reason to exit if the thesis fails. For example, “H4 pullback into previous resistance turned support; invalidated on a sustained break below the level” conveys more than “bullish.” A short note about news risk and expected financing is particularly useful for trades held overnight.
Record the planned stop separately from the eventual filled exit. A stop-loss order does not set a guaranteed worst-case loss. Execution and gaps can produce a different fill, and leveraged forex losses can exceed the planned stop-distance risk. The CFTC's retail forex advisory explains why leverage, fees and dealer execution matter. The initial-risk figure in this worksheet is therefore a comparison denominator, not an insurance policy.
How to review the journal without fooling yourself
Look for repeatable mistakes before declaring a profitable strategy. Useful questions include whether the stop was moved, whether entries clustered around high-volatility news, whether overnight financing overwhelmed small moves, and whether similar setups actually behaved similarly across enough observations. Label “plan followed” honestly even when breaking the rule happened to produce a profit.
Use win rate alongside average wins, average losses, costs and risk-normalised outcomes. A higher win rate can coexist with a negative overall return. R-multiples make position-risk differences visible, but they do not turn a short, selective sample into reliable evidence. Include every trade, not just clean screenshots, and compare the journal with official statements for omissions.
Protect account data when using a trading journal
The journal needs trade mechanics and anonymous IDs, not brokerage passwords, API secrets, bank details, identity documents, residential addresses, full account numbers or unredacted statements. Replace account identifiers with private aliases, remove private data from chart screenshots and verify that an automatic trade-import service actually needs the permissions it requests.
Keep locally stored files in a protected device or an encrypted location with secure backups. If using a cloud spreadsheet, restrict access to named collaborators and avoid public link-sharing. Google's spreadsheet protection guidance cautions that protected ranges are not a security measure and can still be copied or exported by those with access. Review sharing settings after collaborating and do not post a live journal publicly without redaction.
Common journal mistakes worth avoiding
- Confusing fills with chart prices: use recorded trade execution prices, not a screenshot of a mid-market quote.
- Mixing pips and account currency: USD-per-pip calculations here are not universal for JPY pairs, crosses, CFDs with different contract units or non-USD accounts.
- Ignoring financing and commissions: a trade held across rollover can lose money even after a small favourable price move.
- Overwriting the original stop: retain the initial plan to assess whether risk rules were followed; add a separate note for changes.
- Keeping only winning examples: missing trades distort hit rate, expectancy and drawdown review.
- Trusting a formula without checking the statement: broker rounding, netting, conversions, partial fills and fees can require reconciliation.
Risk warning: Retail forex trading is leveraged and involves substantial risk of loss. Journal statistics, stop-loss levels and spreadsheet risk estimates do not guarantee a profitable outcome or cap losses. Spreads, commissions, overnight financing, slippage and currency conversion can materially change realised P&L. Use broker-confirmed figures and never risk money solely because a journal metric looks favourable.
Bottom line
The strongest reason to maintain a forex trading journal is accountability. The template makes a trade's planned risk, filled outcome and actual costs visible in one row. Start with a small number of consistent fields, audit the sample calculations, and keep the full trading record. The benefit is clearer review and fewer hidden assumptions, not a promise of improved returns.
FAQs
What should a forex trading journal include?
Record the currency pair, buy or sell direction, size, timestamps, executed entry and exit, original stop and target, strategy, commission, swap, other fees and review notes. A consistent entry reason and plan-followed field help explain decisions that broker statements cannot.
Is this forex trading journal spreadsheet free to use?
The article includes an original CSV with two illustrative EUR/USD trades and a blank row. It can be copied into a spreadsheet at no cost. The embedded download link and formula parsing must be checked after the website imports the article.
How are pips and profit calculated in the sample?
With 10,000 EUR/USD units in a USD-denominated account, one standard pip is worth $1. Gross USD equals signed pips times $1. Net USD deducts commission and other fees, then adds signed swap, which is negative for a debit. Other pairs and account currencies require different conversions.
Does a forex trading journal guarantee better trading results?
No. A journal records decisions and costs so that errors and recurring patterns can be examined. It cannot remove leverage risk, price gaps, execution slippage or the possibility of losing capital. A small sample is not proof of a profitable strategy.
Should brokerage account details be stored in a trading journal?
Use anonymous IDs instead of credentials or full account numbers. Do not store passwords, API secrets, payment details or identity documents. Restrict cloud-file sharing, redact screenshots and keep secure backups.
Why does the journal use net R instead of only win rate?
Net R divides the after-cost result by the initial cash risk estimated from the planned stop and size. It lets trades with different risk sizes be compared, but it is not the realised maximum-risk measure and should be assessed alongside total net dollars, costs and complete trade history.
Chad Powell
Chad Powell has spent more than five years trading Forex and cryptocurrency, building a practical understanding of how markets move and the challenges traders face. He writes about technical analysis, risk management, trading discipline, broker platforms, crypto security, and fraud prevention.