A profitable backtest is a hypothesis, not a discovery. The Gauntlet is a fixed battery of attacks a candidate strategy must pass — each one engineered to kill it a different way. What comes out the other side is what survived every attempt to break it.
Most backtests are built to agree with you. Tune the settings, climb the curve, call it an edge. Usually it's just noise in a costume.
The Gauntlet flips that. Every strategy is worthless until it survives. We set the kill bar first, then try to break it every way we can. Fail once, it's dead. Only survivors get capital.
Every attack measures against one baseline — a deliberately unflattering one that charges the real costs of trading up front. Not positive here? There's nothing to defend.
Each stage isolates one failure mode and asks a question the equity curve alone cannot answer. A single kill ends the run.
Fabricate arbitrary price levels at the same distances, same directions, and same times of day as the real signals, then run them through identical fill mechanics. If genuine "levels" don't beat these fakes by a wide margin, the edge was never the level — it was the way a limit order gets filled on a wick.
Re-run the strategy across a sweep of worsening execution — slippage from half a point to three points, cost from two points to four. A real edge degrades gracefully and stays above water. A marginal one evaporates the moment you charge it what trading actually costs.
Enter the trade zero, one, three, and six bars after the trigger instead of at the precise touch. If the edge decays smoothly, it is a real property of the level that persists through time. If it collapses to negative the instant you delay by one bar, it was only capturing an unrepeatable exact-fill tick.
Force a market entry at the next bar's open instead of waiting for a limit to be hit. This reveals how much of the edge lives in patient, passive execution versus chasing price. A negative result here isn't necessarily fatal for a limit-based setup — but it tells you exactly what discipline the edge requires to exist.
Optimize every parameter on an in-sample window, freeze the winning settings, and test them on untouched out-of-sample history the optimizer never saw. This is the difference between an edge and a memory. Parameters tuned to the past predict nothing about the future — and this stage is where most beautiful backtests quietly die.
Take the strategy's realized daily P&L and randomly flip the sign of each day, thousands of times, to build the distribution of outcomes pure chance could have produced. Flipping whole days — not individual trades — respects the correlation between trades taken on the same day. If the real record can't be distinguished from that noise, "six positive years" was a coin landing heads.
Re-run the whole strategy, ATR-scaled, on a different but related market — the same structural logic on independent price data. A true market structure shows up in both. A pattern mined out of one instrument's noise flips sign or vanishes. This is the single hardest stage to fake, because you cannot overfit a market you didn't touch.
The Gauntlet is ruthless, but it is not the last word. Here is a real example of a strategy that cleared all seven trials, reached the deploy queue, and was killed anyway. Verdict numbers below are illustrative of the format.
A netted basket of continuation strategies came through the Gauntlet cleaner than almost anything we'd tested. The honest baseline was positive net of costs. The placebo couldn't touch it. It shrugged off slippage and cost stress. It decayed gracefully under entry lag. Walk-forward held out-of-sample on years the optimizer never saw. Sign-flip permutation put it near p < 0.01. And the acid test — the same logic, ATR-scaled, on a second market — came back the same sign.
Seven green verdicts. On paper, it was ready — it went into the deploy queue.
Then it hit the last gate: the Clean-Room Rebuild. Our standing rule is that nothing is built on a result until a second engineer reproduces it from scratch, sharing zero code with the original. The rebuild was written from the specification alone. It did not reproduce the number. The edge collapsed to a coin flip — ~49%, indistinguishable from noise.
The autopsy. The original code armed a signal on a bar's close and filled it at that same bar's low. In a backtest that's a fill you would never get live — the strategy was quietly using the bar's own future to enter at a price the market had already left. A look-ahead of a single bar.
Why the Gauntlet missed it. All seven stages ran through the same generator that contained the leak. Placebo, walk-forward, permutation — every one inherited the contamination. Even cross-instrument replication passed, because both markets ran the same leaky code. The only thing that could catch it was a build that shared none of that code and had to reconstruct the fill logic honestly. That build killed it in an afternoon.
It never reached a single live dollar. That is the entire point of the last gate — and the reason the Gauntlet runs alongside the Clean-Room Rebuild, never in place of it.
The Gauntlet is built to catch three killers: data-mining, overfitting, and luck. Against those, it is ruthless. But it shares one blind spot with every backtest ever written — look-ahead. If a signal is secretly built from information it wouldn't have had in real time, every stage inherits that leak. Placebo, walk-forward, permutation, cross-instrument — all of them can pass, because all of them run through the same contaminated generator.
The standing rule: before anything is built on a result, it must survive the Clean-Room Rebuild — a second build made from scratch with zero shared code. Built twice; if the two builds disagree, it dies. The Gauntlet runs alongside that check — never in place of it.
That is the point. A protocol that passes everything is measuring nothing — the value is in how honestly, and how early, the rest are killed.