Strategy Ledger Pro
User Manual
Reading your account, honestly
Pro  ·  read-only  ·  covers v1.70  ·  revised September 2026
  1. What it does
  2. Getting started
  3. How the figures are built
  4. Reading the screen
  5. Grades and scoring
  6. The marks beside a grade
  7. Risk the closed trades hide
  8. Costs and slippage
  9. Organising strategies
  10. Views and periods
  11. Strategy Tester reports
  12. Exports and the audit
  13. Settings
  14. Keyboard
  15. Limitations
  16. Troubleshooting

01What it does

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 Pro 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 one guarantee

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.

What Pro adds

Everything in the free Strategy Ledger is here — the rows, the grades, the marks, the verdicts, the exports. Pro adds the things that only make sense once an account has more than a handful of rows:

FeatureWhere
Correlation — which rows move together, by EA, strategy or symbolCORRELATION in the header — see Reading the screen
Grade history — every row's grade month by month, rebuilt from your own recordThe strip under the monthly chart of any expanded row
Magic box — take a magic or a lot tier off the board and be told what it was worth; declare a magic one strategyIDENTITY in the header — see Organising strategies
Compact view — about twice as many rows on screenC, or the footer switch
In-panel guide and one-click screenshotsThe i in the footer, the camera in the header

02Getting started

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.

03How the figures are built

Three details in the accounting decide what you see, and each is worth understanding before you compare the panel against another tool.

Positions are counted, not deals

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.

A magic number is not always one strategy

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.

Everything reconciles to your balance

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.

A signal subscription is one strategy

Trades copied from an MQL5 signal arrive with a very large magic number and, often, a comment that changes from trade to trade. Read naively that is one row per trade. The panel recognises signal trades and keeps them together as a single strategy, named after the comment with the signal number appended — Gold Signal #1234567 — so a subscription reads like any other row. Treat an MQL5 signal's trades as one strategy in the settings turns this off.

Why this matters

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.

04Reading the screen

The header

The account, its balance and equity, free margin, and a feed indicator. The indicator answers one question — can the numbers on this screen be trusted right now? Only figures derived from live quotes can go stale: floating result, exposure, equity and free margin. Everything realised comes from closed deals and is never stale.

The version is printed beside the wordmark. Below the account line runs the control band: the period tabs on the left, and on the right, in groups separated by faint rules — HIDDEN n / SHOWING n (how many rows are off the board, and the switch that reveals them, with RESTORE ALL beside it while revealing); EA | SYMBOL (the view); IDENTITY; CORRELATION; AUDIT and CSV (the two exports); and the camera. When rows are ticked, GROUP n and HIDE n appear for the action you are in the middle of, and the tab strip gives way to them rather than the reverse.

StateMeaning
LIVEEvery symbol you hold a position in is quoting. Everything on screen is current.
PART LIVESome are quoting and some are not — crypto on a Sunday while the FX session sleeps. Part of your floating figure is live and part is Friday's.
CLOSEDYou hold positions and none of their symbols are quoting. Floating figures are frozen at the last close.
FLATNothing is open, so nothing can be stale and no claim is made.
OFFLINEThe terminal has lost its connection. A different problem, and the one worth acting on.

The clock beside it shows the last server time heard, and dims when it has stopped. A CLOSED reading next to a clock that is still moving is normal: your broker is quoting something, just not what you are holding.

The summary strip

Seven readings for the selected period: realised result, unrealised result on open positions, the two combined, profit factor, maximum drawdown, the strongest performer (BEST EA, or BEST SYMBOL in the symbol view), and the one needing attention (NEEDS REVIEW). The last two name a row you can go and look at.

MAX DRAWDOWN here is the account's, rebuilt from the full deal record. Deposits, withdrawals, credits and bonuses move the peak rather than the drawdown — taking money out at the top of the curve is not a loss — so what remains is what trading did. Commission, swap, dividends and corrections are results, not flows, and stay in the curve. The percentage is taken against the peak as it stood when the drawdown was deepest. When the identity box has taken a magic out the curve carries only what the filter admits.

Below the table, the facts strip carries what the period cannot: lots at risk this moment (EXPOSURE), the result of manual and mobile trades (MANUAL), and the share of all gains the strongest row produced (TOP EA, or TOP SYMBOL in the symbol view) — a concentration reading: 80% of gains from one row is one row carrying the account.

