AMMDocumentationWebsite ↗
how to · 5 min read

Inspect and compare backtest results

Read the report, inspect individual executions and verify the assumptions behind historical performance.

Reviewed 2026-10-24 · Windows & macOS

On this page

Open the correct run#

Open Runs in a Backtest item and filter by text or All, Running or Failed. A row includes status, parameters, dates and a small equity curve when available. Open the row with Enter or Open report. Finished runs load their stored results; opening one does not rerun the algorithm.

Use the row menu to Load settings into form, Open in new Backtest item, Compare with…, Star run, copy the run ID or cancel active work. Keep an important reference run separate while changing assumptions. A new run with different size, data, cost or date settings answers a different question.

AMM completed backtest report with equity, drawdown, daily P&L and trade results in dark modeView full-size screenshot ↗
A completed AAPL strategy backtest with 325 trades and 650 orders, showing equity, drawdown, daily P&L, performance metrics and individual trade results.

Read the report in a useful order#

The Report has Overview, Trades, Orders, Returns, Parity and Contract. On a focused report, ⌘/Ctrl+1–6 select these views. Start with Contract and run identity when checking reproducibility, then interpret the performance views.

View What to inspect
Overview Status, run identity, KPI strip, equity and underwater curves, daily P&L, trade statistics and price chart
Trades Closed-trade quantities, direction, entry/exit times, prices, net results and exit reasons
Orders Submitted order types and lifecycle, including fills, cancellations and rejections
Returns Daily and monthly outcomes, distribution and holding-time summaries
Parity Existing cTrader comparison evidence, where one is associated
Contract Effective accounts, instrument economics, execution assumptions and provenance

A large final return is insufficient by itself. Compare maximum drawdown, duration, trade count, costs, concentration of wins and losses, and the shape of the equity curve. A profitable single week and a multi-year test do not provide the same evidence.

Inspect the effective contract#

Check account currency, starting capital, reporting currency, feed/account identity, strategy and source resolutions, quantity unit, multiplier, leverage and tick size. Confirm whether each simulated instrument used Standard or cTrader-style fills. The report labels simulated accounts and summarises the fill styles.

Configured inputs and the effective instrument graph can differ. Contract records Declared instruments and Added during run · UTC time rows. Select the exact instrument when reviewing a multi-instrument result; do not infer execution from the primary symbol's chart alone.

For continuous futures, inspect Auto roll, price mode, last-safe-day closes and roll costs. Trades belonging to one rolled position are grouped and marked Roll. The headline trade count counts the rolled position once rather than treating every roll leg as an independent trade.

Quote-enabled tests expose their source policy and provenance. A filled order can include the executable quote's bid/ask, UTC time, age and source information. A result that deliberately skipped bad quote intervals should be read with its drawdown-completeness disclosure. If funding or terminal exposure was not completely observed, read that warning before the KPIs.

Use charts without confusing display with execution#

Overview's price chart offers Candles, Heikin-Ashi and Renko where supported. Renko needs a brick size; use Set brick to change it. Display timeframe and chart type change the view of the stored run. They do not repeat the historical execution under new assumptions.

Multi-instrument results provide an instrument selector. Price bars, indicators and trade markers follow the selected identity. Backend-calculated indicator series are rendered from the run's contract. Trades and orders are paged ledgers, and price bars are paged too. A visible page is not necessarily the entire run.

Use Open detail to add a separate Backtest inspection item. Optimisation rows also support inspection in the current tab or a new desktop window. macOS and Windows support additional native windows; browser use remains inside one browser application view, and Linux window actions can report that separate windows are unavailable.

Compare consistently#

Choose Compare or the Runs row's Compare with…. Use runs with a clear reason for their differences: changed signal parameter, spread stress, source resolution or date segment. Record those differences before treating the comparison as an improvement.

Monetary capital-usage fields, when present, are separate from percentage KPIs. Annualised net money profit, maximum streaming equity drawdown in money, their ratio and used-margin measurements have their own completion rules. Missing legacy measurements stay absent. Zero monetary drawdown does not create an infinite ratio. An engine-complete measurement is not a guarantee of source continuity or strategy profitability.

The single Backtest Run cTrader comparison launcher is currently disabled because that workflow requires optimisation candidate and producer configuration. Use the supported batch optimisation comparison path when the run meets its checks. Merely seeing a Parity tab does not establish parity.

Recover from incomplete or failed inspection#

If the report is offline, restore the intended server and reopen the run. If a child failed, inspect its error and exact request; no completed artifact may exist to chart. If bars or markers appear missing, check instrument selection and paging before assuming trades were lost.

Output lines are scoped to the item's job. Use the level filter and correlate an execution issue with its timestamp and order row. Preserve the failed run, copy its ID and create a corrected run. Export the required report or data through the available Export action, retaining the associated request and run ID so another reviewer can identify the same evidence.

Application screenshotOpen original ↗