Does vwap_distance above 0.39 work on US100? 2023 to 2026 backtest
US100 long when Close vs 50-bar VWAP (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
vwap_distance > -3.071
-199.8 R / 2919
-129.5 R / 1233
-2.3
974
-57.4 R / 390
Active, net negative
p25
vwap_distance > -1.452
-213.6 R / 2640
-97.5 R / 1095
-1.8
1,362
-31.5 R / 334
No edge shown
p50
vwap_distance > 0.39
-123.2 R / 2152
-51.6 R / 880
-1.1
3,178
-21.6 R / 268
No edge shown
p75
vwap_distance > 2.284
-52.5 R / 1493
-4.6 R / 615
-0.1
207,202
-9.9 R / 184
No edge shown
p90
vwap_distance > 4.076
+49.0 R / 829
+10.8 R / 355
0.3
12,586
-6.9 R / 109
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
vwap_distance > -3.071 (p10)
Honesty panelActive, net negative
Traded 1233 times out of sample, net negative beyond chance (-129.5 R, -0.105 R per trade, t = -2.3); still active in the last quarter (-57.4 R over 390 trades).
In sample
2023-09-30 to 2025-11-05
-199.8 R
2919 trades · 31% wins
-0.068 R per trade · t = -2.2, beyond chance
about 2,395 trades to confirm this mean (-0.068 R per trade) at t = -2 · shown: 2919
spread 0.072 R per trade
Out of sample
2025-11-05 to 2026-09-30
-129.5 R
1233 trades · 29% wins
-0.105 R per trade · t = -2.3, beyond chance
about 974 trades to confirm this mean (-0.105 R per trade) at t = -2 · shown: 1233
spread 0.040 R per trade
Last quarter
last 91 days of the window
-57.4 R
390 trades · 28% wins
-0.147 R per trade · t = -1.8, within chance
about 469 trades to confirm this mean (-0.147 R per trade) at t = -2 · shown: 390
spread 0.037 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 -139.4 R (-0.113 R per trade over 1233 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 4,193 signals placed, 4,152 filled, 41 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 551.8 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,925 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,954 signals rejected).
vwap_distance > -1.452 (p25)
Honesty panelNo edge shown
No edge shown out of sample: -97.5 R over 1095 trades is -0.089 R per trade, within what chance produces (t = -1.8); about 1,362 trades would be needed to confirm this mean at t = -2, shown: 1095.
In sample
2023-09-30 to 2025-11-05
-213.6 R
2640 trades · 31% wins
-0.081 R per trade · t = -2.5, beyond chance
about 1,698 trades to confirm this mean (-0.081 R per trade) at t = -2 · shown: 2640
spread 0.073 R per trade
Out of sample
2025-11-05 to 2026-09-30
-97.5 R
1095 trades · 30% wins
-0.089 R per trade · t = -1.8, within chance
about 1,362 trades to confirm this mean (-0.089 R per trade) at t = -2 · shown: 1095
spread 0.042 R per trade
Last quarter
last 91 days of the window
-31.5 R
334 trades · 30% wins
-0.094 R per trade · t = -1.1, within chance
about 1,194 trades to confirm this mean (-0.094 R per trade) at t = -2 · shown: 334
spread 0.037 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 -106.6 R (-0.097 R per trade over 1095 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,776 signals placed, 3,735 filled, 41 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 538.4 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 (4,056 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,415 signals rejected).
vwap_distance > 0.39 (p50)
Honesty panelNo edge shown
No edge shown out of sample: -51.6 R over 880 trades is -0.059 R per trade, within what chance produces (t = -1.1); about 3,178 trades would be needed to confirm this mean at t = -2, shown: 880.
In sample
2023-09-30 to 2025-11-05
-123.2 R
2152 trades · 32% wins
-0.057 R per trade · t = -1.6, within chance
about 3,513 trades to confirm this mean (-0.057 R per trade) at t = -2 · shown: 2152
spread 0.078 R per trade
Out of sample
2025-11-05 to 2026-09-30
-51.6 R
880 trades · 32% wins
-0.059 R per trade · t = -1.1, within chance
about 3,178 trades to confirm this mean (-0.059 R per trade) at t = -2 · shown: 880
spread 0.043 R per trade
Last quarter
last 91 days of the window
-21.6 R
268 trades · 31% wins
-0.081 R per trade · t = -0.8, within chance
about 1,653 trades to confirm this mean (-0.081 R per trade) at t = -2 · shown: 268
spread 0.039 R per trade
Costs. Spread 0.068 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 -59.2 R (-0.067 R per trade over 880 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 3,057 signals placed, 3,032 filled, 25 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 511.8 pips, 2.50 ATR); target 3 R; exits 66% at the stop, 22% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (5,993 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (5,154 signals rejected).
vwap_distance > 2.284 (p75)
Honesty panelNo edge shown
No edge shown out of sample: -4.6 R over 615 trades is -0.007 R per trade, within what chance produces (t = -0.1); about 207,202 trades would be needed to confirm this mean at t = -2, shown: 615.
In sample
2023-09-30 to 2025-11-05
-52.5 R
1493 trades · 32% wins
-0.035 R per trade · t = -0.8, within chance
about 9,462 trades to confirm this mean (-0.035 R per trade) at t = -2 · shown: 1493
spread 0.081 R per trade
Out of sample
2025-11-05 to 2026-09-30
-4.6 R
615 trades · 32% wins
-0.007 R per trade · t = -0.1, within chance
about 207,202 trades to confirm this mean (-0.007 R per trade) at t = -2 · shown: 615
spread 0.046 R per trade
Last quarter
last 91 days of the window
-9.9 R
184 trades · 30% wins
-0.054 R per trade · t = -0.4, within chance
about 4,006 trades to confirm this mean (-0.054 R per trade) at t = -2 · shown: 184
spread 0.041 R per trade
Costs. Spread 0.071 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 -10.3 R (-0.017 R per trade over 615 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 2,126 signals placed, 2,108 filled, 18 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 478.3 pips, 2.50 ATR); target 3 R; exits 65% at the stop, 23% at the target, 12% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (9,206 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (3,647 signals rejected).
vwap_distance > 4.076 (p90)
Honesty panelNet positive, not distinguishable from chance
Net positive out of sample, not yet distinguishable from chance: +10.8 R over 355 trades is +0.031 R per trade, t = 0.3; about 12,586 trades would be needed to confirm this mean at t = 2, shown: 355; last quarter -6.9 R over 109 trades.
In sample
2023-09-30 to 2025-11-05
+49.0 R
829 trades · 34% wins
+0.059 R per trade · t = 1.0, within chance
about 3,548 trades to confirm this mean (+0.059 R per trade) at t = 2 · shown: 829
spread 0.087 R per trade
Out of sample
2025-11-05 to 2026-09-30
+10.8 R
355 trades · 32% wins
+0.031 R per trade · t = 0.3, within chance
about 12,586 trades to confirm this mean (+0.031 R per trade) at t = 2 · shown: 355
spread 0.048 R per trade
Last quarter
last 91 days of the window
-6.9 R
109 trades · 29% wins
-0.063 R per trade · t = -0.4, within chance
about 2,922 trades to confirm this mean (-0.063 R per trade) at t = -2 · shown: 109
spread 0.043 R per trade
Costs. Spread 0.076 R per trade at 1.25 times the bar’s minimum (60% 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 +7.4 R (+0.021 R per trade over 355 trades).
Entry: stop order 2 pips past the signal close, cancelled after 4 bars; 1,200 signals placed, 1,184 filled, 16 expired; trigger state, an entry on every bar the conditions hold while flat.
Exit: stop 2.5 ATR (mean 454.2 pips, 2.50 ATR); target 3 R; exits 64% at the stop, 26% at the target, 11% at the day end.
Filters: signals on every weekday; no entries 22:00 to 01:00 broker time (12,195 bars); max spread 30 pips (0 bars over it); M1 confirmation 50 pips (1,999 signals rejected).
What vwap_distance measures
Close vs 50-bar VWAP (ATR) (atr), on M5 bars. Close minus the tick-volume-weighted average of the typical price over 50 bars, in ATR multiples.
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.