The table

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.

What moved today

A rail down the left edge of any row whose realised figure has changed since the server day began — green up, red down — with the amount beside it on Expert Advisor rows. Rows that have not moved carry nothing, so the rail is something to scan for rather than decoration. It is measured from the day boundary rather than from when you last opened the panel, so it reads the same for everyone and needs nothing remembered between sessions. It is not shown on the TODAY tab, where it would only repeat the realised column.

Compact rows

C, or the DETAILED / COMPACT switch in the footer, halves the row height — dropping the second line under each name and the equity curve at the right. Roughly twice as many rows fit, and because the curve is the most expensive thing on a row the fuller screen draws slightly faster than the emptier one. The setting is remembered.

The eye at the end of a row

Point at any row and a faint eye appears at its right-hand edge; click it to take that row off the board. Hidden rows keep the eye showing permanently, in amber, so it doubles as the control that brings them back. On an Expert Advisor it applies to all of its strategies at once.

Hidden rows are marked rather than merely dimmed: an amber rail down the left edge, a darker fill, and a note reading HIDDEN — CLICK THE EYE TO RESTORE. An Expert Advisor whose strategies are all hidden shows no figures at all — it has none, and printing zeros would say it made nothing, which is a different claim. Those rows sink to the foot of the table, because a row with no figures cannot be sorted by them and would otherwise drift about as the rows around it earned and lost.

Screenshots

The camera in the header saves a picture of the panel — exactly as it appears, popovers and all — as a PNG under \Screens\, stamped like the CSV exports so a screenshot and an export taken together sort side by side. Nothing is highlighted in the image and no confirmation appears in it; both would be artefacts of taking the picture rather than part of the panel.

Correlation

Every row on the panel is judged on its own, so several Expert Advisors can each look healthy and still be several versions of the same bet. When that bet goes wrong they all go wrong on the same afternoon. CORRELATION in the header is the one place the panel compares rows against each other rather than scoring them separately.

It answers a single question: which rows move the same way on the same days? Each row's closed trades are added up day by day, and two rows are compared across the days they both traded — days only one of them traded are excluded, because a day the other sat still is not evidence of anything. The result is the Pearson correlation coefficient, the standard statistical measure of how two series move together.

ReadingMeaning
+1identical — the two rise and fall together
0unrelated — one tells you nothing about the other
−1opposite — one tends to be up when the other is down

The conventional strength bands are very weak below 0.20, weak to 0.40, moderate to 0.60, strong to 0.80 and very strong above it. They read the size of the number, so −0.80 is as strong a link as +0.80 pointing the other way.

The list runs from the most correlated down, because concentration is the risk the feature exists to surface; two rows that offset each other are the opposite of a problem. The strongest pairs moving in opposite directions are kept below a rule so they are not lost off the end.

A toggle inside the box switches between EA, STRATEGY and SYMBOL. The same arithmetic, three questions: whether your robots are one bet, whether one robot's internal diversification is real, and whether several instruments are really one market.

Only the twenty busiest rows are compared, and a pair needs at least as many shared trading days as the minimum-sample input before it is listed at all — a confident figure drawn from six overlapping days is worse than no figure. The calculation runs when the box is opened and at most once a day thereafter, so it never touches the redraw; hiding a row, filtering a magic or switching view refreshes it, because each changes which trades are in scope. The ? inside the box explains all of this on screen.

Grade history

Expand a row and a strip of coloured blocks appears beneath the monthly chart, on the same months as the bars above it. Each block is that row's grade, so a slide from green through amber is decay you can see rather than infer.

The blocks are cumulative: each one is the grade calculated on everything the row had closed up to the end of that month, not that month judged alone. A single month rarely holds enough trades to grade at all. This is why a row that is Exceptional today can show grey early blocks — grey means too few trades to judge yet, not a bad month.

Months that passed before the panel was installed are reconstructed from your trade record using the same calculation the live panel uses, so the strip is populated from the first run. A month the panel has actually watched is never overwritten by a reconstruction of it. The reconstruction walks every trade on the account rather than the selected period, so the strip is the same whichever tab is open, and it re-runs when a trade closes — the current month is the one block that can still change. A month the row did not trade carries the previous month's grade forward: a cumulative standing does not lapse because nothing closed.

