# "Stupid simple" scalping: the 5-minute opening range with a fair value gap on NQ - specification (RIP Backtest protocol v1.0 plus the 8 Oct 2026 rules)

Specification written and **frozen 2026-10-21 (approved by the owner the same day, draft 1 unchanged)**. No range, fair value gap, signal or trade of this test has been computed. Once frozen, any change of a rule is documented and treated as a separate test; bugs may be fixed.

## Why this test, where the rules come from, and what was looked at before
- **Chosen by the owner** on 2026-10-21 ("da"), from a YouTube video he sent: "This Scalping Strategy Works Everyday (Stupid Simple And Proven)", Jesse Rogers (Casper Trading), about 739,000 views (read 2026-10-21 from the video's own transcript). The video's evidence is a hand-made backtest of one month (five days shown, all winners, one NQ contract); its description links to a prop firm affiliate code and a paid mentorship.
- **The rules as stated in the video:** mark the high and low of the first 5-minute candle (09:30 to 09:35 New York); on the 1-minute chart wait for a candle that **closes beyond** the range (not a wick); the break must create a **fair value gap** (a gap between the wick of the candle before the breaking candle and the wick of the candle after it); enter at the close of that third candle; **stop at the base of the candle that broke and closed through** the level; **target a fixed 2:1**. If a break has no gap, wait for the price to come back into the range and take the next break that does create one. It says the rule works on any market and is shown on NQ.
- **Not specified in the video, fixed here before any result:** the last entry time, how many trades a day, what happens to a trade still open late in the day, and exactly how "outside the range" is read. Our choices are below and will not be changed after the result.
- **Looked at before (disclosed):** our published 5-minute opening range breakouts on NQ (the Zarattini and Aziz rule and the classic breakout, 2026-10-17, all buried); and, **not published and without a protocol**, the owner's opening range breakout with fair value gaps on ES in September 2026, which showed no edge. The same family of ideas has therefore been tried several times; that raises the bar below.

## Instrument and data
- **NQ** (E-mini Nasdaq-100 futures), `NQ_1min.csv` (NinjaTrader, back-adjusted continuous contract), 1-minute bars on the New York clock, stamped at their close, 2020-01-01 to **2026-09-25 17:00 New York**; the exchange calendar of our other NQ tests (`rb_lib.js`) for the session and early closes. $20 a point, tick 0.25.
- A day has no trade if any of the five bars of the opening range is missing. Days touching a known hole of the file (`data_holes.json`) are reported (rule 3).

## Rules (one trade a day at most)
- **Opening range:** the five 1-minute bars 09:30 to 09:35 (stamped 09:31 to 09:35): range high = their highest high, range low = their lowest low.
- **A break:** a 1-minute bar from 09:35 on whose **close is above the range high** (an up break) or **below the range low** (a down break), while the previous bar's close was not beyond that same side (it was inside the range, on the level, or beyond the other side). Call it bar B.
- **The fair value gap:** for an up break, the low of the bar after B is above the high of the bar before B; for a down break, the high of the bar after B is below the low of the bar before B. (B is the "displacement" candle in the middle.)
- **Entry:** at the open of the first minute after the bar after B, i.e. at the close of the third candle, in the direction of the break, if the break has a gap. **If a break has no gap, nothing happens and the next break (either side, after the price closes back inside or on the level) is examined the same way.** This is our reading of "wait for the retest, then a gap away from the range".
- **Stop:** the low of B for a long (its high for a short), the "base of the candle that broke and closed through". If the entry price is already at or beyond the stop, no trade that day. **R** = entry to stop, in points.
- **Target: 2R.** Stop tested before target inside a minute; a level beyond a minute's open fills at the open.
- **Last entry: 11:00 New York** (90 minutes after the open; the video speaks of "less than 90 minutes of work a day"). **Exit at the session close** (16:00, or the calendar's early close) for a trade still open.
- **Variants:** **OFV-2R** (the rule as above) and **OFV-2R-FIRST** (only the day's first break counts: if it has no gap, no trade that day). Two variants.

## Costs
- **$15.76 per round trip per contract** (commission $5.76 plus one tick of slippage on each fill), as in all our ES and NQ tests. Results in dollars per contract and in R.

## Periods, gates, control
- **Periods (by trade date), as in the NQ opening range test:** development 2020 to 2023; validation 2024-01 to 2025-03; holdout 2025-04 to 2026-09-25 (**already used** by the earlier NQ tests).
- **Six gates per variant** (net dollars per contract): validation profit factor >= 1.2; at least 50 trades in each period; development **t >= 2.5** (opening range breakouts on these futures have been tried in more than four variants on the site and off it); above the 95th percentile of 500 runs of the matched control; positive without the 10 best trades; holdout net positive (flagged used). Fewer than 30 trades: Inconclusive.
- **Matched control (moved entries):** every real entry moved, all together, by one random circular offset of whole trading days (at least 5% of them), to the same minute of the session on another day, same direction, the same stop distance in points, the 2R target and the same session-close exit and costs. 500 runs, seeds 1000 + run. Statistic: average net dollars per trade. It asks whether the break-plus-gap picks better moments than the same trades on other days.
- **Also reported:** win rate with its Wilson interval, exits by reason, R in points and dollars, long and short, by year, the share of days with a trade, and how the video's five example days of May 2025 came out in our data (if present).

## Engine and self-test (before the run)
New engine `ofv_lib.js` (the existing futures loader and calendar), independent re-implementation `ofv_ref.js`, `ofv_selftest.js` that must pass before any result is printed: hand-worked days (an up and a down break with a gap; a break without a gap followed by a later break with one; a wick beyond the level that does not count; the 11:00 cut-off; a stop and target in the same minute; an early close; a missing range bar; an entry already beyond the stop); the reference matched trade by trade on the real data for both variants; the control at offset 0 entering at the real minutes.

## Before the article
Results go to the owner first: both variants, every gate, long and short, by year, the exits. One article, published only with the owner's agreement. Working title for search: "This Scalping Strategy Works Every Day? We Backtested It on 6 Years of NQ". The video and its author are named and quoted only as needed to state the rules (one short quote at most).

## Reading the result
"Buried" or "Inconclusive" mean a statistically convincing edge was not demonstrated; neither is proof that none exists. One market, our reading of a verbal description, one contract, no discretion.
