Trading Journal
Log your trades and see what your record actually says: a P&L calendar, a score across seven dimensions, your cumulative curve, R-multiples, expectancy and which setups, sessions and weekdays make or lose you money. No account, no upload, nothing to cancel.
By Joey van Diest, founder and editorUpdated
Your dashboard is empty.
Add your first trade to populate the tiles, calendar, score and curve below.
Journal score
seven dimensions, 0-100 · every rule shown belowAdd a trade
By setup
By session
By weekday
Trades
| Date | Instrument | Dir | Setup | P&L | R |
|---|
Backup & transfer
The JSON file is your real backup. The string is for moving a journal to another browser or device.
What the numbers mean
P&L = (exit − entry) × size × direction − fees
R = P&L ÷ (|entry − stop| × size)
expectancy = mean R · profit factor = gross profit ÷ |gross loss|
Expectancy is the single most useful figure here: the average R across your trades. Positive means the edge is real over the sample; negative means it is not, regardless of how the last few trades felt. Profit factor answers a related question in cash: how many dollars you made for each dollar lost, where anything above 1 is profitable and above about 1.5 is genuinely healthy. Win rate is the number traders quote and the least informative on its own, a 35% win rate at 3R is far better than 70% at 0.3R.
How the Journal Score is built
The score is our own composite, built around the metric this journal cares about most, expectancy. It is the plain average of seven sub-scores, each mapped to 0-100 by a fixed rule shown next to the radar, with no hidden weighting. Win rate scores 100 at 50% (2 x win rate). Profit factor scores 100 at 2.0. The payoff ratio, average win over average loss, scores 100 at 2.0. Expectancy, your mean R, scores 100 at +0.5R; when no trades carry a stop it cannot be computed and is left out of the average rather than counted as zero. Recovery factor, net profit divided by the largest drawdown, scores 100 at 3.0. Drawdown control scores from how small your worst peak-to-trough dip was relative to your equity high, so a shallow drawdown scores near 100. Consistency is the share of your trading days that finished green. Each sub-score is capped at 100, the available ones are averaged, and below about ten trades the headline is greyed because a score off a handful of trades is noise. It is a summary of what you already entered, not a verdict, and nothing about it is proprietary.
On sample size
Be careful reading anything from a handful of trades. Twenty trades tells you almost nothing: the swing between a 40% and 60% win rate over twenty samples is ordinary luck. Expectancy estimates only start to firm up over a hundred or more trades, and breakdowns by setup need that many per setup before they mean much. Therisk of ruin simulatorshows how wide the range of outcomes is even when an edge genuinely exists, which is the best antidote to over-reading a small journal. Feed your measured win rate and average R into therisk/reward calculatorto check the edge is real, and size with theposition size calculatorso no single trade can end the experiment early.
Frequently asked questions
- Where is my data stored?
- In your own browser, in IndexedDB, on the device you are using. It is never uploaded, because there is no account and no server component to upload it to. That is also the trade-off: the journal is not synced between your phone and your laptop, and it is not backed up anywhere unless you export it. Use the JSON export as your real backup.
- Can I lose my trades?
- Yes, and you should plan for it. Clearing site data or "cookies and other site data" in your browser deletes the journal. Private or incognito windows discard it when you close them. Browsers can also evict storage under heavy disk pressure. None of that is recoverable by us, we do not have a copy. Export to JSON regularly; it takes one click.
- How is the Journal Score calculated?
- It is our own composite: the plain average of seven sub-scores, each mapped to 0-100 by a rule stated on this page and shown beside the radar: win rate, profit factor, payoff ratio, expectancy, recovery factor, drawdown control and consistency. It is built around expectancy, the metric this journal is designed to surface. No weighting is hidden and nothing is proprietary. Below about ten trades the headline number is greyed out, because a score built on a handful of trades is noise, not signal.
- What is an R-multiple and why does it need a stop?
- R expresses a result in units of what you risked: a trade that made twice what you stood to lose is +2R. It is computed as profit divided by |entry - stop| x size, so without a recorded stop there is no risk figure and no R. Trades with no stop still count toward P&L, win rate and profit factor, but are excluded from R statistics rather than being given an invented risk.
- Does it import my broker statement?
- Not through this page. Trades are entered manually here, which in practice is not the drawback it sounds like: writing the trade down, with the setup and a note, is most of the value of journalling. If you want to load a broker file, the statement analyzer is a separate tool.
Method and limitations
Your journal is stored in this browser using IndexedDB and is never transmitted: there is no account, no server-side database and no analytics on your trade data. That is a structural fact of how the page is built, not a policy promise. The consequence is that clearing site data, using a private window, browser storage eviction or switching device will lose the journal, and we hold no copy to restore. Treat the JSON export as the backup. Statistics and the Journal Score are computed from what you enter; trades without a recorded stop are excluded from R-based figures rather than assigned an assumed risk. This is a record-keeping tool, not trading advice.
This tool runs entirely in your browser. Nothing you enter is sent to us or stored.
For general information and education only. This is not financial advice and not a recommendation to buy or sell anything. Trading and investing carry risk, including the risk of losing more than your initial outlay. Always verify figures against your broker or the original source before acting on them.
Spotted an error? Email[email protected]and it will be corrected. Maintained byJoey van Diest.