The guide

The small i at the right of the footer opens a card showing each mark beside its name — the keel, the two rails, the triangle, the eye, the five feed states — with the column abbreviations and the full keyboard list. It does not repeat the badges, because every badge on a row is already explained in that row's own verdict, in words and with that row's own figures in the sentence.

Expanded rows stay anchored

Open an Expert Advisor with many strategies and scroll: its own row pins to the top of the table while its strategies pass underneath, so you always know whose figures you are reading. The pinned row is the real row — every column, and its tick box, collapse and hide all work from there. Collapsing from it returns you to where that row actually sits.

05Grades and scoring

A single statistic cannot describe a trading system, so three are measured and averaged.

Confidence
t = 3
Is the edge real, or could it be chance? Full marks at a t-statistic of 3.
Profitability
PF 2.00
What it wins against what it loses. Full marks at a profit factor of 2.
Resilience
RF 3.00
Return per unit of loss endured. Full marks at a recovery factor of 3.

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.

What the score is, and is not

It is a ranking heuristic — three measures averaged and then capped by open risk. It is not a probability of success, a probability of profitability, or a calibrated statistic of any kind. Two strategies scoring 70 and 50 are ordered; the gap between them is not a quantity with meaning. Read the grade and the verdict, and treat the number as a sort key.

GradeMeaning
LOSINGThe strategy lost money. This is a fact, not a judgement.
WEAKScore 0–29.
FAIRScore 30–49.
GOODScore 50–69.
STRONGScore 70–84.
EXCEPTIONALScore 85–100.
UNPROVENFewer than 20 setups (see below). Too few to judge, whatever the figures say.
UNVERIFIEDThe 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.

Trades that closed flat

A position that closes at nothing is neither a win nor a loss, and is counted as neither. Where a strategy has any, the wins and losses cell reads 8 / 3 / 2be. Folding them into the loss column would inflate the loss count, extend the losing streak, enter the average-loss denominator and lower the win rate — for trades that cost nothing.

Why a parent row is not an average

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.

Read the combined figure with care

Combining strategies this way treats each one as separate evidence. Strategies under a single Expert Advisor frequently do not move independently — several variants of one idea, or several strategies on one instrument, tend to win and lose together. Where that is true the combined figure reads stronger than the underlying edge really is, because correlated copies of one result are being counted as several findings. For this reason a parent row shows its figure marked combined and is never described as statistically significant. The verdict says so outright where the number is strong.

Setups — what counts as one trade

Every closed position is one row in the history, but not every position is one decision. An EA that opens four positions on one signal with four take-profits made one decision; a grid that opens forty as a basket made one. Statistics grows more confident the more independent observations it has, so counting those as four or forty overstated everything that expresses confidence. The panel therefore counts setups: positions of one magic number and symbol opened within a short window of each other are one setup (a setting, 60 seconds by default, 0 turns it off). Positions closed within the window are one setup too, but only when they form a basket — same direction, entry prices stepping in one order, the way a grid adds rungs — so a grid closed as a basket is one setup, while independent trades a weekend filter shut together stay separate.

Money is never touched by this — realised, wins and losses, drawdown, pips all count positions, because that is what happened. What changes is the N behind the confidence figures: the t-statistic, the minimum-trades gate, the grade, the score, the UNCONFIRMED and HIDDEN RISK gates. The detail shows SETUPS — 19 of 76 trades where the two differ — and the verdict says so in words. A strategy that trades one position per decision sees nothing move. A basket EA may lose an EXCEPTIONAL badge it never earned; the badge is being right for the first time on that row. The Monte Carlo drawdown still reshuffles positions and therefore still reads gently for baskets.

06The marks beside a grade

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.

