Does price_vs_20d_low_atr above 2.315 work on US100? 2023 to 2026 backtest
US100 long when Close vs 20-bar low (ATR) 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.5 ATR, target 3 R, held overnight, max spread 30 pips, one-minute confirmation 50 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
price_vs_20d_low_atr > 0.5295
-235.7 R / 3028
-148.8 R / 1393
-2.4
950
-53.0 R / 431
Active, net negative
p25
price_vs_20d_low_atr > 1.196
-256.8 R / 2851
-113.8 R / 1269
-1.9
1,359
-38.9 R / 394
No edge shown
p50
price_vs_20d_low_atr > 2.315
-140.5 R / 2440
-77.5 R / 1047
-1.5
1,990
-28.2 R / 331
No edge shown
p75
price_vs_20d_low_atr > 3.782
-35.6 R / 1790
-54.2 R / 808
-1.1
2,466
-29.6 R / 256
No edge shown
p90
price_vs_20d_low_atr > 5.269
-3.4 R / 1155
-16.9 R / 512
-0.4
10,940
-41.8 R / 167
No 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
price_vs_20d_low_atr > 0.5295 (p10)
Honesty panelActive, net negative
Traded 1393 times out of sample, net negative beyond chance (-148.8 R, -0.107 R per trade, t = -2.4); still active in the last quarter (-53.0 R over 431 trades).
In sample
2023-09-30 to 2025-11-05
-235.7 R
3028 trades · 31% wins
-0.078 R per trade · t = -2.6, beyond chance
about 1,830 trades to confirm this mean (-0.078 R per trade) at t = -2 · shown: 3028
spread 0.070 R per trade
Out of sample
2025-11-05 to 2026-09-30
-148.8 R
1393 trades · 29% wins
-0.107 R per trade · t = -2.4, beyond chance
about 950 trades to confirm this mean (-0.107 R per trade) at t = -2 · shown: 1393
spread 0.040 R per trade
Last quarter
last 91 days of the window
-53.0 R
431 trades · 29% wins
-0.123 R per trade · t = -1.6, within chance
about 699 trades to confirm this mean (-0.123 R per trade) at t = -2 · shown: 431
spread 0.037 R per trade
Costs. Spread 0.061 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 -160.0 R (-0.115 R per trade over 1393 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,466 signals placed, 4,421 filled, 45 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 559.9 pips, 2.50 ATR); target 3 R; exits 67% at the stop, 21% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (2,339 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,619 signals rejected).
price_vs_20d_low_atr > 1.196 (p25)
Honesty panelNo edge shown
No edge shown out of sample: -113.8 R over 1269 trades is -0.090 R per trade, within what chance produces (t = -1.9); about 1,359 trades would be needed to confirm this mean at t = -2, shown: 1269.
In sample
2023-09-30 to 2025-11-05
-256.8 R
2851 trades · 31% wins
-0.090 R per trade · t = -2.9, beyond chance
about 1,354 trades to confirm this mean (-0.090 R per trade) at t = -2 · shown: 2851
spread 0.070 R per trade
Out of sample
2025-11-05 to 2026-09-30
-113.8 R
1269 trades · 29% wins
-0.090 R per trade · t = -1.9, within chance
about 1,359 trades to confirm this mean (-0.090 R per trade) at t = -2 · shown: 1269
spread 0.040 R per trade
Last quarter
last 91 days of the window
-38.9 R
394 trades · 30% wins
-0.099 R per trade · t = -1.2, within chance
about 1,089 trades to confirm this mean (-0.099 R per trade) at t = -2 · shown: 394
spread 0.037 R per trade
Costs. Spread 0.061 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 -124.0 R (-0.098 R per trade over 1269 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,164 signals placed, 4,120 filled, 44 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 562.7 pips, 2.50 ATR); target 3 R; exits 67% at the stop, 21% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (2,836 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,788 signals rejected).
price_vs_20d_low_atr > 2.315 (p50)
Honesty panelNo edge shown
No edge shown out of sample: -77.5 R over 1047 trades is -0.074 R per trade, within what chance produces (t = -1.5); about 1,990 trades would be needed to confirm this mean at t = -2, shown: 1047.
In sample
2023-09-30 to 2025-11-05
-140.5 R
2440 trades · 32% wins
-0.058 R per trade · t = -1.7, within chance
about 3,374 trades to confirm this mean (-0.058 R per trade) at t = -2 · shown: 2440
spread 0.073 R per trade
Out of sample
2025-11-05 to 2026-09-30
-77.5 R
1047 trades · 30% wins
-0.074 R per trade · t = -1.5, within chance
about 1,990 trades to confirm this mean (-0.074 R per trade) at t = -2 · shown: 1047
spread 0.042 R per trade
Last quarter
last 91 days of the window
-28.2 R
331 trades · 31% wins
-0.085 R per trade · t = -1.0, within chance
about 1,460 trades to confirm this mean (-0.085 R per trade) at t = -2 · shown: 331
spread 0.038 R per trade
Costs. Spread 0.064 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 -86.3 R (-0.082 R per trade over 1047 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,519 signals placed, 3,487 filled, 32 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 542.4 pips, 2.50 ATR); target 3 R; exits 66% 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 (4,134 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,390 signals rejected).
price_vs_20d_low_atr > 3.782 (p75)
Honesty panelNo edge shown
No edge shown out of sample: -54.2 R over 808 trades is -0.067 R per trade, within what chance produces (t = -1.1); about 2,466 trades would be needed to confirm this mean at t = -2, shown: 808.
In sample
2023-09-30 to 2025-11-05
-35.6 R
1790 trades · 34% wins
-0.020 R per trade · t = -0.5, within chance
about 28,509 trades to confirm this mean (-0.020 R per trade) at t = -2 · shown: 1790
spread 0.074 R per trade
Out of sample
2025-11-05 to 2026-09-30
-54.2 R
808 trades · 30% wins
-0.067 R per trade · t = -1.1, within chance
about 2,466 trades to confirm this mean (-0.067 R per trade) at t = -2 · shown: 808
spread 0.043 R per trade
Last quarter
last 91 days of the window
-29.6 R
256 trades · 29% wins
-0.116 R per trade · t = -1.1, within chance
about 795 trades to confirm this mean (-0.116 R per trade) at t = -2 · shown: 256
spread 0.039 R per trade
Costs. Spread 0.065 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 -61.2 R (-0.076 R per trade over 808 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 2,630 signals placed, 2,598 filled, 32 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 520.2 pips, 2.50 ATR); target 3 R; exits 64% at the stop, 22% at the target, 14% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (6,662 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (3,976 signals rejected).
price_vs_20d_low_atr > 5.269 (p90)
Honesty panelNo edge shown
No edge shown out of sample: -16.9 R over 512 trades is -0.033 R per trade, within what chance produces (t = -0.4); about 10,940 trades would be needed to confirm this mean at t = -2, shown: 512.
In sample
2023-09-30 to 2025-11-05
-3.4 R
1155 trades · 33% wins
-0.003 R per trade · t = -0.1, within chance
about 1,326,387 trades to confirm this mean (-0.003 R per trade) at t = -2 · shown: 1155
spread 0.073 R per trade
Out of sample
2025-11-05 to 2026-09-30
-16.9 R
512 trades · 31% wins
-0.033 R per trade · t = -0.4, within chance
about 10,940 trades to confirm this mean (-0.033 R per trade) at t = -2 · shown: 512
spread 0.044 R per trade
Last quarter
last 91 days of the window
-41.8 R
167 trades · 25% wins
-0.250 R per trade · t = -2.1, beyond chance
about 157 trades to confirm this mean (-0.250 R per trade) at t = -2 · shown: 167
spread 0.041 R per trade
Costs. Spread 0.064 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 -21.5 R (-0.042 R per trade over 512 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 1,692 signals placed, 1,667 filled, 25 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 509.5 pips, 2.50 ATR); target 3 R; exits 64% at the stop, 23% at the target, 13% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (9,731 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (2,390 signals rejected).
What price_vs_20d_low_atr measures
Close vs 20-bar low (ATR) (atr), on M5 bars. Close minus the lowest low of the last 20 M5 bars (this bar included), in ATR multiples; zero or positive, zero only when the bar closes exactly at the 20-bar low.
The name says 20d but the window is 20 bars (legacy naming, kept for compatibility).
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.