backtest
SMA20 exit vs ATR stop — momentum book
Replacing ATR×2 stop with SMA20 close exit destroys expectancy on the same ENTER set.
Universe 168 · start 2019-01-01 · same momentum ENTER set across variants.
| Variant | Trades | Win% | E[R] | total R | CAGR% | MDD% | stop / 2R / SMA20 / time |
|---|---|---|---|---|---|---|---|
| ATR×2 stop + 2R target (baseline) | 1953 | 41.17 | 0.0682 | 133.2 | 27.93 | −70.68 | 1005/491/0/457 |
| SMA20 close break + 2R target | 2010 | 43.68 | −0.1029 | −206.8 | −44.16 | −96.88 | 0/499/1368/143 |
| SMA20 break only (hold 25) | 1740 | 37.82 | −0.6831 | −1188.5 | −75.82 | −230.61 | 0/0/1453/287 |
| SMA20 break only (hold 60) | 1651 | 37.25 | −0.7223 | −1192.4 | −76.36 | −228.41 | 0/0/1598/53 |
Mechanics
- atr_2r: intrabar low vs ATR stop, high vs 2R (stop-first on same bar)
- sma20: 1R = entry − SMA20(signal); exit next open after close < SMA20
- sma20_2r still takes 2R if high hits first on a bar
Ops link
Pullback seats therefore block automatic SMA20 sells in live playbook — buy alerts and trend exits must not overlap.
Source
Summarized from state/reports/sma20_exit_bt_20260818_151759.md.