Rule Collider

Backtests · US100 · trend_ema20_vs_ema50 · long

Does trend_ema20_vs_ema50 above 0 work on US100? 2023 to 2026 backtest

US100 long when EMA20 above EMA50 is above the threshold, tested at five thresholds taken from the feature’s own distribution on US100 over this window: its 10th, 25th, 50th, 75th and 90th percentiles. Window 2023-09-30 to 2026-09-30, the last 30 percent held out of sample; stop 2 ATR, target 2.5 R, held overnight, max spread 30 pips, one-minute confirmation 25 pips, no hour filter. Fills and spread as measured on a demo fleet (how a result is judged). The direction and the exit are the ones the research catalogue carried for this pair; the thresholds are not.

Five thresholds, one rule shape

PercentileConditionIn sample R / tradesOut of sample R / tradestTrades to confirmLast quarter R / tradesVerdict
p10, p25trend_ema20_vs_ema50 > 0-298.7 R / 3320-77.7 R / 1331-1.33,046-34.1 R / 386No edge shown

R is the risk on one trade. The out-of-sample split carries the verdict: below 100 trades it is “no edge shown” whatever the t; a positive mean with t below 2 is “net positive, not yet distinguishable from chance”; the last column is how many trades that mean would need to reach t = 2.

Each threshold in full

trend_ema20_vs_ema50 > 0 (p10, p25)

Honesty panelNo edge shown

No edge shown out of sample: -77.7 R over 1331 trades is -0.058 R per trade, within what chance produces (t = -1.3); about 3,046 trades would be needed to confirm this mean at t = -2, shown: 1331.

In sample
2023-09-30 to 2025-11-05
-298.7 R
3320 trades · 33% wins
-0.090 R per trade · t = -3.3, beyond chance
about 1,254 trades to confirm this mean (-0.090 R per trade) at t = -2 · shown: 3320
spread 0.102 R per trade
Out of sample
2025-11-05 to 2026-09-30
-77.7 R
1331 trades · 33% wins
-0.058 R per trade · t = -1.3, within chance
about 3,046 trades to confirm this mean (-0.058 R per trade) at t = -2 · shown: 1331
spread 0.058 R per trade
Last quarter
last 91 days of the window
-34.1 R
386 trades · 32% wins
-0.088 R per trade · t = -1.1, within chance
about 1,242 trades to confirm this mean (-0.088 R per trade) at t = -2 · shown: 386
spread 0.049 R per trade
Costs. Spread 0.090 R per trade at 1.25 times the bar’s minimum (more than the trades made before spread). Fill offset 0.08 stop-distances on every entry, measured on 1,037 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -93.2 R (-0.070 R per trade over 1331 trades).

Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,703 signals placed, 4,651 filled, 52 expired; trigger state, an entry on every bar the conditions hold while flat.

Exit: stop 2 ATR (mean 381.0 pips, 2.00 ATR); target 2.5 R; exits 66% at the stop, 28% at the target, 6% at the day end.

Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (7,645 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (2,021 signals rejected).

Monthly R, trend_ema20_vs_ema50 > 0 on US100One bar per month: the R earned that month; the held-out months in the full colour.2023-10: -43.0 R over 120 trades2023-102023-11: +15.8 R over 137 trades2023-12: +9.9 R over 119 trades2024-01: -5.1 R over 140 trades2024-02: -24.7 R over 138 trades2024-03: -3.7 R over 81 trades2024-04: -24.4 R over 131 trades2024-042024-05: -37.0 R over 147 trades2024-06: +8.8 R over 132 trades2024-07: -27.8 R over 157 trades2024-08: +4.7 R over 144 trades2024-09: -42.0 R over 167 trades2024-10: -16.4 R over 135 trades2024-102024-11: -11.5 R over 124 trades2024-12: -17.8 R over 125 trades2025-01: -30.4 R over 144 trades2025-02: -15.6 R over 116 trades2025-03: -22.3 R over 89 trades2025-04: +9.2 R over 127 trades2025-042025-05: -12.4 R over 126 trades2025-06: +29.7 R over 152 trades2025-07: -23.6 R over 126 trades2025-08: -27.0 R over 138 trades2025-09: +6.6 R over 145 trades2025-10: +5.3 R over 149 trades2025-102025-11: -8.1 R over 105 trades2025-12: -25.3 R over 137 trades2026-01: -5.4 R over 138 trades2026-02: -34.1 R over 132 trades2026-03: -18.4 R over 117 trades2026-04: +27.0 R over 140 trades2026-042026-05: +20.6 R over 74 trades2026-06: -4.2 R over 113 trades2026-07: -29.2 R over 136 trades2026-08: -4.5 R over 108 trades2026-09: -0.4 R over 142 trades+30 R-43 R

What trend_ema20_vs_ema50 measures

EMA20 above EMA50 (flag), on M5 bars. 1 when the 20-bar exponential average is above the 50-bar average on M5, else 0.

Equals 1 exactly when ema_spread_norm is above 0, so the two are one condition, not two.

Test your own variant

Rule Collider runs one rule on one symbol over years of broker M5 data with the fills and the spread a demo fleet measured, and shows the out-of-sample figure first. Early access goes to the waitlist in signup order.

Join the waitlist

Historical simulation on broker M5 data with a measured fill offset, a measured spread factor, swap and a one-minute confirmation model. Past results do not predict future results. This is a research tool, not investment advice. Hours are broker time, the chart time in MT5. Built 2026-11-04 from runs ending 2026-09-30; refreshed monthly.