Does volume_ratio_pct_20d below 0.5003 work on US100? 2023 to 2026 backtest
US100 long when Volume ratio, 20-day percentile is below 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 2.5 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
volume_ratio_pct_20d < 0.1016
-49.8 R / 626
-24.3 R / 406
-0.7
3,133
-21.5 R / 108
No edge shown
p25
volume_ratio_pct_20d < 0.2514
-166.6 R / 1572
-33.9 R / 807
-0.8
5,656
-5.2 R / 262
No edge shown
p50
volume_ratio_pct_20d < 0.5003
-213.6 R / 2362
-120.5 R / 1154
-2.3
838
-25.7 R / 351
Active, net negative
p75
volume_ratio_pct_20d < 0.7481
-211.6 R / 2760
-122.5 R / 1284
-2.3
1,002
-47.3 R / 400
Active, net negative
p90
volume_ratio_pct_20d < 0.8979
-306.1 R / 3094
-126.1 R / 1418
-2.2
1,161
-49.7 R / 456
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
volume_ratio_pct_20d < 0.1016 (p10)
Honesty panelNo edge shown
No edge shown out of sample: -24.3 R over 406 trades is -0.060 R per trade, within what chance produces (t = -0.7); about 3,133 trades would be needed to confirm this mean at t = -2, shown: 406.
In sample
2023-09-30 to 2025-11-05
-49.8 R
626 trades · 32% wins
-0.080 R per trade · t = -1.2, within chance
about 1,666 trades to confirm this mean (-0.080 R per trade) at t = -2 · shown: 626
spread 0.097 R per trade
Out of sample
2025-11-05 to 2026-09-30
-24.3 R
406 trades · 31% wins
-0.060 R per trade · t = -0.7, within chance
about 3,133 trades to confirm this mean (-0.060 R per trade) at t = -2 · shown: 406
spread 0.061 R per trade
Last quarter
last 91 days of the window
-21.5 R
108 trades · 27% wins
-0.199 R per trade · t = -1.3, within chance
about 246 trades to confirm this mean (-0.199 R per trade) at t = -2 · shown: 108
spread 0.055 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 -29.2 R (-0.072 R per trade over 406 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 1,048 signals placed, 1,032 filled, 16 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 410.1 pips, 2.50 ATR); target 2.5 R; exits 68% at the stop, 31% at the target, 1% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (15,094 bars); max spread 30 pips (2 bars over it); M1 confirmation 50 pips (2,562 signals rejected).
volume_ratio_pct_20d < 0.2514 (p25)
Honesty panelNo edge shown
No edge shown out of sample: -33.9 R over 807 trades is -0.042 R per trade, within what chance produces (t = -0.8); about 5,656 trades would be needed to confirm this mean at t = -2, shown: 807.
In sample
2023-09-30 to 2025-11-05
-166.6 R
1572 trades · 33% wins
-0.106 R per trade · t = -2.7, beyond chance
about 855 trades to confirm this mean (-0.106 R per trade) at t = -2 · shown: 1572
spread 0.087 R per trade
Out of sample
2025-11-05 to 2026-09-30
-33.9 R
807 trades · 33% wins
-0.042 R per trade · t = -0.8, within chance
about 5,656 trades to confirm this mean (-0.042 R per trade) at t = -2 · shown: 807
spread 0.053 R per trade
Last quarter
last 91 days of the window
-5.2 R
262 trades · 33% wins
-0.020 R per trade · t = -0.2, within chance
about 25,807 trades to confirm this mean (-0.020 R per trade) at t = -2 · shown: 262
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 -42.4 R (-0.053 R per trade over 807 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 2,417 signals placed, 2,379 filled, 38 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 412.7 pips, 2.50 ATR); target 2.5 R; exits 65% at the stop, 27% at the target, 8% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (10,365 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,322 signals rejected).
volume_ratio_pct_20d < 0.5003 (p50)
Honesty panelActive, net negative
Traded 1154 times out of sample, net negative beyond chance (-120.5 R, -0.104 R per trade, t = -2.3); still active in the last quarter (-25.7 R over 351 trades).
In sample
2023-09-30 to 2025-11-05
-213.6 R
2362 trades · 34% wins
-0.090 R per trade · t = -2.9, beyond chance
about 1,117 trades to confirm this mean (-0.090 R per trade) at t = -2 · shown: 2362
spread 0.075 R per trade
Out of sample
2025-11-05 to 2026-09-30
-120.5 R
1154 trades · 32% wins
-0.104 R per trade · t = -2.3, beyond chance
about 838 trades to confirm this mean (-0.104 R per trade) at t = -2 · shown: 1154
spread 0.045 R per trade
Last quarter
last 91 days of the window
-25.7 R
351 trades · 33% wins
-0.073 R per trade · t = -0.9, within chance
about 1,693 trades to confirm this mean (-0.073 R per trade) at t = -2 · shown: 351
spread 0.041 R per trade
Costs. Spread 0.065 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 -130.8 R (-0.113 R per trade over 1154 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,554 signals placed, 3,516 filled, 38 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 504.4 pips, 2.50 ATR); target 2.5 R; exits 63% at the stop, 24% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (4,183 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (6,251 signals rejected).
volume_ratio_pct_20d < 0.7481 (p75)
Honesty panelActive, net negative
Traded 1284 times out of sample, net negative beyond chance (-122.5 R, -0.095 R per trade, t = -2.3); still active in the last quarter (-47.3 R over 400 trades).
In sample
2023-09-30 to 2025-11-05
-211.6 R
2760 trades · 34% wins
-0.077 R per trade · t = -2.6, beyond chance
about 1,574 trades to confirm this mean (-0.077 R per trade) at t = -2 · shown: 2760
spread 0.073 R per trade
Out of sample
2025-11-05 to 2026-09-30
-122.5 R
1284 trades · 32% wins
-0.095 R per trade · t = -2.3, beyond chance
about 1,002 trades to confirm this mean (-0.095 R per trade) at t = -2 · shown: 1284
spread 0.043 R per trade
Last quarter
last 91 days of the window
-47.3 R
400 trades · 32% wins
-0.118 R per trade · t = -1.6, within chance
about 631 trades to confirm this mean (-0.118 R per trade) at t = -2 · shown: 400
spread 0.040 R per trade
Costs. Spread 0.063 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 -133.7 R (-0.104 R per trade over 1284 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,086 signals placed, 4,044 filled, 42 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 547.4 pips, 2.50 ATR); target 2.5 R; exits 63% at the stop, 25% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (2,612 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (6,159 signals rejected).
volume_ratio_pct_20d < 0.8979 (p90)
Honesty panelActive, net negative
Traded 1418 times out of sample, net negative beyond chance (-126.1 R, -0.089 R per trade, t = -2.2); still active in the last quarter (-49.7 R over 456 trades).
In sample
2023-09-30 to 2025-11-05
-306.1 R
3094 trades · 34% wins
-0.099 R per trade · t = -3.6, beyond chance
about 939 trades to confirm this mean (-0.099 R per trade) at t = -2 · shown: 3094
spread 0.074 R per trade
Out of sample
2025-11-05 to 2026-09-30
-126.1 R
1418 trades · 33% wins
-0.089 R per trade · t = -2.2, beyond chance
about 1,161 trades to confirm this mean (-0.089 R per trade) at t = -2 · shown: 1418
spread 0.042 R per trade
Last quarter
last 91 days of the window
-49.7 R
456 trades · 32% wins
-0.109 R per trade · t = -1.6, within chance
about 759 trades to confirm this mean (-0.109 R per trade) at t = -2 · shown: 456
spread 0.038 R per trade
Costs. Spread 0.064 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 -137.9 R (-0.097 R per trade over 1418 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,558 signals placed, 4,512 filled, 46 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 569.6 pips, 2.50 ATR); target 2.5 R; exits 64% at the stop, 24% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (2,194 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (6,297 signals rejected).
What volume_ratio_pct_20d measures
Volume ratio, 20-day percentile (percentile), on M5 bars. Percentile rank of volume_ratio within the trailing 5,760 bars, 0 to 1.
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.