MarkWhat it means
n OPENLive positions held right now, and how many.
LOSINGMoney 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 RISKLive equity has fallen far further than the closed trades ever show. Measured only while the panel is attached and the terminal open — it cannot see drawdowns from before it was installed or while it was away. See the next section — this is the most valuable mark on the panel.
OPEN LOSS EXCEEDS PROFITUnrealised losses now outweigh everything the strategy has ever booked.
OPEN LOSSUnrealised losses are material against what has been earned.
DD BREACHThe 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.
DECAYINGThe most recent third of trades has produced a meaningfully weaker average than the earlier two thirds. The verdict gives both figures.
UNCONFIRMEDProfitable 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 DNothing closed for that many days and nothing currently open. A strategy holding a long position is not idle.
n LOSING INSIDEThe Expert Advisor is profitable overall but carries strategies that are losing.
NO CLOSED TRADESNothing closed in the selected period, though positions may be open.

07Risk the closed trades hide

The problem with every history-based report

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 Pro samples the live value of every strategy while it runs and records the worst fall from its own high point. This only covers time the panel was actually attached with the terminal open — nothing is reconstructed for the period before it was installed, and days it was away are not counted. 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.

Two cells, side by side

Open a row and you will find two drawdown estimates next to each other. They answer different questions and the gap between them is often the finding.

CellWhat it is
EQUITY DDMeasured. The worst fall in that strategy's live value — its closed result plus whatever its open positions were worth — recorded as it happened. The number beside the label is how many days have been watched.
MONTE CARLO 95%Modelled. The strategy's closed trades are shuffled into six hundred different orders and the worst dip recorded for each; this is the figure 95% of those orders stayed within. It says how bad an unlucky sequence of the same trades could have been.

Monte Carlo is built from closed trades alone, so it cannot see money that went underwater and came back. On a strategy that holds its losers it will always look reassuring. When the measured figure towers over the modelled one, that difference is the risk the closed record cannot express — and it is why the two sit together rather than one replacing the other.

The reverse is also worth reading. Where a strategy's actual worst drawdown exceeds the modelled figure, its real sequence was unluckier than 95 out of 100 reshuffles of its own trades — which is not bad luck but losses arriving in runs. The verdict says so when it happens.

Equity drawdown only accumulates while the panel runs

It cannot be reconstructed afterwards. MetaTrader records your trades but not what your account was worth between them, so there is no way to work out where equity dipped last Tuesday — it has to be watched as it happens. That is precisely why it catches what the closed record misses, and it means the figure covers only the time the panel was attached and the terminal open. The day count beside the label is time actually watched: if the panel is away for a week, that week is not counted.

Where nothing has been observed yet the cell shows a dash rather than a zero. A zero would read as no drawdown when it means nothing seen.

08Costs and slippage

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.

Worth understanding

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.

09Organising strategies

Names are read from deal comments. Expert Advisors are grouped by stripping symbol names and instance numbers from those comments — ORB Master_DAX_A and ORB Master_DAX_B sit under one EA. A suffix that is a timeframe or a version is kept, because it is part of the name: Aureus AI M15 stays Aureus AI M15 and Gold Sparrow v1.4 keeps its 4. That works often but not always, so every part of it can be overridden. Changes save immediately and return next session.

ActionHow
Combine strategiesTick several rows, press G
Move a strategyDrag it onto an Expert Advisor row
Merge two EAsDrag one onto the other
RenameClick any name and type
Hide a rowClick the eye at its right, or tick rows and press X
Separate a groupPress U
Show what is hiddenPress 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.

A hidden row is out of its Expert Advisor's figures whether or not you are revealing hidden rows. Pressing H changes what you can see, never what is counted. Revealed rows are drawn dimmed, with an amber rail and a mark reading HIDDEN — CLICK THE EYE TO RESTORE.

A grouping decision moves as a unit

When you drop a row onto an Expert Advisor, or merge two, every row involved is pinned to that EA by name — the rows already in it as well as the one you moved. The group then survives a change to the automatic naming rule intact, instead of the automatic rows moving to a new name and the pinned ones staying behind under the old one. The cost is that the EA's name no longer follows rule improvements; you chose the grouping, so it holds. To release it, tick the rows and press U.

These decisions live in MQL5\Files\StrategyLedger_<server>_names.csv, one file per server. If a grouping ever looks wrong and U does not clear it, that file is where the answer is — and turning on Detailed log makes the panel print which rows took their EA from the file rather than from the rule.

The identity box

The IDENTITY button opens a list of every magic number on the panel, sortable by any column, each one tickable to take it off the board. It exists because a magic number does not always correspond to a row you can point at: one magic can carry several comments, and those can sit under different Expert Advisors, so there may be no single row to hide.

