Backtest
The backtest — and why it isn't the headline argument
MODEL-1 has a backtest behind it on GBPUSD data. It used to sit on the homepage as the main proof. It doesn't any more, and the reason isn't that I dislike the numbers.
That backtest tested an older, simpler version of the system than the one I trade today. Since then the model has gained a first-candle-of-session filter, a 3R space check, relative strength, DXY confirmation and context grading — and each of those changes which trades would open at all. It stays here in full, including the numbers that didn't come out the way I'd have liked, because deleting my own published data would be exactly what this site was built against.
Correction, 25 July 2026
What I had wrong here
Until 25 July this page carried “t ≈ 2” as evidence of statistical significance. That figure belonged to a different sample — a candidate that also included shorts. The short side came out negative out-of-sample (−0.28 R per trade) and I don't trade it. For the long-only sample these numbers actually describe, t = 1.2, which is not statistically significant. I recomputed it from the original engine output and I'm leaving this note here, because quietly fixing your own statistics is worse than getting them wrong.
Configuration
What exactly was tested
- Pair
- GBPUSD
- Side
- long only
- Filters
- D1 bias + previous day's liquidity
- Target
- fixed 1:3, set and forget
- Spread in the model
- 1.0 pip, charged on every trade
Long-only because the short side lost money in the out-of-sample period. Two separate datasets were used, not one continuous series — see the gap below.
Two periods, two datasets
In-sample · development period
15 Nov 2012 — 2 Mar 2022
Documented record — not reproducible today
- Trades
- 85
- Wins
- —
- Average per trade
- +0.236 R
- Standard deviation
- —
- t-statistic
- —
- Profit factor
- —
- Total
- +20.1 R
- Max drawdown
- —
- Positive years
- —
Out-of-sample · fresh data
4 Aug 2022 — 7 Jul 2026
Recomputed from raw data, 25 July 2026
- Trades
- 40
- Wins
- 16 / 40
- Average per trade
- +0.357 R
- Standard deviation
- 1.87
- t-statistic
- 1.21
- Profit factor
- 1.54
- Total
- +14.3 R
- Max drawdown
- −8.3 R
- Positive years
- 4 / 5
A gap in the data
The period from 2 Mar 2022 to 4 Aug 2022 is missing between the two datasets. The in-sample data ends where the original historical set ended; the out-of-sample data begins where my own MT5 export begins. That gap doesn't get filled with an estimate.
What can't be verified right now
I can't recompute the in-sample half today — the raw candles for 2012 to 2022 aren't on my disk any more, only a trade export without the daily-bias column. So the figures for that period are presented as a documented record rather than as the result of today's recomputation, and the missing metrics are left blank instead of being reconstructed by inference. Worth stating plainly: in that period the daily-bias filter is what makes the entire difference — without it the same sample is slightly negative. Once I have the data, I'll recompute and publish both halves side by side, including if it comes out worse.
Why win rate × 3 doesn't add up
At a 40% win rate and a 1:3 ratio you might expect +0.60 R per trade. The reality is +0.357 R. That isn't an error: not every win reaches the full target. Of the 16 wins in the out-of-sample sample, 13 hit the target and the rest closed at the end of the day for a smaller gain; losses, meanwhile, cost slightly more than 1 R because of the spread. Anyone recomputing this as a binary outcome gets a higher number than the system actually produces.
About converting to percentages
All drawdowns are stated in R, not percent, because the percentage depends on risk per trade — and that has changed over time. A maximum drawdown of −8.3 R means −2.5% at the current 0.3% risk, and −2.1% at the 0.25% risk it was originally measured at. A percentage quoted without its risk figure carries no information.
Historical combined record
The originally published figures — 111 trades, 6.8% equity and a maximum drawdown of −2.1% at 0.25% risk per trade. This series was produced with an older minimum-stop filter that I dropped on 9 July 2026, once it turned out the edge didn't rest on it. It stays here as a record of what was published, not as the current configuration's result.
The out-of-sample figures come from a recomputation of the original engine output, not from manual transcription. Configuration, filters and spread match the engine the indicator runs on.
Recomputed: 25 Jul 2026