The product is honest measurement. The strategy is whatever survives it.

Alongside the risk engine on this site, we're building a trading bot for MNQ โ€” the micro Nasdaq future. But the bot is the last thing that gets built. What exists today is a deterministic backtesting engine, constructed like a quant research desk, whose only job is to tell us the truth about a strategy before a single live contract is at risk.

Same rule as the rest of the site: no hand-waving, deterministic seeds, and the numbers below say plainly what's measured and what isn't.

What the engine actually is

Most retail "backtests" are a chart replay and a spreadsheet. This one is built so that when a number comes out, we're allowed to believe it:

Event-driven replay

Five years of 1-minute MNQ data replayed bar by bar through the same state machine the live bot would run. Same data + same config โ†’ byte-identical results, every run. Nondeterminism is banned from the engine path.

Tick-parity levels

The levels the strategy trades come from an exact port of Greg's TradingView levels indicator โ€” validated against golden sessions from the real chart, to the tick. If the port and the chart ever disagree, the port is wrong by definition.

Fills that hate you

Conservative fill simulation: entries slip against you, and when price touches both your stop and your target in the same bar, the stop wins the tie. Every ambiguity in the data resolves in the market's favor, not ours.

Pre-registered experiments

Every idea is written down โ€” hypothesis, metric, threshold โ€” before the backtest runs. No peeking at results and moving the goalposts. Rejections get recorded, not deleted.

An untouchable holdout

Data from 2025 onward is walled off. Research runs on the years before it; the holdout renders a verdict at the end, once, per pre-registered plan. You can't overfit data you're not allowed to look at.

Bootstrap scoreboards + run registry

Block-bootstrap resampling turns one equity curve into a distribution โ€” including the probability of passing a prop eval. Every run lands in a registry with its config and results, rendered on a local research dashboard.

The strategy under evaluation: MNQ-Simple v1

DRAFT โ€” being re-measured. This is the current candidate, not a finished product. Parts of it are backtested; the newest part (the three-timeframe gate stack) is not yet measured, and it says so below.

The levels we kept โ€” because they measured out

The edge, as far as we can measure one, lives in a small set of price levels computed fresh each morning:

  • Flip levels from the levels indicator โ€” a 100-day, roll-adjusted lookback, ported to the engine and validated to the tick.
  • The Opening Print โ€” the 9:30 ET open.
  • Prior-day high and low.
Removed: overnight high/low. They were in v0. We measured them. They subtracted from the result, so they're gone. That's how everything on this list earns its place.

Risk, fixed and boring

  • Fixed dollar risk per trade, expressed as 1โ€“3 micro contracts. Same bet every time โ€” the statistics only mean something if the bets are comparable.
  • Hard daily max loss. Hit it and the day is over. The bot enforces this; no "one more trade."
  • One position at a time. No pyramiding, no hedging, no averaging down.
  • Targets are the next opposing level, minimum 2R; stop moves to breakeven at +2R.
Fixed-dollar sizing isn't just simple โ€” head-to-head, the fixed-risk variant beat fractional sizing in our tests. Boring won.

The three-timeframe gate stack โ€” bias, agreement, setup

Three charts, three jobs, strictly one-directional: the higher timeframe can veto the lower one, never the reverse. A trade exists only when all three gates open in the same direction.

60m ยท BIAS Above or below the last hourly flip level? Hourly higher lows (long) / lower highs (short)? last CLOSED candle only โ€” no peeking at the forming bar sets direction โ†“ 15m ยท AGREEMENT Is 15m structure agreeing โ€” higher lows into a long bias? Sideways 15m chop across the level = NO TRADE, even if the 60m trends. confirms it โ†“ 5m ยท SETUP โ€” the only entry chart Pullback holds above the level, in the direction of the 60m bias. Entry: break of the pullback bar ยท Stop: far side of it Target: next opposing level, minimum 2R ยท breakeven at +2R no gate open above โ†’ no entry exists down here
The stack narrows top-down on purpose: the 60m chart is allowed to say "no trades today," the 15m is allowed to say "not yet," and only the 5m is allowed to say "now." Nothing lower in the stack can overrule anything above it.

The honest numbers

What's measured, what isn't, and no blending of the two:

Mechanized baseline, per trade
+0.068R
over 1,624 trades ยท thin but real โ€” both halves of the time-split are positive
Thu+Fri-only variant, P(pass $50K eval)
90.2%
vs 71.8% baseline ยท block bootstrap at $125 risk per trade
The 3-TF gate stack above
not yet measured
it's new โ€” measuring it is the current research question
Read the middle tile carefully before getting excited โ€” a day-of-week filter is exactly the kind of thing that backtests beautifully and means nothing, which is why it exists as a pre-registered variant awaiting its holdout verdict, not a rule we trade. And the broader truth: most ideas we've tested got rejected โ€” trend gates, overnight levels, fractional sizing, whole time-of-day windows. That's not the process failing. That's the process working.

How we research

Every idea walks the same four steps, in order, with the paperwork done first:

1
Pre-register. Write down the hypothesis, the exact metric, and the pass/fail threshold before touching the data. The experiment can't move its own goalposts.
2
Run. Deterministic backtest over the research years, conservative fills, bootstrap scoreboard. Every run is snapshotted into the registry โ€” config, code version, results.
3
Holdout verdict. Survivors face 2025+ โ€” data no experiment was allowed to see โ€” once, per the pre-registered plan.
4
Adopt, or record the rejection. Passes go into the strategy. Failures go into the ledger with their numbers, so we never quietly re-test a dead idea until it flukes green.

Where the human fits