Our base strategy is boring: a morning opening-range breakout on MNQ, stop at the far side of the range, exit at end of day. It clears the overfitting gates. Then we tried to improve it โ ten separate ideas over a week, every one through the same gates.
One passed.
The rule: at the end of the opening range, divide the range's width by the average daily range of the last 14 sessions. If the ratio is too small โ a compressed, sleepy open โ don't trade that day at all.
It passed walk-forward, purged CV, and CPCV with PBO 0%. A correction, because we audit our own claims: an earlier version of this post said it "skips ~30% of days and lifted returns ~20%." That overstated its role. At our production settings (a 30-minute opening range) the filter is nearly inert โ it removed just 18 trades in 7 years (net P&L of the skipped trades: โ$3), and the ~30% of no-trade days are days with no breakout at all, not filter skips. The filter matters much more at shorter opening ranges, where compressed-range noise is common. We keep it because it's harmless, it's certified inside the tested grid, and it guards the tail case of a genuinely dead open.
A compressed opening range means the market hasn't committed. "Breakouts" from a tiny range are noise wiggles โ they tag your entry, then reverse into a stop that's only a handful of points away. The filter doesn't predict anything; it just refuses to play when the table is cold. And critically, it's insensitive to its own setting โ thresholds from 0.10 to 0.25 all work, a broad plateau rather than a magic number. That's the signature of a real effect. (More on plateaus in part 6.)
That one sentence โ did the win rate actually change? โ would have saved us three of the failures you'll read about next week. When a filter's win rate is identical with and without it, the filter isn't filtering; it's just shrinking your sample.