Strategy Lab

Backtest, validate, compare — live trading is untouched

Validated backtests

35 runs on real broker history · 1 pass validation. A run passes only if training, validation and out-of-sample are all profitable with PF > 1 — never on best profit alone.

CompareEngineMarketVariantVerdictTrain (trades · avg R · PF · DD R)ValidationOut-of-sample
CryptoBTCUSDestimated costsFAIL1238-0.2210.65273.8328-0.1530.7450.2200-0.0120.9820.4
CryptoBTCUSDnocostFAIL1238-0.0280.9471.3328-0.0220.9617.42000.1341.3110.3
CryptoBTCUSDpepperstoneFAIL1238-0.2220.65274.8328-0.1530.7451.2199-0.0060.9920.4
CryptoETHUSDestimated costsFAIL1053-0.3780.48405.0267-0.1770.7153.3121-0.3340.4740.4
CryptoETHUSDnocostFAIL1053-0.0350.9359.62670.0401.0815.4121-0.0570.8812.6
CryptoETHUSDpepperstoneFAIL1055-0.2760.58298.1266-0.1120.8039.2120-0.2430.5830.2
ForexEURUSDestimated costsFAIL183-0.2610.5649.471-0.1060.8012.768-0.4900.3235.4
ForexEURUSDpepperstoneFAIL184-0.1010.8022.7700.0291.067.468-0.3310.4525.3
ForexGBPUSDestimated costsFAIL208-0.2950.5267.268-0.3980.4028.265-0.4350.3931.8
ForexGBPUSDpepperstoneFAIL208-0.1320.7534.669-0.2090.6217.164-0.2760.5521.2
ForexUSDJPYestimated costsFAIL215-0.0940.8229.8740.0641.155.276-0.1290.7314.9
ForexUSDJPYpepperstoneFAIL2130.0051.0117.5740.1611.424.476-0.0210.959.3
GoldXAUUSDestimated costsFAIL1661-0.1640.74273.6539-0.0690.8846.9528-0.0570.9051.9
GoldXAUUSDallINSUFFICIENT21-0.6790.3114.320.2921.581.05-0.3640.432.2
GoldXAUUSDbaseFAIL1661-0.1640.74273.6539-0.0690.8846.9528-0.0570.9051.9
GoldXAUUSDchainFAIL754-0.1410.76108.3242-0.0860.8422.5246-0.0130.9710.8
GoldXAUUSDkzFAIL663-0.1770.73123.0214-0.1060.8229.8204-0.0830.8625.2
GoldXAUUSDkzchainFAIL239-0.1940.6950.880-0.0570.8913.475-0.1300.7411.7
GoldXAUUSDkzliqINSUFFICIENT76-0.5760.3646.1100.4892.113.2160.1861.344.9
GoldXAUUSDliqFAIL266-0.4890.43130.774-0.1490.7811.077-0.1220.8114.7
GoldXAUUSDnocostFAIL16610.0341.0727.05390.0151.0324.8528-0.0011.0038.4
GoldXAUUSDpepperstoneFAIL1650-0.0450.9289.5538-0.0290.9530.9526-0.0210.9643.0
US IndicesFRA40estimated costsFAIL168-0.4310.4574.358-0.5110.3431.144-0.3740.4924.2
US IndicesGER40estimated costsFAIL186-0.2440.6458.562-0.2260.6717.058-0.1990.7112.9
US IndicesUK100estimated costsFAIL160-0.5350.3586.071-0.6670.3049.640-0.3520.5416.2
US IndicesUS30estimated costsFAIL185-0.1790.7136.751-0.1760.7210.561-0.2080.6717.6
US IndicesUS500estimated costsFAIL170-0.2300.6744.761-0.4180.4727.453-0.3920.4721.2
US IndicesUS500nocostFAIL1700.0541.1016.261-0.1270.7914.553-0.1710.7011.1
NASDAQNAS100estimated costsFAIL633-0.0500.9037.52040.0501.119.7213-0.0450.9021.8
SyntheticVOL75estimated costsFAIL519-0.0740.8654.3154-0.3400.4452.5180-0.0670.8617.3
Trend (V2)US500trendFAIL6620.0581.1124.3200-0.0100.9813.71790.0541.1016.7
Multi-timeframeEURUSDFAIL481-0.0860.8555.0169-0.1060.8121.2155-0.1280.7833.8
Multi-timeframeGBPUSDFAIL476-0.0310.9428.9150-0.1630.7425.7158-0.2140.6537.2
Multi-timeframeNAS100FAIL5250.0231.0438.81920.0481.0919.3179-0.1070.8220.8
Multi-timeframeXAUUSDPASS4760.0461.0817.91670.0451.0814.01770.0731.1316.0

