← All guides

Results — every metric and how to read it

Updated: 2026-08-14

Results — every metric and how to read it

One rule for the whole page: “P&L” means the net result (after fees) unless it says “gross”. A win is a trade with positive net P&L.

Strip 1 — Capital and P&L

Metric How it’s computed How to read it
Initial / Final capital from the form; final = initial + total P&L “what happened to the money”
Gross P&L Σ qty × (exit − entry) before fees compare with Fees: friction near gross = trading too often or too close to 0.50
Fees sum per the chosen model; expiry exits carry no fee remember: the “7%” label is the curve coefficient, ≈1.75% of notional max at 0.50
Total P&L ($ and %) Σ net P&L; % of capital a hypothesis; Significance and Validation test it
Avg / trade Total P&L ÷ trades (expectancy) must clearly beat the average fee per trade
Trades closed trades; click → journal 15 trades prove nothing
Win rate wins / all × 100 only together with PF; buying at 0.80 you “must” win over 80%

Invariant: Gross P&L − Fees = Total P&L (a mismatch triggers a warning banner).

Strip 2 — Risk

Sharpe (annual) — daily returns over the whole window (empty days = 0): mean / stdev × √365. Scale: <0 losing · 0–1 weak · 1–2 decent · >2 excellent (and check for overfitting). This is the run’s headline Sharpe shown in the Registry.

Sortino (annual) — same, but the denominator uses only “bad” volatility (negative days). Sortino well above Sharpe = the turbulence is mostly of the good kind.

Sharpe/Sortino (per trade) — over “P&L per share” without annualisation; feeds PSR/DSR and “Trades needed”.

Max drawdown — (peak − current) / peak × 100, the worst fall from a peak. Your “price in nerves”: live is usually deeper; don’t go live unless you can sit through ×1.5–2 of it.

Profit factor — profits ÷ |losses|. <1 losing · 1.0–1.3 borderline · 1.5–2 good · far above 2 — check for overfitting.

Strip 3 — Significance (can the numbers above be trusted)

Edge / trade (pp) — average net P&L per share in “cents” ± a 95% interval. Interval clear of zero → the edge looks real; touching zero → not enough trades.

Avg entry price (avg + p10·p50·p90) — where the strategy trades: near 0.50 = max fees; at 0.85+ = “picking almost-decided outcomes” where one miss eats many wins.

Trades needed (t=2) — (2 / Sharpe_per_trade)²: a traffic light for sample size.

PSR — probability the true edge is above zero, given trade count and the shape of the distribution. Take runs seriously from 90% up.

DSR — PSR penalised by how many runs you’ve made on this market (protection from fishing: the best of 100 random tries looks great by chance). Click “N ≥ K” for the trial list. Deleting runs does not lower N — the trial history cannot be laundered; that’s deliberate.

Charts and the Restart panel

PnL curve / Drawdown (buckets 1m…1w): shape over endpoint — a steady staircase beats a couple of spikes; watch drawdown duration too. Price & trades — entry/exit markers on the BTC price: see when the strategy trades. Data quality — how many ticks/markets actually fed the engine (a shortfall shows a yellow “data gap” banner). Restart — same config with different dates/capital/fees: lengthen the window (significance), run at 0% fees (the cost of friction), or another window (ladder step D).