author's replication window · 2020-05-29 to 2024-12-31
Run
| Instrument | ES as MES |
| Period | 2020-06-10 to 2024-12-31 |
| Rule | stop 320, target 160, target-short 200, bar-minutes 5, slope-minutes 15, drift-minutes 60, drift-pct 0.1, entry-from 630, entry-to 930, flat-at 955, invert 0, once-per-trend 0, max-trades 4, loss-stop 2 |
| Exits | flat at 15:55 New York, session end |
| Bars | minutes-5 |
| Control arms | 8, seed 20260813, on bar close |
| Fill | phase spread 0.56/0.54/0.51/0.54 |
| Risk per trade | 500 $ |
| Commit | f1a70e3c099644522bfadfea043aa7c2b6d7cefb |
Result per phase
| Phase | Trades | control trades | Ø R | Baseline | control span | z | Win Rate | baseline WR | PF | BE-Slippage |
| New York ◆ | 1248 | 1205.5 | +0.005 | -0.006 | -0.014 … -0.001 | +2.0 | 53.3 % | 49.4 % | 1.04 | +0.74 ticks |
Money per phase, both sizing models
| Phase | Model A | Max DD A | Model B | Max DD B | Ct. |
| New York | +2304 $ | 5943 $ | +2304 $ | 5943 $ | 1 |
Exit Reason
| Phase | Exit | Trades | share | Ø R | Model A | duration md. |
| New York | Stop | 30 | 2.4 % | -1.002 | -12030 $ | 226.9 min |
| New York | Target | 131 | 10.5 % | +0.560 | +29369 $ | 189.3 min |
| New York | Strategy Exit | 1087 | 87.1 % | -0.035 | -15035 $ | 310.0 min |
forward · 2025-01-01 to 2026-08-12
Run
| Instrument | ES as MES |
| Period | 2025-01-02 to 2026-08-12 |
| Rule | stop 320, target 160, target-short 200, bar-minutes 5, slope-minutes 15, drift-minutes 60, drift-pct 0.1, entry-from 630, entry-to 930, flat-at 955, invert 0, once-per-trend 0, max-trades 4, loss-stop 2 |
| Exits | flat at 15:55 New York, session end |
| Bars | minutes-5 |
| Control arms | 8, seed 20260813, on bar close |
| Fill | phase spread 0.56/0.54/0.51/0.54 |
| Risk per trade | 500 $ |
| Commit | f1a70e3c099644522bfadfea043aa7c2b6d7cefb |
Result per phase
| Phase | Trades | control trades | Ø R | Baseline | control span | z | Win Rate | baseline WR | PF | BE-Slippage |
| New York | 489 | 459 | +0.006 | +0.004 | -0.019 … +0.022 | +0.3 | 52.8 % | 52.0 % | 1.04 | +0.92 ticks |
Money per phase, both sizing models
| Phase | Model A | Max DD A | Model B | Max DD B | Ct. |
| New York | +1127 $ | 2431 $ | +1127 $ | 2431 $ | 1 |
Exit Reason
| Phase | Exit | Trades | share | Ø R | Model A | duration md. |
| New York | Stop | 26 | 5.3 % | -1.003 | -10426 $ | 127.4 min |
| New York | Target | 87 | 17.8 % | +0.569 | +19813 $ | 111.6 min |
| New York | Strategy Exit | 376 | 76.9 % | -0.055 | -8260 $ | 305.0 min |
What the columns hold
Ø R — expectancy per trade, measured in stops. A trade that loses exactly its stop is −1.0; one that hits the double target, +2.0. That makes tight and wide stops comparable.
Control arm — the same run, same entry ticks, side drawn per day — one draw per day and arm, the whole day flips or stays (brackets of the drawn side). That keeps the run structure of the real sides: a trend episode gives the control arm the same side for hours too, and the arms spread wider than with one draw per entry. The control arms get the same scripted entries as the real arm, but an entry is dropped while the arm still holds a position — a flipped or later trade runs longer than the real one. The arms therefore fill fewer trades than the real arm; how many is shown as control trades (median across the arms) in the table.
Baseline — the median across all control arms. Whatever the baseline also achieves carries no directional information — only the distance to it counts. The control span runs from the worst to the best arm; a ◆ means the real run beats every single one of them.
z — distance of the real arm to the mean of the control arms, in standard deviations of the arms; a ◆ only means: above every arm. With 8 arms, z is the number that carries.
control trades — median of the trades per control arm, next to the trade count of the real arm.
Win Rate — share of trades with a positive net result. On its own it says nothing: a rule with a 30 % win rate and a 3:1 target earns, one with 80 % and 1:4 loses. Baseline WR next to it is the same share as the median over the control arms (side drawn per day) — with the target below the stop a high win rate already comes out of the geometry, and the real number has to beat it first.
Profit Factor — sum of all gains divided by the sum of all losses, computed on model A. Below 1.0 the rule loses.
Max DD — maximum drawdown, the largest decline from the highest level of the result curve so far. Separate per sizing model, because model B has larger swings.
BE-Slippage — break-even slippage: this many ticks of additional cost per side the rule tolerates before its result falls to zero. Negative means it is under water even without slippage. This is an approximation — real slippage also shifts which stops and targets are hit at all.
Model A — always one contract. Model B — fixed risk of 500 $ per trade, so a wider stop means fewer contracts; Ct. is the median position size under it. Both stand side by side because they let different rules win.
Exit Reason — what ended the trade: the stop, as set at entry; the trailing stop (the stop had been trailed — beyond a threshold in profit the engine keeps it at a fixed distance behind price, and it only moves towards profit, never back); the breakeven (the stop sat at entry plus costs, i.e. including commission and the spread the entry already paid — a hit there is net exactly zero); the target; the time stop (the position was open longer than allowed and was closed at market); a strategy exit (the rule itself closed) or the session end (the session ran out while the position was open). Trailing stop, breakeven and time stop are declared in the exit declaration of the strategy shown above under exits; the engine executes them tick by tick, in this order: trail the stop first, then check the stop, then the target, last the time stop.
Duration md. — median holding time in minutes.
net — all numbers are after commission: 0.8 ticks per roundtrip on MES (1 tick = 1.25 $).
Phase — Asia, London, New York, after hours are different markets, not sections of the same one. Only one phase was traded, so there is no total row.