Untick one and it says what was removed and what it was worth — taken out 3 magics, 412 rows, −1,240.50. That is the point of the tool. Removing rows is what hiding already does; filtering answers what the board looks like without a magic, and the figure tells you.

The header's MAX DRAWDOWN follows the identity box: with a magic taken out, the curve is rebuilt from the remaining trades plus the cash flows that set its level, so the figure belongs to the selection rather than to neither the selection nor the account.

Identity: by comment, or one strategy

Each magic carries a switch in the box's last column. BY COMMENT is the rule the panel applies on its own — a strategy is a magic together with its comment. ONE STRATEGY is your word that this magic's comments are noise: an EA that writes diagnostics into the comment, or a grid whose comments differ only by 1/8, 2/8. Flip it and every comment under that magic shares one row, named after the magic's most-traded comment. The switch is a decision and is remembered while Remember layout is on (it lives with the layout). It is not offered for a signal, whose trades are already one strategy by the signal rule. Names, hides and groupings you set on the individual comment rows do not carry over to the merged row; it starts with a fresh automatic name. Manual trades (magic 0) have no strategy and no switch.

Two scopes sit side by side in the box, and the headers say which is which: ROWS counts the period; NET (ALL) is the magic's trades over all history, hidden rows included, however the rows are labelled. Flipping the identity switch never moves it. The board is a different matter: it shows rows and obeys the eye, so a comment you had hidden comes back into the merged row's figures when you merge — the merged row is a new row, and hiding it is a separate click.

Lot tiers

Open any magic and, beneath each of its comments, that comment's lot tiers: each distinct entry lot size, smallest first, with trades and net. A tier belongs to a comment, so the same size under two comments is two tiers and can be taken off separately. On a grid that is the ladder itself, and the net beside each rung says where the loss lives before you touch anything. Each tier is tickable and comes off the board like a magic; the same taken out line then reports tiers, trades and money removed. Read the improved row and that line together — a grid whose large lots are excluded will always look better, because the large lots are where a grid keeps its losses. Tiers are a lens like the identity box: not saved, and cleared by SHOW ALL. A magic with more than twelve distinct sizes is sized by risk rather than by ladder, and the box says so instead of listing them.

Click a magic to open it and see each comment with its own row count and result. Columns sort — click a heading, click again to reverse.

Filtering is not hiding

Hiding is a decision about your board: it is per view, it is saved, and it survives restarts. Filtering is a lens you look through: it applies in both views at once, it is not saved, and it is gone when you next attach the panel. Neither puts anything into the other's list, and the HIDDEN count never counts a filtered magic.

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.

10Views and periods

Three views

Three views, EA | SYMBOL | MAGIC in the control band; V cycles them.

By Expert Advisor is the default: each row is one EA, expanding it shows the strategies inside. By magic makes each row the number the EA sent, with its comments as the strategies underneath — nothing merged, nothing hidden, the raw identity the terminal recorded, which is where to look when an EA's comments are doing something odd. The magic box's decisions (one strategy, promotions, tiers) apply here as everywhere. By symbol — click SYMBOL — 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 all three.

Fixed-lot mode

A switch in the footer beside DETAILED / COMPACT: REAL, or AT 0.01 LOTS (the size is a setting). On, every closed trade and every open position is rescaled as if it had been placed at that one size. A grid's ladder goes flat, which shows whether the entries had an edge or only the sizing did; a signal you would copy at a smaller size shows what it would have paid at that size. It is a lens, not a record: nothing is saved, grade history and equity tracking pause while it is on, the export does not run, and it is off every time the panel is attached. Because every money figure on screen is then a what-if, the panel says so wherever money is read — the REALISED heading and the first summary cell read AT 0.01 LOTS, the reconciliation line reads not reconciled, and the switch is amber.

Pips

Every row's detail carries PIPS and PIPS / TRADE: each position's average exit against its average entry, signed by direction, summed for the period. A pip is a point on 2- and 4-digit quotes and ten points on 3- and 5-digit ones, the convention the MQL5 signal pages use. It is the one figure that does not depend on how big the trades were, so it reads the same at any lot size and in fixed-lot mode. Neither figure equalises risk across instruments: fixed lots equalise size, pips equalise nothing but the price move, and 0.01 lots of gold is not the same bet as 0.01 lots of EURUSD. Reversals (a position flipped in one deal) carry no figure. The CSV export has it as its last column.

