Claim check · NQ futures
Opening range breakout backtest on NQ futures: 324 variations, 1,050,582 trades, 2016–2026
Summary
Opening range breakout, 324 variations tested on NQ futures from 2016-06-01 to 2026-08-27, before costs: 30 versions were clearly positive in-sample and none of those 30 stayed clearly positive out-of-sample. The widely taught 15-minute range, 5-minute fair value gap retest, 2R version took 1,142 trades with a 38.6% win rate and an average of +0.022R, and its cumulative R was below zero from 2016 through 2024. Tested by CE Market Solutions (cemarketsolutions.com), a backtesting service for CME futures strategies.
The claim tested
A widely taught opening range breakout setup, as presented in a Trader Tips video.
Mark the opening range, wait for a breakout, then enter on a retest of the breakout through a fair value gap.
Rules exactly as tested
- Range: the high and low (wicks included) of the first 5, 15 or 30 minutes from the 09:30 ET open. Entries are allowed from the end of the range to 16:00 ET, with no cutoff time. Breakout events are decided on closed bars of the entry timeframe: a close above the range high or below the range low.
- Entry timeframes tested: 1, 5 and 15 minutes. Fills, stops and targets are always tested on 1-minute bars.
- E1 close-out: enter at the next 1-minute open after the breakout bar closes. Stops: range midpoint or the leg low.
- E2 break and retest: a limit at the range high (low for shorts), filled on the first touch after the breakout bar closes. Stops: range midpoint or the leg low.
- E3 second breakout: after the breakout, a short-term swing high above the range forms, price retests the range high, then the first close above that swing is the trigger; enter at the next 1-minute open. Stops: range midpoint, leg low or pullback low.
- E2F (the video’s version): after the breakout, take the latest bullish fair value gap on the entry timeframe that formed after the range ended and contains the range high; limit at the top of the gap; stop at the low of the gap’s first candle.
- Fade versions: on a failed breakout or a wick that closes back inside, go the other way. Either at the next open after the close back inside, or on the first fair value gap in the fade direction, with the stop at the high of the gap’s first candle.
- Control: a random direction (seed 7) at every E1 entry, same price and time.
- Targets: 1R, 2R and 3R. The 324 versions are 3 range lengths × 3 entry timeframes × 12 setups × 3 targets. Exit at target, stop or flat at the close of the 15:59 bar; a bar touching both on the fill bar counts as a stop.
- One open position per setup at a time. Trades flagged for the 10:00 news release are dropped from the headline numbers.
Assumptions where the rules were ambiguous:
- Every decision uses only bars that have closed. Swings count only after their confirmation bar closes.
- A setup that fails a check is counted and skipped, never adjusted.
- Intervals are day-cluster bootstrap, 2,000 resamples. With fewer than 8 trade days a cell shows its trade count only.
Data
- Instrument
- NQ (E-mini Nasdaq-100) futures, continuous contract, 1-minute bars
- Date range
- 2016-06-01 to 2026-08-27
- Sample size
- 324 versions, 1,050,582 filled trades across the grid (994,637 in the headline), on 2,550 trading days with at least one trade
- Costs
- Gross R. No commission or slippage.
- In-sample or out-of-sample
- In-sample is dates up to 2023-05-31. Out-of-sample is 2023-06-01 onward. The cells and rules were fixed before any run.
Results
| Sample | Trades | Win rate | Average R (95% interval) | Median stop |
|---|---|---|---|---|
| In-sample | 829 | 36.7% | −0.032 (−0.111 to +0.059) | 23 points |
| Out-of-sample | 313 | 43.8% | +0.164 (+0.016 to +0.308) | 54 points |
| All | 1,142 | 38.6% | +0.022 (−0.052 to +0.096) | 33.5 points |
| Year | Trades | Average R | R | Cumulative R |
|---|---|---|---|---|
| 2016 | 84 | −0.17 | −14.40 | −14.40 |
| 2017 | 120 | −0.04 | −4.36 | −18.76 |
| 2018 | 116 | −0.15 | −16.89 | −35.65 |
| 2019 | 109 | +0.19 | +20.73 | −14.92 |
| 2020 | 115 | −0.04 | −4.23 | −19.15 |
| 2021 | 114 | +0.05 | +5.50 | −13.64 |
| 2022 | 122 | −0.01 | −0.70 | −14.35 |
| 2023 | 119 | −0.02 | −2.93 | −17.27 |
| 2024 | 103 | +0.13 | +13.39 | −3.88 |
| 2025 | 91 | +0.16 | +14.59 | +10.71 |
| 2026 (to 08-27) | 49 | +0.28 | +13.94 | +24.64 |
| Year | Trades | Average R | Cumulative R |
|---|---|---|---|
| 2016 | 170 | +0.16 | +26.99 |
| 2017 | 284 | +0.01 | +30.14 |
| 2018 | 310 | +0.16 | +80.71 |
| 2019 | 288 | 0.00 | +80.90 |
| 2020 | 287 | +0.28 | +162.61 |
| 2021 | 260 | +0.01 | +164.69 |
| 2022 | 267 | +0.14 | +202.99 |
| 2023 | 272 | +0.01 | +205.44 |
| 2024 | 256 | −0.06 | +189.81 |
| 2025 | 242 | +0.03 | +198.13 |
| 2026 (to 08-27) | 156 | −0.12 | +179.64 |
| Version | In-sample trades | In-sample average R | Out-of-sample trades | Out-of-sample average R |
|---|---|---|---|---|
| 5m range, 1m entry: E1 close-out, stop at range midpoint | 5,737 | −0.007 (−0.043 to +0.029) | 2,644 | +0.003 (−0.048 to +0.054) |
| 5m range, 1m entry: E1 close-out, stop at the leg low | 4,203 | −0.029 (−0.069 to +0.013) | 1,955 | −0.017 (−0.076 to +0.043) |
| 5m range, 1m entry: E2 break and retest, stop at range midpoint | 5,011 | −0.004 (−0.040 to +0.032) | 2,343 | +0.003 (−0.053 to +0.061) |
| 5m range, 1m entry: E2 break and retest, stop at the leg low | 3,786 | −0.057 (−0.100 to −0.015) | 1,786 | +0.013 (−0.047 to +0.079) |
| 5m range, 1m entry: E3 second breakout, stop at range midpoint | 444 | −0.087 (−0.197 to +0.028) | 222 | +0.069 (−0.110 to +0.252) |
| 5m range, 1m entry: E3 second breakout, stop at the leg low | 435 | −0.095 (−0.213 to +0.012) | 216 | +0.029 (−0.139 to +0.206) |
| 5m range, 1m entry: E3 second breakout, stop at the pullback low | 451 | −0.119 (−0.245 to +0.003) | 222 | +0.113 (−0.074 to +0.319) |
| 5m range, 1m entry: E2F fair value gap retest, stop at the first candle | 1,504 | −0.066 (−0.131 to +0.002) | 548 | −0.008 (−0.119 to +0.110) |
| 5m range, 1m entry: Fade a failed breakout, entry at the close back inside | 5,933 | −0.043 (−0.076 to −0.009) | 2,800 | −0.079 (−0.130 to −0.031) |
| 5m range, 1m entry: Fade a failed breakout, fair value gap entry | 4,986 | +0.019 (−0.019 to +0.055) | 2,132 | −0.021 (−0.081 to +0.040) |
| 5m range, 1m entry: Control, random side, stop at range midpoint | 4,477 | −0.004 (−0.044 to +0.036) | 2,077 | −0.019 (−0.080 to +0.041) |
| 5m range, 1m entry: Control, random side, stop at the leg low | 3,423 | −0.020 (−0.065 to +0.026) | 1,555 | +0.046 (−0.021 to +0.118) |
| 5m range, 5m entry: E1 close-out, stop at range midpoint | 4,555 | −0.009 (−0.047 to +0.029) | 2,073 | +0.061 (+0.000 to +0.121) |
| 5m range, 5m entry: E1 close-out, stop at the leg low | 2,833 | −0.004 (−0.047 to +0.040) | 1,285 | +0.030 (−0.032 to +0.098) |
| 5m range, 5m entry: E2 break and retest, stop at range midpoint | 3,402 | +0.002 (−0.042 to +0.045) | 1,542 | +0.029 (−0.043 to +0.103) |
| 5m range, 5m entry: E2 break and retest, stop at the leg low | 2,407 | −0.062 (−0.109 to −0.013) | 1,106 | +0.021 (−0.055 to +0.093) |
| 5m range, 5m entry: E3 second breakout, stop at range midpoint | 360 | −0.008 (−0.119 to +0.107) | 157 | +0.018 (−0.138 to +0.176) |
| 5m range, 5m entry: E3 second breakout, stop at the leg low | 357 | +0.003 (−0.093 to +0.099) | 156 | +0.061 (−0.076 to +0.199) |
| 5m range, 5m entry: E3 second breakout, stop at the pullback low | 360 | +0.020 (−0.102 to +0.149) | 157 | −0.081 (−0.257 to +0.104) |
| 5m range, 5m entry: E2F fair value gap retest, stop at the first candle | 947 | −0.024 (−0.108 to +0.064) | 348 | +0.077 (−0.056 to +0.218) |
| 5m range, 5m entry: Fade a failed breakout, entry at the close back inside | 3,178 | −0.002 (−0.048 to +0.042) | 1,505 | −0.004 (−0.073 to +0.062) |
| 5m range, 5m entry: Fade a failed breakout, fair value gap entry | 1,774 | +0.022 (−0.039 to +0.084) | 717 | −0.015 (−0.105 to +0.078) |
| 5m range, 5m entry: Control, random side, stop at range midpoint | 3,693 | +0.004 (−0.042 to +0.046) | 1,711 | −0.005 (−0.067 to +0.061) |
| 5m range, 5m entry: Control, random side, stop at the leg low | 2,278 | +0.025 (−0.027 to +0.074) | 1,070 | +0.007 (−0.067 to +0.082) |
| 5m range, 15m entry: E1 close-out, stop at range midpoint | 3,243 | +0.034 (−0.011 to +0.077) | 1,465 | +0.062 (−0.005 to +0.133) |
| 5m range, 15m entry: E1 close-out, stop at the leg low | 2,229 | +0.042 (−0.002 to +0.087) | 1,008 | +0.062 (−0.006 to +0.126) |
| 5m range, 15m entry: E2 break and retest, stop at range midpoint | 1,918 | +0.059 (−0.002 to +0.116) | 839 | +0.039 (−0.058 to +0.136) |
| 5m range, 15m entry: E2 break and retest, stop at the leg low | 1,669 | +0.019 (−0.037 to +0.073) | 747 | +0.048 (−0.030 to +0.129) |
| 5m range, 15m entry: E3 second breakout, stop at range midpoint | 179 | −0.062 (−0.175 to +0.053) | 101 | −0.081 (−0.216 to +0.052) |
| 5m range, 15m entry: E3 second breakout, stop at the leg low | 179 | −0.043 (−0.135 to +0.055) | 101 | −0.085 (−0.192 to +0.014) |
| 5m range, 15m entry: E3 second breakout, stop at the pullback low | 179 | −0.075 (−0.196 to +0.052) | 101 | −0.071 (−0.215 to +0.073) |
| 5m range, 15m entry: E2F fair value gap retest, stop at the first candle | 388 | +0.029 (−0.071 to +0.131) | 171 | −0.070 (−0.215 to +0.091) |
| 5m range, 15m entry: Fade a failed breakout, entry at the close back inside | 1,828 | +0.060 (+0.003 to +0.119) | 801 | −0.032 (−0.113 to +0.051) |
| 5m range, 15m entry: Fade a failed breakout, fair value gap entry | 677 | +0.128 (+0.039 to +0.215) | 292 | −0.107 (−0.226 to +0.017) |
| 5m range, 15m entry: Control, random side, stop at range midpoint | 2,750 | +0.001 (−0.046 to +0.051) | 1,246 | +0.046 (−0.026 to +0.120) |
| 5m range, 15m entry: Control, random side, stop at the leg low | 1,925 | +0.016 (−0.032 to +0.063) | 885 | +0.011 (−0.057 to +0.079) |
| 15m range, 1m entry: E1 close-out, stop at range midpoint | 3,833 | −0.009 (−0.049 to +0.033) | 1,851 | +0.013 (−0.044 to +0.077) |
| 15m range, 1m entry: E1 close-out, stop at the leg low | 3,472 | −0.033 (−0.076 to +0.012) | 1,615 | −0.011 (−0.077 to +0.057) |
| 15m range, 1m entry: E2 break and retest, stop at range midpoint | 3,490 | −0.013 (−0.056 to +0.031) | 1,683 | +0.025 (−0.039 to +0.093) |
| 15m range, 1m entry: E2 break and retest, stop at the leg low | 3,108 | −0.060 (−0.105 to −0.014) | 1,464 | +0.013 (−0.052 to +0.082) |
| 15m range, 1m entry: E3 second breakout, stop at range midpoint | 282 | −0.138 (−0.269 to +0.003) | 150 | +0.087 (−0.107 to +0.273) |
| 15m range, 1m entry: E3 second breakout, stop at the leg low | 282 | −0.117 (−0.254 to +0.022) | 150 | −0.029 (−0.221 to +0.167) |
| 15m range, 1m entry: E3 second breakout, stop at the pullback low | 285 | −0.110 (−0.265 to +0.036) | 151 | +0.163 (−0.051 to +0.378) |
| 15m range, 1m entry: E2F fair value gap retest, stop at the first candle | 1,070 | −0.015 (−0.102 to +0.070) | 421 | −0.020 (−0.151 to +0.112) |
| 15m range, 1m entry: Fade a failed breakout, entry at the close back inside | 6,845 | −0.097 (−0.125 to −0.066) | 3,155 | −0.109 (−0.152 to −0.061) |
| 15m range, 1m entry: Fade a failed breakout, fair value gap entry | 4,559 | +0.020 (−0.020 to +0.060) | 1,987 | −0.065 (−0.124 to −0.005) |
| 15m range, 1m entry: Control, random side, stop at range midpoint | 2,994 | +0.002 (−0.042 to +0.047) | 1,435 | −0.035 (−0.100 to +0.031) |
| 15m range, 1m entry: Control, random side, stop at the leg low | 2,991 | −0.044 (−0.090 to +0.003) | 1,398 | −0.010 (−0.083 to +0.069) |
| 15m range, 5m entry: E1 close-out, stop at range midpoint | 3,298 | +0.016 (−0.025 to +0.061) | 1,591 | +0.042 (−0.021 to +0.109) |
| 15m range, 5m entry: E1 close-out, stop at the leg low | 2,527 | +0.030 (−0.016 to +0.075) | 1,174 | +0.030 (−0.034 to +0.099) |
| 15m range, 5m entry: E2 break and retest, stop at range midpoint | 2,708 | +0.003 (−0.046 to +0.051) | 1,291 | +0.051 (−0.022 to +0.132) |
| 15m range, 5m entry: E2 break and retest, stop at the leg low | 2,157 | −0.007 (−0.058 to +0.044) | 1,020 | +0.048 (−0.026 to +0.130) |
| 15m range, 5m entry: E3 second breakout, stop at range midpoint | 278 | −0.017 (−0.131 to +0.106) | 142 | +0.102 (−0.071 to +0.275) |
| 15m range, 5m entry: E3 second breakout, stop at the leg low | 276 | +0.015 (−0.087 to +0.122) | 142 | +0.118 (−0.029 to +0.262) |
| 15m range, 5m entry: E3 second breakout, stop at the pullback low | 278 | +0.039 (−0.094 to +0.185) | 142 | +0.162 (−0.041 to +0.367) |
| 15m range, 5m entry: E2F fair value gap retest, stop at the first candle | 829 | −0.032 (−0.111 to +0.059) | 313 | +0.164 (+0.016 to +0.308) |
| 15m range, 5m entry: Fade a failed breakout, entry at the close back inside | 3,658 | +0.011 (−0.031 to +0.053) | 1,627 | −0.040 (−0.108 to +0.027) |
| 15m range, 5m entry: Fade a failed breakout, fair value gap entry | 1,981 | +0.109 (+0.047 to +0.167) | 811 | −0.046 (−0.132 to +0.045) |
| 15m range, 5m entry: Control, random side, stop at range midpoint | 2,787 | +0.018 (−0.028 to +0.067) | 1,345 | −0.056 (−0.127 to +0.011) |
| 15m range, 5m entry: Control, random side, stop at the leg low | 2,127 | +0.026 (−0.024 to +0.076) | 992 | −0.026 (−0.098 to +0.048) |
| 15m range, 15m entry: E1 close-out, stop at range midpoint | 2,779 | +0.045 (−0.003 to +0.091) | 1,300 | +0.048 (−0.019 to +0.117) |
| 15m range, 15m entry: E1 close-out, stop at the leg low | 2,181 | +0.048 (+0.005 to +0.092) | 1,002 | +0.041 (−0.020 to +0.104) |
| 15m range, 15m entry: E2 break and retest, stop at range midpoint | 2,001 | +0.003 (−0.053 to +0.064) | 911 | +0.064 (−0.022 to +0.151) |
| 15m range, 15m entry: E2 break and retest, stop at the leg low | 1,748 | +0.020 (−0.029 to +0.071) | 813 | +0.033 (−0.034 to +0.114) |
| 15m range, 15m entry: E3 second breakout, stop at range midpoint | 150 | −0.019 (−0.131 to +0.102) | 83 | +0.035 (−0.128 to +0.206) |
| 15m range, 15m entry: E3 second breakout, stop at the leg low | 149 | −0.024 (−0.113 to +0.072) | 83 | +0.018 (−0.118 to +0.165) |
| 15m range, 15m entry: E3 second breakout, stop at the pullback low | 150 | +0.030 (−0.106 to +0.184) | 83 | +0.039 (−0.150 to +0.245) |
| 15m range, 15m entry: E2F fair value gap retest, stop at the first candle | 573 | +0.010 (−0.069 to +0.094) | 270 | +0.091 (−0.030 to +0.216) |
| 15m range, 15m entry: Fade a failed breakout, entry at the close back inside | 2,348 | +0.046 (−0.004 to +0.097) | 1,035 | −0.047 (−0.120 to +0.033) |
| 15m range, 15m entry: Fade a failed breakout, fair value gap entry | 813 | +0.126 (+0.042 to +0.210) | 331 | −0.082 (−0.197 to +0.041) |
| 15m range, 15m entry: Control, random side, stop at range midpoint | 2,412 | +0.028 (−0.022 to +0.077) | 1,126 | +0.014 (−0.054 to +0.087) |
| 15m range, 15m entry: Control, random side, stop at the leg low | 1,891 | +0.032 (−0.012 to +0.076) | 880 | −0.009 (−0.073 to +0.057) |
| 30m range, 1m entry: E1 close-out, stop at range midpoint | 3,130 | +0.018 (−0.024 to +0.064) | 1,469 | +0.009 (−0.054 to +0.075) |
| 30m range, 1m entry: E1 close-out, stop at the leg low | 2,995 | −0.023 (−0.073 to +0.026) | 1,362 | −0.029 (−0.099 to +0.046) |
| 30m range, 1m entry: E2 break and retest, stop at range midpoint | 2,861 | −0.004 (−0.052 to +0.041) | 1,349 | +0.004 (−0.070 to +0.074) |
| 30m range, 1m entry: E2 break and retest, stop at the leg low | 2,621 | −0.065 (−0.112 to −0.014) | 1,207 | −0.051 (−0.130 to +0.026) |
| 30m range, 1m entry: E3 second breakout, stop at range midpoint | 210 | +0.043 (−0.112 to +0.197) | 118 | +0.044 (−0.157 to +0.238) |
| 30m range, 1m entry: E3 second breakout, stop at the leg low | 210 | +0.005 (−0.160 to +0.177) | 116 | −0.039 (−0.260 to +0.202) |
| 30m range, 1m entry: E3 second breakout, stop at the pullback low | 210 | +0.030 (−0.148 to +0.208) | 118 | +0.047 (−0.210 to +0.304) |
| 30m range, 1m entry: E2F fair value gap retest, stop at the first candle | 880 | −0.033 (−0.120 to +0.061) | 328 | +0.014 (−0.133 to +0.176) |
| 30m range, 1m entry: Fade a failed breakout, entry at the close back inside | 6,576 | −0.070 (−0.103 to −0.038) | 3,099 | −0.084 (−0.130 to −0.037) |
| 30m range, 1m entry: Fade a failed breakout, fair value gap entry | 4,102 | +0.040 (−0.003 to +0.083) | 1,815 | −0.057 (−0.123 to +0.008) |
| 30m range, 1m entry: Control, random side, stop at range midpoint | 2,595 | +0.019 (−0.028 to +0.069) | 1,199 | −0.041 (−0.110 to +0.025) |
| 30m range, 1m entry: Control, random side, stop at the leg low | 2,751 | −0.003 (−0.051 to +0.047) | 1,246 | +0.005 (−0.072 to +0.080) |
| 30m range, 5m entry: E1 close-out, stop at range midpoint | 2,874 | +0.014 (−0.032 to +0.056) | 1,347 | +0.023 (−0.040 to +0.090) |
| 30m range, 5m entry: E1 close-out, stop at the leg low | 2,505 | +0.021 (−0.025 to +0.065) | 1,157 | +0.003 (−0.058 to +0.071) |
| 30m range, 5m entry: E2 break and retest, stop at range midpoint | 2,417 | +0.010 (−0.038 to +0.061) | 1,131 | +0.022 (−0.051 to +0.101) |
| 30m range, 5m entry: E2 break and retest, stop at the leg low | 2,124 | −0.015 (−0.067 to +0.037) | 997 | +0.030 (−0.041 to +0.107) |
| 30m range, 5m entry: E3 second breakout, stop at range midpoint | 209 | +0.052 (−0.076 to +0.186) | 105 | −0.015 (−0.185 to +0.160) |
| 30m range, 5m entry: E3 second breakout, stop at the leg low | 207 | +0.036 (−0.081 to +0.155) | 105 | −0.022 (−0.180 to +0.140) |
| 30m range, 5m entry: E3 second breakout, stop at the pullback low | 209 | +0.119 (−0.051 to +0.282) | 105 | −0.046 (−0.279 to +0.190) |
| 30m range, 5m entry: E2F fair value gap retest, stop at the first candle | 754 | −0.028 (−0.117 to +0.066) | 290 | +0.072 (−0.082 to +0.232) |
| 30m range, 5m entry: Fade a failed breakout, entry at the close back inside | 3,962 | −0.003 (−0.043 to +0.036) | 1,837 | −0.035 (−0.097 to +0.028) |
| 30m range, 5m entry: Fade a failed breakout, fair value gap entry | 1,940 | +0.064 (+0.006 to +0.122) | 817 | −0.052 (−0.140 to +0.034) |
| 30m range, 5m entry: Control, random side, stop at range midpoint | 2,503 | +0.051 (+0.003 to +0.099) | 1,169 | −0.001 (−0.071 to +0.068) |
| 30m range, 5m entry: Control, random side, stop at the leg low | 2,233 | +0.026 (−0.020 to +0.071) | 1,028 | −0.022 (−0.087 to +0.046) |
| 30m range, 15m entry: E1 close-out, stop at range midpoint | 2,498 | +0.043 (−0.001 to +0.092) | 1,163 | +0.017 (−0.052 to +0.085) |
| 30m range, 15m entry: E1 close-out, stop at the leg low | 2,126 | +0.049 (+0.011 to +0.090) | 984 | +0.015 (−0.041 to +0.074) |
| 30m range, 15m entry: E2 break and retest, stop at range midpoint | 1,898 | +0.007 (−0.046 to +0.061) | 883 | +0.006 (−0.075 to +0.092) |
| 30m range, 15m entry: E2 break and retest, stop at the leg low | 1,723 | +0.025 (−0.021 to +0.074) | 805 | +0.004 (−0.063 to +0.074) |
| 30m range, 15m entry: E3 second breakout, stop at range midpoint | 133 | +0.048 (−0.067 to +0.164) | 63 | −0.022 (−0.187 to +0.149) |
| 30m range, 15m entry: E3 second breakout, stop at the leg low | 133 | +0.033 (−0.067 to +0.132) | 63 | −0.018 (−0.150 to +0.116) |
| 30m range, 15m entry: E3 second breakout, stop at the pullback low | 133 | +0.088 (−0.065 to +0.246) | 63 | +0.011 (−0.209 to +0.243) |
| 30m range, 15m entry: E2F fair value gap retest, stop at the first candle | 554 | +0.040 (−0.047 to +0.128) | 220 | −0.036 (−0.170 to +0.100) |
| 30m range, 15m entry: Fade a failed breakout, entry at the close back inside | 2,601 | +0.041 (−0.006 to +0.088) | 1,190 | −0.103 (−0.173 to −0.033) |
| 30m range, 15m entry: Fade a failed breakout, fair value gap entry | 835 | +0.109 (+0.034 to +0.187) | 345 | −0.064 (−0.183 to +0.051) |
| 30m range, 15m entry: Control, random side, stop at range midpoint | 2,252 | +0.053 (+0.005 to +0.103) | 1,064 | −0.020 (−0.087 to +0.053) |
| 30m range, 15m entry: Control, random side, stop at the leg low | 1,935 | +0.025 (−0.016 to +0.068) | 896 | −0.015 (−0.078 to +0.048) |
- Of the 324 versions, 30 were clearly positive in-sample and 0 of those 30 stayed clearly positive out-of-sample (8 kept the same sign as a point estimate). Out-of-sample there were 8 clearly positive versions and 19 clearly negative ones. 3 of the 30 in-sample versions were the random-direction control.
- Fading a failed breakout on a single 1-minute close back inside (15-minute range, 2R) was negative in all 11 years: in-sample −0.097, out-of-sample −0.109.
- The 324 versions share the same days and events, so they are far from independent.
Questions and answers
How was the opening range breakout backtested?
On NQ futures 1-minute data from 2016-06-01 to 2026-08-27, across 324 versions: 3 range lengths, 3 entry timeframes, 12 setups and 3 targets. Fills, stops and targets were tested on 1-minute bars, before costs.
What sample size was used for the opening range breakout test?
1,050,582 filled trades across the 324 versions. The 15-minute range, 5-minute fair value gap retest, 2R version had 1,142 trades.
Did any opening range breakout variation hold up out-of-sample?
30 versions were clearly positive in-sample (dates up to 2023-05-31) and none of them stayed clearly positive out-of-sample (2023-06-01 onward).
How did the fair value gap retest breakout do year by year?
Its cumulative R was below zero from 2016 through 2024 and positive from 2025, ending at +24.64R in 2026 on 1,142 trades.
Related reports
- ORB Scalper 1.1 opening range strategy backtest on NQ futures: 3,601 trades, 2016–2025
- Kasen Kennedy 8:00 ET opening range retest backtest on NQ futures: 500 trades, 2020–2026
- CE 50% Model backtest on NQ futures: 2,625 trades, 2016–2026
Read more: R multiples and expectancy, explained · How many trades does a backtest need?
Want your own strategy tested the same way? Every version is $19 at cemarketsolutions.com.
More tests like this on Instagram and TikTok: @cemarketsolutions.