YOUR DATA · NO SIGN-UP · LOCAL CALCULATIONS
Turn a trading journal into a useful review
Import closed trades, check the data, and see where your net results came from. Compare pairs, setups and sessions using one consistent definition of R.
This module reads files in your browser and does not upload transactions. It does not save the journal between visits. Download any results you want to retain. This statement concerns this tool’s handling of inputs; the site’s general privacy policy covers its other scripts.
Start with a CSV
Export closed trades with headers. Supported: comma, semicolon, tab or pipe separators, quoted fields and escaped quotes. Maximum 5 MB, 200 columns and 20,000 trade records. Aggregate partial fills consistently before import.
No journal loaded. The demo is invented for learning, not a strategy track record.
Map columns, units and order
Guesses are suggestions. Check every selection against your export. Map either net R or both net P&L and initial monetary risk. Optional columns improve the review; “Not mapped” creates an Unspecified group.
Mapped dates must use ISO format, such as 2026-10-01 09:30 or 2026-10-01T09:30:00+02:00. Dates without an offset are interpreted as UTC. Session labels come from your CSV; the tool does not infer them from the clock.
Preview the first five CSV records
Your sample, after costs
Sequence matters
Horizontal axis: closed-trade number in the selected order. Drawdown is measured from the running peak, including the starting point.
Where did the results come from?
Keep or share the review
The anonymous JSON report contains aggregate R statistics and aliases for every group. It removes original labels, dates, IDs, currency and monetary amounts. Statistical patterns can still be distinctive; inspect the downloaded report before sharing it.
Trade and curve CSV exports contain your data and are not anonymous. Trade IDs are omitted, but original group labels and mapped close dates remain in the trade export. Numeric spreadsheet formulas in imported text are neutralised on CSV export.
Next: test the sequence under different risk and cost assumptions →
Definitions you can audit
One R is the initial monetary risk assigned to that trade before entry. Net R = realised net P&L ÷ that initial risk. Initial risk must be positive. The tool does not deduct another estimated cost: importing gross values and calling them net would overstate performance.
Win rate = positive-R trades ÷ all included trades, including exact zero results. Sample expectancy is the arithmetic mean of included net R. Profit factor = sum of positive R ÷ absolute sum of negative R. With no negative R, the ratio is undefined; the tool does not replace it with an arbitrary large number. Monetary profit factor may differ when initial risk varies.
Cumulative R sums trade R values in order. It is a standardised performance curve, not the actual balance of a varying-risk account. R drawdown = running peak of cumulative R − current cumulative R. If every included trade has net monetary P&L, realised balance = starting balance + cumulative P&L; its drawdown percentage uses the corresponding running monetary peak. Cash flows and unrealised P&L are outside this reconstruction.
Check a three-trade example: +2R, −1R, 0R gives N = 3, win rate = 33.33%, mean = +0.333333R, profit factor = 2, cumulative R = +1R and maximum R drawdown = 1R. At net P&L of +200, −100, 0 and a starting balance of 10,000, the last balance is 10,100; maximum monetary drawdown is 100 / 10,200 = 0.980392%.
Data checks: malformed quoting stops parsing. Wrong field counts, invalid mapped numbers, nonpositive initial risk, invalid mapped dates and inconsistent mapped currencies are rejected per record. If a record-state column is mapped, only completed rows are eligible; planned records are excluded even if they contain hypothetical numbers. When net R, P&L and risk are all mapped, discrepancies above 0.005 R are rejected; the tolerance allows rounding to two decimal places. Duplicate mapped trade IDs retain the first valid occurrence. Without an ID mapping, duplicates cannot be reliably detected. Rounding to zero changes win/loss classification; export sufficient precision.
Interpretation: these are descriptive statistics for the selected sample. They do not establish a persistent strategy edge. Comparing many groups can produce attractive results by chance. Groups under 30 trades are marked as small samples for review; 30 is a display cue, not a statistical guarantee. Dependence between trades, missing costs, selection bias and changing regimes can dominate the result. Displayed values are rounded; downloads retain the computed numeric precision.
Method version 1.0.0 · 26 October 2026. Cite: ForexMechanics, Trading journal CSV analyzer, version 1.0.0, with your data definition and inclusion rules. Related: journal metrics and R-multiples, journal spreadsheet and CSV specification, strategy testing protocol.