Identity and the equity record

A row's equity drawdown is recorded under its identity key. Switching a magic to ONE STRATEGY gives the merged row a new key and therefore a fresh record — the day count starts again — and switching back returns the old one. Each identity keeps its own history.

Periods

Eight tabs in three clusters, each ascending. TODAY · MTD · YTD run from the start of a calendar period. 7 DAYS · 30 DAYS · 90 DAYS · 12 MONTHS are rolling windows back from now. ALL HISTORY is everything. A faint rule marks each cluster. Keys 1–8 select them directly, in the order they appear. D opens a calendar for a custom range; while one is active the strip shows its dates in place of a tab, and the period label in the header reads the range.

On a narrow panel the strip gives tabs up in a fixed order — never the active one — until it fits, so a period you cannot see is still one key away.

Today runs from midnight on the server's date, which is what the clock in the header shows. On a broker whose feed has stopped for the weekend that clock is holding Friday's time, so Today means the last trading session rather than the calendar date on your wall.

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.

11Strategy Tester reports

Strategy Ledger Pro can read a report saved from the Strategy Tester and show it on the same board it uses for your account: one line per Expert Advisor, strategy and symbol, with the same verdicts, the same boxes and the same lenses. Nothing about the analysis changes; only the source of the trades does.

Loading a report

  1. Run your backtest in the Strategy Tester as usual.
  2. On the tester's Backtest tab, right-click the report and choose Report → HTML. Save the file into MQL5\Files\StrategyLedgerPro\Backtests. The panel creates that folder the first time it is attached. File → Open Data Folder in MetaTrader takes you to the right MQL5 directory: it is the one under the data folder, not the one under the program folder.
  3. On the panel, click BACKTEST in the header, beside the wordmark. A list of the reports in the folder appears, each with a tick box and its size.
  4. Tick one or more reports and press LOAD. A progress card shows which file is being read and how far along it is; a large report takes a few seconds. When the last one is done, the board shows the reports.

To return to your account, click LIVE ACCOUNT in the header, or open the picker again and press BACK TO LIVE.

What the board shows

Each report becomes one Expert Advisor, named from the report's own Expert line. Its comments become its strategies, split by the same rule that splits your live trades, so an EA that writes ApexGold BuyStop and ApexGold SellStop gets two rows, and its symbols separate in the SYMBOL view. Several reports load together onto one board, so different sets of the same EA, or different EAs, can be compared side by side.

While a report is on the board, the header reads SIMULATED, followed by the number of reports, their strategies and symbols, the dates they cover, and where the magic number came from, and a gold line runs along the top of the panel. It cannot be mistaken for the account. The footer reads LEDGER VS REPORT BALANCE and reconciles the rebuilt positions to the report's own Balance column, to the cent; if they differ, it says by how much.

The period tabs measure from the report's last close, not from today. 12 MONTHS is the last year of the test, 7 DAYS its last week, and the period label says TO and the date wherever it is read. CUSTOM DATES works as it does on the account, and the calendar's « » arrows move a year at a time.

The cards change to what a backtest is judged by. REPORT BALANCE, or BALANCE AT a date when a period is set, shows where the balance ended and what it started from. TEST PERIOD shows the days the test ran and its first and last dates, whatever period is selected. ANNUALISED RETURN compounds the period's start and end balances over its days. MAX DRAWDOWN carries the Monte Carlo 95th-percentile figure in its caption: how much of that drawdown the order of the trades alone could produce. LONGEST UNDERWATER is the longest run from a balance peak to the next new high, in days, and says if it was still running when the test ended; with several reports it becomes BEST BY RECOVERY, because best-by-money across reports with different deposits is the deposit, not the strategy.

Everything else — the detail box, sessions and hours, correlation, identity, grade history, fixed-lot mode, hiding and grouping, exports — works on a report as it does on the account. Correlation compares only rows that traded on the same days, so two reports that cover different periods have no pairs to show.

What a backtest cannot tell you

