Does h1_roc_20_atr below 0.3647 work on DJI30? 2023 to 2026 backtest
DJI30 long when H1 20-bar change (H1 ATR) is below the threshold, tested at five thresholds taken from the feature’s own distribution on DJI30 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 3 ATR, target 3 R, held overnight, max spread 50 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
h1_roc_20_atr < -3.862
-47.1 R / 511
-42.4 R / 231
-1.7
327
-39.5 R / 73
No edge shown
p25
h1_roc_20_atr < -1.868
-96.7 R / 972
-77.8 R / 446
-2.3
335
-48.7 R / 153
Active, net negative
p50
h1_roc_20_atr < 0.3647
-143.7 R / 1560
-104.6 R / 732
-2.4
514
-52.9 R / 259
Active, net negative
p75
h1_roc_20_atr < 2.606
-229.3 R / 2065
-164.6 R / 966
-3.3
354
-58.0 R / 309
Active, net negative
p90
h1_roc_20_atr < 4.992
-226.1 R / 2334
-175.4 R / 1075
-3.3
390
-66.6 R / 349
Active, net negative
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
h1_roc_20_atr < -3.862 (p10)
Honesty panelNo edge shown
No edge shown out of sample: -42.4 R over 231 trades is -0.183 R per trade, within what chance produces (t = -1.7); about 327 trades would be needed to confirm this mean at t = -2, shown: 231.
In sample
2023-09-30 to 2025-11-05
-47.1 R
511 trades · 32% wins
-0.092 R per trade · t = -1.3, within chance
about 1,287 trades to confirm this mean (-0.092 R per trade) at t = -2 · shown: 511
spread 0.058 R per trade
Out of sample
2025-11-05 to 2026-09-30
-42.4 R
231 trades · 27% wins
-0.183 R per trade · t = -1.7, within chance
about 327 trades to confirm this mean (-0.183 R per trade) at t = -2 · shown: 231
spread 0.050 R per trade
Last quarter
last 91 days of the window
-39.5 R
73 trades · 21% wins
-0.541 R per trade · t = -3.3, beyond chance
about 27 trades to confirm this mean (-0.541 R per trade) at t = -2 · shown: 73
spread 0.058 R per trade
Costs. Spread 0.056 R per trade at 1.25 times the bar’s minimum. Fill offset 0.14 stop-distances on every entry, measured on 931 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -44.7 R (-0.193 R per trade over 231 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 749 signals placed, 742 filled, 7 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 3 ATR (mean 971.0 pips, 3.00 ATR); target 3 R; exits 65% at the stop, 21% at the target, 13% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (13,018 bars); max spread 50 pips (2,435 bars over it); M1 confirmation 25 pips (144 signals rejected).
h1_roc_20_atr < -1.868 (p25)
Honesty panelActive, net negative
Traded 446 times out of sample, net negative beyond chance (-77.8 R, -0.174 R per trade, t = -2.3); still active in the last quarter (-48.7 R over 153 trades).
In sample
2023-09-30 to 2025-11-05
-96.7 R
972 trades · 33% wins
-0.099 R per trade · t = -1.9, within chance
about 1,072 trades to confirm this mean (-0.099 R per trade) at t = -2 · shown: 972
spread 0.058 R per trade
Out of sample
2025-11-05 to 2026-09-30
-77.8 R
446 trades · 30% wins
-0.174 R per trade · t = -2.3, beyond chance
about 335 trades to confirm this mean (-0.174 R per trade) at t = -2 · shown: 446
spread 0.048 R per trade
Last quarter
last 91 days of the window
-48.7 R
153 trades · 27% wins
-0.318 R per trade · t = -2.6, beyond chance
about 92 trades to confirm this mean (-0.318 R per trade) at t = -2 · shown: 153
spread 0.059 R per trade
Costs. Spread 0.055 R per trade at 1.25 times the bar’s minimum. Fill offset 0.14 stop-distances on every entry, measured on 931 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -82.0 R (-0.184 R per trade over 446 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 1,430 signals placed, 1,418 filled, 12 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 3 ATR (mean 1002.1 pips, 3.00 ATR); target 3 R; exits 64% at the stop, 20% at the target, 16% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (9,748 bars); max spread 50 pips (2,185 bars over it); M1 confirmation 25 pips (293 signals rejected).
h1_roc_20_atr < 0.3647 (p50)
Honesty panelActive, net negative
Traded 732 times out of sample, net negative beyond chance (-104.6 R, -0.143 R per trade, t = -2.4); still active in the last quarter (-52.9 R over 259 trades).
In sample
2023-09-30 to 2025-11-05
-143.7 R
1560 trades · 33% wins
-0.092 R per trade · t = -2.3, beyond chance
about 1,231 trades to confirm this mean (-0.092 R per trade) at t = -2 · shown: 1560
spread 0.058 R per trade
Out of sample
2025-11-05 to 2026-09-30
-104.6 R
732 trades · 31% wins
-0.143 R per trade · t = -2.4, beyond chance
about 514 trades to confirm this mean (-0.143 R per trade) at t = -2 · shown: 732
spread 0.050 R per trade
Last quarter
last 91 days of the window
-52.9 R
259 trades · 29% wins
-0.204 R per trade · t = -2.1, beyond chance
about 245 trades to confirm this mean (-0.204 R per trade) at t = -2 · shown: 259
spread 0.059 R per trade
Costs. Spread 0.055 R per trade at 1.25 times the bar’s minimum. Fill offset 0.14 stop-distances on every entry, measured on 931 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -111.9 R (-0.153 R per trade over 732 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 2,310 signals placed, 2,292 filled, 18 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 3 ATR (mean 982.0 pips, 3.00 ATR); target 3 R; exits 63% at the stop, 20% at the target, 17% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (5,802 bars); max spread 50 pips (1,731 bars over it); M1 confirmation 25 pips (498 signals rejected).
h1_roc_20_atr < 2.606 (p75)
Honesty panelActive, net negative
Traded 966 times out of sample, net negative beyond chance (-164.6 R, -0.170 R per trade, t = -3.3); still active in the last quarter (-58.0 R over 309 trades).
In sample
2023-09-30 to 2025-11-05
-229.3 R
2065 trades · 32% wins
-0.111 R per trade · t = -3.1, beyond chance
about 851 trades to confirm this mean (-0.111 R per trade) at t = -2 · shown: 2065
spread 0.059 R per trade
Out of sample
2025-11-05 to 2026-09-30
-164.6 R
966 trades · 30% wins
-0.170 R per trade · t = -3.3, beyond chance
about 354 trades to confirm this mean (-0.170 R per trade) at t = -2 · shown: 966
spread 0.050 R per trade
Last quarter
last 91 days of the window
-58.0 R
309 trades · 29% wins
-0.188 R per trade · t = -2.1, beyond chance
about 292 trades to confirm this mean (-0.188 R per trade) at t = -2 · shown: 309
spread 0.058 R per trade
Costs. Spread 0.056 R per trade at 1.25 times the bar’s minimum. Fill offset 0.14 stop-distances on every entry, measured on 931 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -174.2 R (-0.180 R per trade over 966 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,056 signals placed, 3,031 filled, 25 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 3 ATR (mean 960.4 pips, 3.00 ATR); target 3 R; exits 64% at the stop, 20% at the target, 16% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (3,356 bars); max spread 50 pips (1,180 bars over it); M1 confirmation 25 pips (627 signals rejected).
h1_roc_20_atr < 4.992 (p90)
Honesty panelActive, net negative
Traded 1075 times out of sample, net negative beyond chance (-175.4 R, -0.163 R per trade, t = -3.3); still active in the last quarter (-66.6 R over 349 trades).
In sample
2023-09-30 to 2025-11-05
-226.1 R
2334 trades · 33% wins
-0.097 R per trade · t = -2.9, beyond chance
about 1,135 trades to confirm this mean (-0.097 R per trade) at t = -2 · shown: 2334
spread 0.059 R per trade
Out of sample
2025-11-05 to 2026-09-30
-175.4 R
1075 trades · 30% wins
-0.163 R per trade · t = -3.3, beyond chance
about 390 trades to confirm this mean (-0.163 R per trade) at t = -2 · shown: 1075
spread 0.051 R per trade
Last quarter
last 91 days of the window
-66.6 R
349 trades · 29% wins
-0.191 R per trade · t = -2.2, beyond chance
about 284 trades to confirm this mean (-0.191 R per trade) at t = -2 · shown: 349
spread 0.058 R per trade
Costs. Spread 0.056 R per trade at 1.25 times the bar’s minimum. Fill offset 0.14 stop-distances on every entry, measured on 931 demo fills. At 1.5 times the bar’s minimum the out-of-sample figure would read -186.3 R (-0.173 R per trade over 1075 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,436 signals placed, 3,409 filled, 27 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 3 ATR (mean 948.6 pips, 3.00 ATR); target 3 R; exits 64% at the stop, 20% at the target, 16% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (1,899 bars); max spread 50 pips (874 bars over it); M1 confirmation 25 pips (714 signals rejected).
What h1_roc_20_atr measures
H1 20-bar change (H1 ATR) (atr), on H1 bars. H1 close minus the H1 close 20 bars earlier, in multiples of the H1 ATR(14).
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.