Statistics
Inspect a completed run’s statistics, trades and equity.
Summary and charts
The window is named “Statistics” for a simulation, “Portfolio Statistics” for a portfolio report, or “Backtest: …” with the instrument name for an individual backtest.
The results panel identifies the instrument and run and shows the engine’s summary metrics. The overview chart is drawn with lines, as in the first tester: the solid line is the equity of the whole strategy account across every instrument of the run, the dashed line is the benchmark (buying and holding the run’s first instrument with the starting capital), and below it is the drawdown in percent from the last peak.
The overview has no candles, volume, or trade markers: click a trade’s row on the Trades tab to show its entry bar on the open charts.
The whole run period is visible when the panel opens. The mouse wheel zooms at the cursor, dragging and Shift+wheel scroll within the period, and a double-click or the Whole Period button returns to the whole period. At any zoom the chart keeps the minimum and maximum of every stretch, so equity peaks and the depth of a drawdown never disappear.
Clicking the Strategy or Benchmark name in the legend hides or shows that line, and one of the two lines always stays on the chart. If the engine found no price for the benchmark, the dashed line is not drawn. Missing chart data should not be interpreted as a zero value.
When you zoom in, the panel loads finer points for the visible stretch from the engine, down to every stored account valuation. The engine keeps this detail for the last four completed runs and for the last stopped session; during a running session, for older runs, and after an engine restart the chart stays at overview detail.
Individual trades
Use the trade table to check entries, exits, quantity, and reported profit or loss. Click an unexpected trade’s row to show its entry bar on the open charts, and compare it with the strategy logs.
Large result sets can be truncated for display. Read the panel’s notice before treating the visible rows as the complete set. User symbols, strategy names, and engine-provided identifiers are not translated.
Compare runs carefully
When comparing runs, keep the strategy version, parameters, instrument, date range, balance, and data coverage consistent. Record intentional changes so you can explain differences.
Metrics describe the completed simulation. They do not validate future performance, remove data-quality limitations, or establish that the execution assumptions match a live market.
Check a Completed Backtest for Robustness
In Calculations, choose Check Robustness on a completed ordinary background backtest. This does not import the strategy into Strategy Laboratory. A frozen candidate must be available; credential-bearing project files or missing inputs can make this optional check unavailable while the original backtest remains usable.
Choose the phase timeframe, maximum phase episodes, fee multiplier and added slippage. Phases default to h1: minute phases give episodes of an hour or less. Each phase and transition takes its longest stretches first, one episode per stretch, so the episodes spread over the baseline. With its warm-up the baseline may cover up to 262,144 bars of the phase timeframe: 182 days at m1, decades at h1.
Evaluation criteria and phase-classifier thresholds stay collapsed until needed. Preview first: inspect the baseline, candidate fingerprint, periods, warm-up, overlapping episodes and limitations. Only Run Approved Scenarios submits a job. Editing an option invalidates the preview.
Progress and cancellation use the existing Calculations jobs. Reopen a robustness job to see partial or completed results. Execution status is separate from the verdict: meets selected criteria, fails criteria, insufficient data or not evaluated. Too few closed trades cannot receive a passing verdict.
Checks reuse historical data, including overlapping phase and transition windows. They are not held-out validation and do not promise future profit. Realized P&L and marked open-position valuation at phase boundaries are separate; a boundary valuation is not a closed trade.
Additional checks stays collapsed and all optional families are off by default. Select generated phases/transitions, predeclared parameter variants, another completed calculation as market/timeframe input, or closed-trade resampling. Synthetic data and measured properties remain separate from real history.
Local detail keeps surrounding coarse history and refines only a selected window. It matters when intraminute order changes a stop/take-profit outcome. Requesting closed detail does not rewrite past trades. A separately approved full replay with a real block or stated synthetic path can measure the execution difference; it is never mandatory.
Seeds reproduce generated variants and are fixed before viewing strategy results. Fixed-PnL Monte Carlo measures paths/drawdown under stated assumptions; permutation preserves total PnL. Its verdict is Measured, not a passed strategy trial or a market probability.
Reserve an unused period outside the source baseline before testing the final candidate. Preserve the reservation ID and view its retained use history. Without prior reservation, a selected range is a reused-period check. Workflow reservation does not isolate files, network or public history from arbitrary strategy code.
Ordinary background runs can request missing detail from their owning Studio host. Synthetic data requires explicit consent; unattended required requests stop. Acquired detail joins the actual frozen candidate. No risk setting is changed automatically.
Results by BTC phase
In a project-bound Statistics report, choose “BTC Phase Reference…”. Select the exact exchange, market, BTC instrument and timeframe. The selection applies only to future ordinary, portfolio and background calculations for this project. It does not change the saved report or create strategy trading subscriptions. Disable capture through the same control.
- Choose BTC Phase Reference… in the current project report and select exchange, market, BTC instrument and timeframe.
- Run a new historical calculation with that reference.
- Expand Results by BTC Phase and inspect the account, intended participant and input limitations.
- Optionally save the BTC phase table; compare values from the same saved run.
Only saved local history of that BTC reference is frozen. Missing history leaves the diagnostic unavailable; opening a report never downloads BTC or reruns the saved strategy. The ohlcv-rules-v2 method and its frozen options are not claimed equivalent to an unknown external offline phase map.
Results by BTC Phase separates the account from its portfolio participants. By UTC Day uses marked-equity changes, including open positions. The phase is known from bars closed by the start of each UTC day, or the period start for a partial first day. A partial day counts once; duration shows its fraction of 24 hours.
By Original Entry retains the first-entry phase across partial closes and scale-ins. A reversal starts a new position. Closed slices, positions and remaining marked-open positions are different counts. An open mark is not a sale and receives no invented exit commission.
PF of days compares positive and negative daily Net. PF of closed slices uses realized exits and excludes terminal open marks. A dash when there are no losses or observations is not a measured zero. Drawdown is in the displayed currency on cumulative phase-day results or realized closes, not intraday drawdown.
Realized Net, marked changes, funding, gas and explicit adjustments are separate. Fees are counted once. Payments with no position link and measured small rounding adjustments remain in Unknown entry attribution. Unassigned account money is not allocated to a profitable participant.
Unknown includes missing, stale and warming reference data. Missing equity is a separate coverage problem: it is not a zero day, and a multi-day endpoint change is not assigned to the last day. Legacy missing data and sparse chart points cannot reconstruct an exact daily or participant ledger.
Account money reconciles with participants plus explicit account adjustments. Participant days, PFs and maximum drawdowns are not summed into account metrics. Currencies are not combined without saved conversion evidence. Unknown currency, opening positions without attribution basis, incomplete instrument units or evidence limits produce explicit unavailability.
Save BTC Phase Table exports the captured table with reference identity and the saved evidence hash. HTML/PDF tearsheets use the same saved values. This descriptive report does not automatically disable or reconfigure a real strategy.
Related commands
Command Palette reference
Find these actions by name in the Command Palette; availability depends on the current project and operation state.
xtester.showResults