The tester fills every order at the price it asked for, so fills, latency and slippage cannot be measured in a backtest; the execution report, if opened, says exactly that instead of showing zeros. Today's prop-firm mark does not exist in a backtest either, and the prop box says so. The drawdown a report did reach is on the board, in MAX DD and every row's equity ribbon.

A tester report carries no position identifiers and no magic number on its deals. The panel pairs each exit to an open position on the same side of the same symbol: by volume where sizes differ, and otherwise by the tester's own profit figure, which it wrote against the position it actually closed. Where neither settles it, the pairing is inferred and the header says how many were. The magic number is read from the report's inputs when the EA exposes one, and assigned from the file name when it does not; the header says which.

Live and backtest never mix

Switching to a report replaces the account on every surface, and switching back restores it. Nothing read from a report is written to your account's names, groups, hidden rows, equity record or prop-firm mark: those files are never touched while a report is on the board, and are reloaded when you return. A report's own names, groups and hidden rows are kept in files of their own, keyed to the set of reports you loaded, so they are there the next time you load the same set.

The CSV export of a report's board is named LEDGER_BACKTEST and its first line names the reports it describes. The audit export is not available for a report: it reconciles the ledger to an account, and a report has none. Its reconciliation is the footer line, against its own balance column.

In the Strategy Tester

Where the Market demo runs, the panel shows the picker but does not load reports. The reader works on a live or demo account.

12Exports and the audit

ExportContents
E   MeasuresEvery statistic for every row: all the columns, the costs, slippage, pips, setups, the score and the verdict. Includes net_win, net_loss, raw_gross_profit and raw_gross_loss.
A   AuditEvery 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.

Where the files go

Both land in MQL5\Files\StrategyLedgerPro\<account>\ (exports) and \Screens\ (panel screenshots, PNG), named by date and time — AUDIT_260821_143205.csv and LEDGER_260821_143205.csv. Every click writes its own file; the timestamps run to the second, so two exports moments apart do not overwrite each other.

A note appears under the button naming the file, what went into it and where it went, and counts itself down before fading. Clicking anywhere clears it at once. A write that fails says so in red rather than failing in silence.

Column note

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.

13Settings

Data

OverridesManual names, written magic|comment=Name; magic|=Name names every comment under that magic
Learn names from deal commentsOn by default
Group magics into EAsOn by default
Treat an MQL5 signal's trades as one strategyOn by default — see How the figures are built
Merge identical commentsOff by default
Exceptions to mergingSemicolon-separated, trailing * allowed
Show magic 0Includes manual and mobile trades
Period basisCount a position by close time or open time
Period on first startWhich tab is selected the first time: MTD, YTD, 30 days, 90 days, 12 months, all history, today or 7 days. Only the first start — afterwards the panel remembers the last period used
Default sortThe column used on load: realised, profit factor, closed positions, drawdown, expectancy or name

Panel

ThemeNight or day (T toggles)
X / Y offsetPosition on the chart
Width1400 by default, or drag the corner grip
Table height680 by default, or the grip, or [ ]
Remember layoutStores theme, size, sort, period and view
Shrink to fit the chartKeeps the panel inside the chart area
Live clockShows seconds and refreshes each second

Analytics

Statistical verdictsOn by default
Minimum trades20 setups before grading
Setup windowSeconds within which positions of one magic and symbol count as one setup. 60 by default, 0 turns setups off
Fixed-lot sizeThe lot every trade is rescaled to in fixed-lot mode. 0.01 by default
Monte Carlo shuffles600 reorderings per row for the modelled drawdown
Track equity drawdownOn. Samples live value per row — this is what powers HIDDEN RISK

Flags

Losing thresholdProfit factor below which a strategy is marked losing. Default 1.00
Idle daysDays without a close before the idle mark. Default 30

Behaviour

Automatic exportWrites the measures file on every refresh
Text size0 for automatic, or 0.40–1.50 to set it by hand
Detailed logPrints timings and accounting checks to the Experts tab
Adopt earlier equity historyOne-time, for accounts upgraded from a version that kept a single shared equity file — see Limitations

14Keyboard

Keys act on the panel while the cursor is over it. Move the cursor onto the chart and Home, PgUp and PgDn scroll the chart again — the two never fight over the same key press.

