Does roc_20_atr_z_60d above -0.01235 work on US100? 2023 to 2026 backtest
US100 long when 20-bar change, 60-day z-score 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 3.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
Percentile
Condition
In sample R / trades
Out of sample R / trades
t
Trades to confirm
Last quarter R / trades
Verdict
p10
roc_20_atr_z_60d > -1.25
-283.1 R / 3704
-190.8 R / 1672
-2.6
999
-68.7 R / 507
Active, net negative
p25
roc_20_atr_z_60d > -0.6791
-295.9 R / 3407
-147.8 R / 1504
-2.1
1,357
-78.4 R / 474
Active, net negative
p50
roc_20_atr_z_60d > -0.01235
-217.2 R / 2953
-113.6 R / 1262
-1.8
1,623
-36.7 R / 381
No edge shown
p75
roc_20_atr_z_60d > 0.6605
-61.5 R / 2231
-36.1 R / 930
-0.6
9,307
-41.8 R / 281
No edge shown
p90
roc_20_atr_z_60d > 1.273
-33.8 R / 1467
+38.8 R / 544
0.9
2,831
-9.2 R / 147
Net positive, not distinguishable from chance
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
roc_20_atr_z_60d > -1.25 (p10)
Honesty panelActive, net negative
Traded 1672 times out of sample, net negative beyond chance (-190.8 R, -0.114 R per trade, t = -2.6); still active in the last quarter (-68.7 R over 507 trades).
In sample
2023-09-30 to 2025-11-05
-283.1 R
3704 trades · 28% wins
-0.076 R per trade · t = -2.5, beyond chance
about 2,335 trades to confirm this mean (-0.076 R per trade) at t = -2 · shown: 3704
spread 0.087 R per trade
Out of sample
2025-11-05 to 2026-09-30
-190.8 R
1672 trades · 26% wins
-0.114 R per trade · t = -2.6, beyond chance
about 999 trades to confirm this mean (-0.114 R per trade) at t = -2 · shown: 1672
spread 0.052 R per trade
Last quarter
last 91 days of the window
-68.7 R
507 trades · 26% wins
-0.136 R per trade · t = -1.7, within chance
about 675 trades to confirm this mean (-0.136 R per trade) at t = -2 · shown: 507
spread 0.046 R per trade
Costs. Spread 0.076 R per trade at 1.25 times the bar’s minimum. 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 -208.1 R (-0.124 R per trade over 1672 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 5,419 signals placed, 5,376 filled, 43 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2 ATR (mean 440.8 pips, 2.00 ATR); target 3.5 R; exits 71% at the stop, 20% at the target, 9% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (3,088 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (1,942 signals rejected).
roc_20_atr_z_60d > -0.6791 (p25)
Honesty panelActive, net negative
Traded 1504 times out of sample, net negative beyond chance (-147.8 R, -0.098 R per trade, t = -2.1); still active in the last quarter (-78.4 R over 474 trades).
In sample
2023-09-30 to 2025-11-05
-295.9 R
3407 trades · 28% wins
-0.087 R per trade · t = -2.8, beyond chance
about 1,796 trades to confirm this mean (-0.087 R per trade) at t = -2 · shown: 3407
spread 0.091 R per trade
Out of sample
2025-11-05 to 2026-09-30
-147.8 R
1504 trades · 26% wins
-0.098 R per trade · t = -2.1, beyond chance
about 1,357 trades to confirm this mean (-0.098 R per trade) at t = -2 · shown: 1504
spread 0.053 R per trade
Last quarter
last 91 days of the window
-78.4 R
474 trades · 25% wins
-0.165 R per trade · t = -2.1, beyond chance
about 442 trades to confirm this mean (-0.165 R per trade) at t = -2 · shown: 474
spread 0.047 R per trade
Costs. Spread 0.079 R per trade at 1.25 times the bar’s minimum. 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 -163.7 R (-0.109 R per trade over 1504 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,959 signals placed, 4,911 filled, 48 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2 ATR (mean 427.4 pips, 2.00 ATR); target 3.5 R; exits 71% at the stop, 20% at the target, 9% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (3,903 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (1,959 signals rejected).
roc_20_atr_z_60d > -0.01235 (p50)
Honesty panelNo edge shown
No edge shown out of sample: -113.6 R over 1262 trades is -0.090 R per trade, within what chance produces (t = -1.8); about 1,623 trades would be needed to confirm this mean at t = -2, shown: 1262.
In sample
2023-09-30 to 2025-11-05
-217.2 R
2953 trades · 28% wins
-0.074 R per trade · t = -2.2, beyond chance
about 2,527 trades to confirm this mean (-0.074 R per trade) at t = -2 · shown: 2953
spread 0.095 R per trade
Out of sample
2025-11-05 to 2026-09-30
-113.6 R
1262 trades · 27% wins
-0.090 R per trade · t = -1.8, within chance
about 1,623 trades to confirm this mean (-0.090 R per trade) at t = -2 · shown: 1262
spread 0.055 R per trade
Last quarter
last 91 days of the window
-36.7 R
381 trades · 27% wins
-0.096 R per trade · t = -1.0, within chance
about 1,394 trades to confirm this mean (-0.096 R per trade) at t = -2 · shown: 381
spread 0.049 R per trade
Costs. Spread 0.083 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 -127.5 R (-0.101 R per trade over 1262 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,268 signals placed, 4,215 filled, 53 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2 ATR (mean 408.9 pips, 2.00 ATR); target 3.5 R; exits 71% at the stop, 20% at the target, 9% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (5,478 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (1,912 signals rejected).
roc_20_atr_z_60d > 0.6605 (p75)
Honesty panelNo edge shown
No edge shown out of sample: -36.1 R over 930 trades is -0.039 R per trade, within what chance produces (t = -0.6); about 9,307 trades would be needed to confirm this mean at t = -2, shown: 930.
In sample
2023-09-30 to 2025-11-05
-61.5 R
2231 trades · 29% wins
-0.028 R per trade · t = -0.7, within chance
about 18,732 trades to confirm this mean (-0.028 R per trade) at t = -2 · shown: 2231
spread 0.102 R per trade
Out of sample
2025-11-05 to 2026-09-30
-36.1 R
930 trades · 27% wins
-0.039 R per trade · t = -0.6, within chance
about 9,307 trades to confirm this mean (-0.039 R per trade) at t = -2 · shown: 930
spread 0.056 R per trade
Last quarter
last 91 days of the window
-41.8 R
281 trades · 25% wins
-0.149 R per trade · t = -1.4, within chance
about 575 trades to confirm this mean (-0.149 R per trade) at t = -2 · shown: 281
spread 0.050 R per trade
Costs. Spread 0.088 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 -46.5 R (-0.050 R per trade over 930 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,208 signals placed, 3,161 filled, 47 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2 ATR (mean 390.7 pips, 2.00 ATR); target 3.5 R; exits 69% at the stop, 21% at the target, 10% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (7,728 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (1,619 signals rejected).
roc_20_atr_z_60d > 1.273 (p90)
Honesty panelNet positive, not distinguishable from chance
Net positive out of sample, not yet distinguishable from chance: +38.8 R over 544 trades is +0.071 R per trade, t = 0.9; about 2,831 trades would be needed to confirm this mean at t = 2, shown: 544; last quarter -9.2 R over 147 trades.
In sample
2023-09-30 to 2025-11-05
-33.8 R
1467 trades · 29% wins
-0.023 R per trade · t = -0.5, within chance
about 26,655 trades to confirm this mean (-0.023 R per trade) at t = -2 · shown: 1467
spread 0.100 R per trade
Out of sample
2025-11-05 to 2026-09-30
+38.8 R
544 trades · 30% wins
+0.071 R per trade · t = 0.9, within chance
about 2,831 trades to confirm this mean (+0.071 R per trade) at t = 2 · shown: 544
spread 0.058 R per trade
Last quarter
last 91 days of the window
-9.2 R
147 trades · 27% wins
-0.063 R per trade · t = -0.4, within chance
about 3,487 trades to confirm this mean (-0.063 R per trade) at t = -2 · shown: 147
spread 0.052 R per trade
Costs. Spread 0.089 R per trade at 1.25 times the bar’s minimum (97% of the gross). 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 +32.5 R (+0.060 R per trade over 544 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 2,032 signals placed, 2,011 filled, 21 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2 ATR (mean 378.0 pips, 2.00 ATR); target 3.5 R; exits 68% at the stop, 22% at the target, 10% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (10,247 bars); max spread 30 pips (0 bars over it); M1 confirmation 25 pips (1,059 signals rejected).
What roc_20_atr_z_60d measures
20-bar change, 60-day z-score (zscore), on M5 bars. roc_20_atr minus its trailing 17,280-bar mean, divided by that window's standard deviation.
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.
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.