MetaTrader reports one balance for everything you run. If several Expert Advisors are working at once, that single figure cannot tell you which of them earned the money and which quietly lost it.
Strategy Ledger reads your account history, rebuilds every closed position, groups the positions by the Expert Advisor that opened them, and puts the result on one screen. It grades each strategy, states plainly what it thinks and why, and shows its arithmetic so you can check it.
The panel is read-only. It contains no trading code and never places, modifies or closes an order. Its tick handler is empty, it creates no indicators and reads no price data. Everything it shows is derived from history your terminal already holds.
Attach the panel to a chart of its own — any symbol, any timeframe. It draws over the chart, so a dedicated one is more comfortable than sharing.
Load your full history first. Open the Terminal window, go to the History tab, right-click, and choose All history. MetaTrader only keeps in memory what you have asked it for, and the panel can only count what is there. The reconciliation line in the footer will tell you if anything is missing.
No configuration is needed. Names are learned from your order comments, strategies are grouped automatically, and everything can be corrected by hand afterwards.
Three details in the accounting decide what you see, and each is worth understanding before you compare the panel against another tool.
MetaTrader stores orders and deals; closed positions are assembled from them. Strategy Ledger groups deals by position identifier and books a single trade only when the closing volume matches the opening volume. A position closed in six parts counts once, not six times. Trade counts, win rate, expectancy and losing streaks all follow from this.
Some Expert Advisors run several strategies under a single magic number and separate them only by the order comment. Grouping by magic alone would merge them into one row. A strategy here is identified by its magic number together with the comment on its opening deal, so each keeps its own line and its own figures.
The footer compares deposits and withdrawals plus every realised result against the balance your account reports. If the two disagree, the difference is shown rather than hidden. The audit export lists every position with an independent cross-check, so the figures can be verified against your own MetaTrader report.
Two tools reading the same account can disagree simply because one counts partial closes as separate trades. If a figure here differs from one elsewhere, the audit export will usually show which of the two conventions explains it.
The account, its balance and equity, free margin, and a market indicator: green while prices are arriving, red when the market is closed or the terminal is disconnected. A clock that has stopped because it is Sunday should not look like a fault.
Seven readings for the selected period: realised result, unrealised result on open positions, the two combined, profit factor, maximum drawdown, the strongest performer, and the one needing attention. The last two name a row you can go and look at.
Three levels. The first is the Expert Advisor, with its grade and a line describing how many strategies it holds. The second is the individual strategy, with its magic number, comment, last trade date and symbols. The third — click any row — opens a full panel of measures, a breakdown by symbol, a monthly chart, and a written verdict.
Nine columns run across every row: closed positions, win rate, realised result, floating result, profit factor, expectancy, maximum drawdown, recovery factor, and a small equity curve with a drawdown marker beneath it. Narrow the panel and the least essential columns step aside rather than crowding; what a strategy has made never does.
A single statistic cannot describe a trading system, so three are measured and averaged.
Each component is capped before averaging, so a spectacular profit factor cannot paper over a severe drawdown. The result is a score out of 100 and a grade whose colour matches the word.
| Grade | Meaning |
|---|---|
| LOSING | The strategy lost money. This is a fact, not a judgement. |
| WEAK | Score 0–29. |
| FAIR | Score 30–49. |
| GOOD | Score 50–69. |
| STRONG | Score 70–84. |
| EXCEPTIONAL | Score 85–100. |
| UNPROVEN | Fewer than 20 closed positions. Too few to judge, whatever the figures say. |
| UNVERIFIED | The row contains netting reversal deals, where one deal closes a position and opens the opposite one under the same identifier. Trade boundaries cannot be established with certainty, so the row is described but deliberately not graded. Netting accounts only. |
Whether a strategy earns and whether the result is statistically certain are different questions, so they are answered separately. A profitable strategy that has not yet passed the significance test keeps its grade and receives an additional UNCONFIRMED mark.
The strategies inside one Expert Advisor often trade very different sizes, and a single test across all of them is dominated by the differences between them rather than by the edge within them. Group rows therefore combine each strategy's own result weighted by how much it traded, and are graded on the group's actual profit factor and recovery factor.
The grade describes overall performance. These marks each point at one specific thing worth attention, and sit alongside the grade rather than replacing it. A row shows the most serious and counts the rest as +2; open the row to see them all.
| Mark | What it means |
|---|---|
| n OPEN | Live positions held right now, and how many. |
| LOSING | Money has been lost, shown even where the sample is too small to grade. A short record can answer "has this lost money" long before it can answer "does this have an edge". |
| HIDDEN RISK | Live equity has fallen far further than the closed trades ever show. See the next section — this is the most valuable mark on the panel. |
| OPEN LOSS EXCEEDS PROFIT | Unrealised losses now outweigh everything the strategy has ever booked. |
| OPEN LOSS | Unrealised losses are material against what has been earned. |
| DD BREACH | The current fall below the strategy's own high point is deeper than its own trades would ordinarily produce in a different order. Six hundred reshuffles establish what is ordinary. When losses cluster more tightly than chance allows, the cause is usually changed conditions rather than bad luck. |
| DECAYING | The most recent third of trades has produced a meaningfully weaker average than the earlier two thirds. The verdict gives both figures. |
| UNCONFIRMED | Profitable and old enough to grade, but not yet statistically significant. This says the evidence is thin, not that the strategy is poor, and it clears on its own as trades accumulate — provided the edge is real. |
| IDLE n D | Nothing closed for that many days and nothing currently open. A strategy holding a long position is not idle. |
| n LOSING INSIDE | The Expert Advisor is profitable overall but carries strategies that are losing. |
| NO CLOSED TRADES | Nothing closed in the selected period, though positions may be open. |
A report built only from closed trades will describe a strategy that holds losers and closes them near breakeven as though nothing had happened. The closed figures look immaculate, because the loss was never realised.
Strategy Ledger samples the live value of every strategy while it runs and records the worst fall from its own high point. Where that live drawdown runs far beyond anything the closed trades show, the row is marked HIDDEN RISK and the detail panel gives both figures side by side.
A row with nine closed trades averaging a small loss cannot produce a large drawdown by booking losses. If its equity drawdown is many times its closed drawdown, the money went somewhere the closed figures never saw — positions taken deep underwater and waited out. That is worth knowing before you size up.
Costs are reported separately rather than as one total, because they call for different responses: frequent trading raises commission, long holding periods raise swap.
Slippage is reported as two figures for the same reason.
Every slippage figure carries the number of events behind it. A large total over few events means something different from the same total spread over hundreds.
Slippage on stop orders is largely inherent to breakout entry rather than evidence of poor execution: a stop becomes a market order the moment it triggers, so the fill lands wherever the book is. It is a real cost, but it is a cost of the strategy's design.
Names are read from deal comments, and Expert Advisors are grouped by stripping symbol names and trailing numbers from those comments. That works often but not always, so every part of it can be overridden. Changes save immediately and return next session.
| Action | How |
|---|---|
| Combine strategies | Tick several rows, press G |
| Move a strategy | Drag it onto an Expert Advisor row |
| Merge two EAs | Drag one onto the other |
| Rename | Click any name and type |
| Hide a row | Click the cross at its right, or tick rows and press X |
| Separate a group | Press U |
| Show what is hidden | Press H; restore everything with J |
Hiding a row adjusts every total, so it is a way of asking "what would this account look like without that". Rows hidden in the EA view stay visible in the symbol view, because the two views answer different questions.
If one strategy runs under two magic numbers, Merge identical comments will treat the same comment as one strategy regardless of magic. The exception list keeps chosen comments apart and accepts a trailing asterisk as a wildcard.
By Expert Advisor is the default: each row is one EA, expanding it shows the strategies inside. By symbol — press V — makes each row an instrument and shows every strategy trading it. That answers a question the first view cannot: whether the losses are concentrated in one market.
The data and the totals are identical in both.
MTD, YTD, 30 days, 90 days, 12 months, all history, or a custom range from the calendar (D). Keys 1–6 select them directly.
A position falls into a period by its closing time by default, which is when the money was actually booked. The Period basis setting switches this to opening time if you would rather see when an Expert Advisor was working.
| Export | Contents |
|---|---|
| E Measures | Every statistic for every row: all the columns, the costs, slippage, the score and the verdict. Includes net_win, net_loss, raw_gross_profit and raw_gross_loss. |
| A Audit | Every closed position individually — open and close times, magic, comment, strategy, symbol, lots, gross, commission, swap, net, deal count, and whether it was in scope or hidden. |
The audit is the file to check the panel against your own MetaTrader report, and the file to attach if you ever report a problem. It contains everything needed to reproduce what you are seeing.
The long-standing gross_profit and gross_loss columns hold
net outcomes and keep their names for compatibility with existing parsers. Treat them as
legacy; the correctly named columns sit beside them.
| Overrides | Manual names, written magic|comment=Name |
| Learn names from deal comments | On by default |
| Group magics into EAs | On by default |
| Merge identical comments | Off by default |
| Exceptions to merging | Semicolon-separated, trailing * allowed |
| Show magic 0 | Includes manual and mobile trades |
| Period basis | Count a position by close time or open time |
| Period on first start | Which tab is selected the first time |
| Default sort | The column used on load |
| Theme | Night or day (T toggles) |
| X / Y offset | Position on the chart |
| Width | 1400 by default, or drag the corner grip |
| Table height | 680 by default, or the grip, or [ ] |
| Remember layout | Stores theme, size, sort, period and view |
| Shrink to fit the chart | Keeps the panel inside the chart area |
| Live clock | Shows seconds and refreshes each second |
| Statistical verdicts | On by default |
| Minimum trades | 20 closed positions before grading |
| Simulation runs | 600 reshuffles per row for the drawdown estimate |
| Track equity drawdown | On. Samples live value per row — this is what powers HIDDEN RISK |
| Losing threshold | Profit factor below which a strategy is marked losing. Default 1.00 |
| Idle days | Days without a close before the idle mark. Default 30 |
| Automatic export | Writes the measures file on every refresh |
| Text size | 0 for automatic, or 0.40–1.50 to set it by hand |
| Detailed log | Prints timings and accounting checks to the Experts tab |
| Adopt earlier equity history | One-time, for upgraders — see Limitations |
| 1–6 | Select the period |
| D | Open the date calendar |
| V | Switch between EA and symbol views |
| T | Day / night theme |
| G | Combine the ticked rows |
| U | Separate a group |
| X | Hide the ticked rows |
| H | Reveal hidden rows |
| J | Restore every hidden row |
| A | Export the audit |
| E | Export the measures |
| R | Rescan history |
| [ ] | Shorter / taller table |
| Esc | Clear the selection |
| Home PgUp PgDn | Scroll |
Stated plainly, because a tool that hides its limits cannot be trusted with the rest.
A trade opened in March and closed in July counts in July. Change Period basis to opening time if you would rather see when an Expert Advisor was running.
Risk carried on positions still open is reported separately, through the equity readings and the HIDDEN RISK mark, rather than folded into that column.
It is valued at the symbol's current tick value rather than the value at the moment of the fill, and is labelled accordingly. Entry slippage can only be measured where the order named a price; Expert Advisors entering at market give nothing to compare against.
On a netting account, one deal can close a position and open the opposite one under the same identifier. Splitting that cleanly into two trades is not yet implemented, so affected rows are marked UNVERIFIED and left ungraded rather than reported as if the boundaries were certain.
Names, groups, hidden rows, layout and equity-drawdown history are stored separately for each account and server. Settings from before version 5.4 are copied across automatically on first run, and the originals left in place as a backup. Equity-drawdown history deliberately starts fresh: importing another account's high-water mark would report a drawdown that never happened. Adopt earlier equity history exists for the case where you know the old record belongs to the current account.
If an Expert Advisor writes a different comment on every trade, each variant forms its own row. Numbers and order references are stripped automatically; anything unusual can be grouped by hand.
| Symptom | Cause and cure |
|---|---|
| Reconciliation shows a difference | Usually incomplete history. Terminal → History tab → right-click → All history, then press R. If it persists, the audit export will show which day the difference enters. |
| Trade counts differ from another tool | Most likely partial closes. This panel books one trade per position; tools that count closing deals report more. The audit export shows the deal count behind each position. |
| One EA appears as many rows | It writes a varying comment. Tick the rows and press G, or set a name override. |
| Text too large or too small | Set Text size between 0.40 and 1.50. Leave at 0 for automatic. |
| Panel wider than the chart | Enable Shrink the panel if it overflows the chart, or drag the corner grip. |
| A row is graded UNVERIFIED | It contains netting reversal deals. The figures are shown but not graded; see Limitations. |
| Equity drawdown reads zero days | Tracking starts when the panel first runs on that account. The figure becomes meaningful after a few days of sampling. |
| Something else | Attach the audit export to your report. It contains what is needed to reproduce the problem. |
Questions, suggestions and problem reports are welcome in the product comments or by private message. When reporting a problem, please attach the audit export and say which version you are running — the panel prints it in the header, beside its name.