1–8Select the period, in the order the tabs appear (TODAY through ALL HISTORY)
DOpen the date calendar
VCycle the EA, symbol and magic views
TDay / night theme
CCompact rows on or off
GCombine the ticked rows
USeparate a group
XHide the ticked rows
HReveal hidden rows
JRestore every hidden row
AExport the audit
EExport the measures
RRescan history
[ ]Shorter / taller table
EscClear the selection
Home PgUp PgDnScroll the table (cursor over the panel)
Enter Esc BackspaceWhile renaming: confirm, cancel, delete a character
iThe guide card (footer); ? inside the correlation box explains that box

15Limitations

Stated plainly, because a tool that hides its limits cannot be trusted with the rest.

A result is booked when a position closes

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.

Equity drawdown only covers time the panel was watching

It is sampled live and cannot be rebuilt from history, so it covers the hours the panel was attached and the terminal open, and no others. The day count beside the figure is time actually watched, not days on the calendar. A deep dip that happened overnight, or while the panel was closed, leaves no trace and cannot be recovered.

There is no account-level equity drawdown figure

There used to be one in the footer and it was withdrawn. It sampled the terminal's equity, which on an account carrying a credit line includes the credit as well as the trading result, and like every equity figure it only ever saw the seconds the panel was running — so it was a floor on an unknown with no way to state the margin. The account's drawdown of record is MAX DRAWDOWN in the header, which is rebuilt from the full deal history and can be checked. Per-row equity drawdown remains, because it is built from the panel's own row curves rather than from the terminal's equity.

Two different drawdown percentages, and why

The header divides its drawdown by peak account balance, which includes your deposits. A row's GAVE BACK divides that row's drawdown by its own peak cumulative profit, a curve starting at zero. On an account with meaningful deposits the two differ by the deposits — the same drawdown can read 4% in the header and 76% in the row, both correct. Each states its denominator so the two can be told apart.

Slippage in money is an estimate on some instruments

Price differences are converted to money using the symbol's current tick value. For instruments where that value moves with price or with the account-currency exchange rate, historical slippage is being valued at today's rate rather than the rate that applied at execution. The direction and the event counts are reliable; treat the money as indicative on those symbols.

The drawdown column is closed-trade only

Risk carried on positions still open is reported separately, through the equity readings and the HIDDEN RISK mark, rather than folded into that column.

Slippage is an estimate

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.

Netting reversals are flagged, not split

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.

Per-account storage

Names, groups, hidden rows, layout and equity-drawdown history are stored separately for each account and server. Settings from early versions that kept one shared file 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.

Comment variety

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.

16Troubleshooting

SymptomCause and cure
Reconciliation shows a differenceUsually 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 toolMost 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.
Two EAs with almost the same name, one of them holding strategies that do not belong to itA grouping pinned in an earlier version under a name the current rule no longer produces. Tick the stray strategy rows and press U, or delete StrategyLedger_<server>_names.csv for that account. Nothing is miscounted meanwhile — the rows are real, only the label is stale.
A signal subscription shows as one row per tradeTreat an MQL5 signal's trades as one strategy is off, or the trades do not carry the signal's magic. Turn it on and press R.
Copy-trading fills show as one EA per tradeThey share a comment but not a magic. Turn on Merge identical comments; the exception list keeps any comment you want apart.
One EA appears as many rowsIt writes a varying comment. Tick the rows and press G, or set a name override.
Text too large or too smallSet Text size between 0.40 and 1.50. Leave at 0 for automatic.
Panel wider than the chartEnable Shrink the panel if it overflows the chart, or drag the corner grip.
A row is graded UNVERIFIEDIt contains netting reversal deals. The figures are shown but not graded; see Limitations.
Equity drawdown reads zero daysTracking starts when the panel first runs on that account. The figure becomes meaningful after a few days of sampling.
Something elseAttach the audit export to your report. It contains what is needed to reproduce the problem.
Getting help

Questions, suggestions and problem reports are welcome in the product comments or by private message, or in the AureusAI Trading Suite channel on MQL5 — mql5.com/en/channels/015c7212c6d0db01 — where most updates start as someone's comment. 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.

Strategy Ledger Pro  ·  read-only
Places no trades and changes nothing on your account.

Developed by Uygar Tuna
Copyright © 2026 Uygar Tuna. All rights reserved.  ·  manual revised September 2026 for version 3.00