Compare strategies

Tick two to four runs above to compare them side by side (e.g. Gold base vs Gold kill-zone).

Not built yet: launching a new backtest from this page (choosing period, risk, starting balance and parameters). Backtests download years of broker candles and run for minutes, which needs a background job runner the app doesn't have yet — they're run by the engine team and published here. Equity curves per run also aren't stored yet; results are in R, not currency.
Development 2023-10-30 → 2025-12-04 · untouched validation 2025-12-04 → 2026-09-28

V2 entry · A — Current (1h stall, 3h give-up)

Positive in development, in the untouched validation period and in most walk-forward folds.

Trades

1148

Win rate

16.99%

Loss rate

83.01%

Avg win

1.246R

Avg loss

-0.156R

Expectancy

0.0818R

Per 100 trades

8.2R

Profit factor

1.63

Net

93.92R

Max drawdown

-7.66R

Worst losing run

26

Hold (avg / median)

3.3h / 2h

Equity (R)

Drawdown (R)

Development vs untouched validation

Development

Trades

791

Win rate

17.07%

Loss rate

82.93%

Avg win

1.204R

Avg loss

-0.159R

Expectancy

0.0741R

Per 100 trades

7.4R

Profit factor

1.563

Net

58.58R

Max drawdown

-7.5R

Worst losing run

25

Hold (avg / median)

3.3h / 2h

Validation (never tuned on)

Trades

357

Win rate

16.81%

Loss rate

83.19%

Avg win

1.339R

Avg loss

-0.152R

Expectancy

0.099R

Per 100 trades

9.9R

Profit factor

1.785

Net

35.34R

Max drawdown

-5.22R

Worst losing run

21

Hold (avg / median)

3.4h / 2h

Walk-forward folds

  • Fold 1 (130)0.1055R
  • Fold 2 (352)0.0952R
  • Fold 3 (337)0.0319R
  • Fold 4 (329)0.1092R

Why entries were rejected

1,657 accepted setups.

  • Choppy structure59296
  • Too far from the average price24274
  • No trend19302
  • Volatility too low15179
  • Trend not persistent8052
  • Volatility too high2906
  • Spread / cost too high2507
  • Higher timeframes disagree1273

How trades ended

  • breakeven70%
  • stall8.9%
  • stop13%
  • target8%
  • timeout0.1%

By instrument (net R)

  • ETHUSD (137)25.78R
  • GBPUSD (139)21.05R
  • USDJPY (170)11.22R
  • BTCUSD (114)8.79R
  • XAUUSD (144)8.53R
  • AUDUSD (165)6.17R
  • US30 (56)5.65R
  • EURUSD (116)4.93R
  • NAS100 (107)1.81R

By market regime (net R)

  • normal-vol/uptrend (420)30.42R
  • high-vol/downtrend (77)19.06R
  • normal-vol/downtrend (209)14.99R
  • low-vol/downtrend (105)13.85R
  • low-vol/uptrend (238)13.77R
  • high-vol/uptrend (99)1.82R

Worst drawdown

Depth

-8.95R

Trades in the run

99

Longest losing streak

23

Most positions at once

5

2024-05-28 → 2024-09-06

Caused by instrument

  • XAUUSD-4R
  • AUDUSD-3.71R
  • NAS100-1.4R
  • USDJPY-0.52R
  • GBPUSD-0.03R
  • EURUSD0.72R
  • US302R

Caused by regime

  • low-vol/uptrend-3.37R
  • low-vol/downtrend-2R
  • normal-vol/downtrend-1.93R
  • normal-vol/uptrend-0.07R
  • high-vol/uptrend0.41R

Real vs synthetic (same exit)

MarketTradesWinExpectancyNet RMax DD
Real markets114816.99%0.0818R93.92R-7.66R
Synthetics34819.25%0.1676R58.31R-5.48R

Research only — nothing here changes live trading. Entries are a deterministic stand-in for the AI, so these numbers test the rules, not the engine's real edge.