NQ 30-minute opening-range breakout with three filters
Trade the first 5-minute close outside NQ's 9:30–9:59 ET range, but only on days that pass three context filters.
What they did
Herman Trading studied a plain 30-minute opening-range breakout (ORB) on Nasdaq-100 futures (NQ) from 2015 to 2026. The range is 09:30–09:59 ET. Enter on the first 5-minute close beyond either side, with the stop at the other side of the range. Take half off at 1R, hold the rest to the close, and take no new entries after 12:00. They say the plain version is roughly break-even, and three filters made the difference: (1) the London-session range (02:00–08:00) is normal versus the last 24 days, (2) the 08:30–08:34 news-window range is quiet (under 1x its 24-day average), and (3) the setup's own last 10 trades are a net loss.
How it went
Herman Trading's claims: profit factor 2.31 (2015–21) and 2.24 (2022–26), $492 per trade on 1 NQ contract, 62.61% win rate, 230 trades in 12 years (about 1.6 a month), positive in 12 of 12 years. The author notes that 2022–26 was used to confirm the filters, so live trading is the first clean test.
Sources:
Worth knowing
- The author says it plainly: the 2022–26 period helped pick the filters, so it isn't a true out-of-sample test.
- About 1.6 trades a month. Paper results will take a long time to mean anything.
- One NQ contract is large. Micro NQ (MNQ) is one-tenth the size and is the sane paper/live starting point.
- Filter 3 (trade only after the setup's last 10 trades are a net loss) is unusual. It's a bet on mean reversion in the strategy's own results, and it needs a trade log to work.
The prompt
Watch [NQ / MNQ] futures on 5-minute bars. All times are ET.
Each day:
1. Opening range = high and low from 09:30 to 09:59.
2. Filters (all must pass or there is no trade today):
a. The 02:00–08:00 range is within [normal band, e.g. 0.75x–1.5x] of its [24]-day average.
b. The 08:30–08:34 range is below [1.0]x its [24]-day average.
c. In my log, the last [10] trades of this setup add up to a net loss.
3. Entry: on the first 5-minute close above the range high (long) or below the range low (short), propose [1] [MNQ] contract at the next bar.
4. Stop: the opposite side of the opening range. Take half off at 1R, move nothing else, and exit the rest at [the close / 15:55].
5. No new entries after [12:00]. Max one trade per day.
Report the range, each filter's pass/fail and reason, and every trade, R multiple and running log.
SAFETY DEFAULTS (keep unless you deliberately change them):
- Use the PAPER trading account only. Never touch a live account.
- Before every order, show me: symbol, side, size, order type, limit price, stop, and the rule that triggered it. Then WAIT for my "approve".
- Hard limits: max [$500] per trade, max [3] open positions, stop all trading for the day after a loss of [$300].
- Log every signal, decision and fill to [a running log / spreadsheet] with timestamps.To go fully autonomous: (1) run on paper for at least [4–8 weeks] or [30+ trades]; (2) delete the 'WAIT for my approve' line and keep the hard limits; (3) switch to live keys or account. On Robinhood, turn off trade approvals in your agent settings, but note that some orders can still require in-app approval or acknowledging a pre-trade alert, so unattended execution isn't guaranteed for every order. IBKR's AI connector always asks for approval; use its regular API for unattended trading. Never remove the daily loss limit.