We Gave Four ICT Setups a Placebo Test. Three Failed. The Fourth Died at One Point of Cost.
Every backtest we ran on these setups was profitable before costs. That is the number that gets screenshotted, and on its own it is worth nothing — because the honest comparison is not zero, it is what the same trade would have earned on a random day.
What we found
- Gross of costs, all four setups made money — profit factors between 1.06 and 1.14 across 8,443 trades and 8.5 years of Nasdaq 1-minute data.
- A coin flip using the same bracket geometry returned +0.035R. Three of the four setups landed in that same range.
- Against a matched placebo — same time of day, same direction, same ATR-scaled bracket, random date — three of four were statistically indistinguishable from the control.
- Breaker blocks reached the 99th percentile of their placebo on Nasdaq, then the 25th on GBPUSD. It did not replicate.
- The one setup that genuinely beat its placebo — a 15-minute fair value gap retrace with a displacement filter, 96th percentile — turned negative at one point of round-turn cost.
The number that means nothing
We have coded and tested this material before, setup by setup, and the pattern in the results kept repeating: gross of costs the numbers look fine, net of costs they mostly do not. That is a useful finding but an incomplete one, because it leaves the most important question unasked.
Here is the problem in one line. Over our test window the Nasdaq index went from roughly 6,700 to 29,500. In a market like that, a bracket order with a target further away than its stop, placed at a random moment, makes money. Not because of a pattern. Because the thing went up.
So when a backtest reports a profit factor of 1.10, the honest question is not “is that above 1.0?” It is “is that above what nothing at all would have earned?” Almost nobody computes the second number. We built it.
What we tested, and how
Four setups, coded mechanically from their published definitions: the fair value gap retrace (three-candle imbalance, enter on the return, target previous highs and lows), Power of Three (pre-session range, false breakout, enter the other way), inversion fair value gap (a filled gap flips polarity, trade its retest after a liquidity sweep), and the breaker block (price sweeps a swing and reclaims it; the reclaiming candle is the zone).
Data: 2,656,313 one-minute Nasdaq bars from January 2018 to August 2026, plus 923,027 bars of GBPUSD from 2024 to 2026 as an out-of-sample check. Setups are confirmed at the close of their signal bar and entries monitored on 1-minute bars afterwards, so nothing reads a price that had not printed. When a single minute contains both the stop and the target, we assume the stop filled. One position at a time.
One thing we deliberately did not code. These rule sets contain instructions like “confirm the trade with market structure shifts or other confluence factors.” That cannot be mechanized, and a strategy that requires it cannot be proven wrong — every loss gets explained by absent confluence after the fact. We dropped that layer and tested the skeleton a rules trader could actually automate. This biases the test against the material, and we would rather say so than pretend otherwise.
First: does our harness work at all?
A backtest that reports “no edge” for everything is worthless unless you can show it finds an edge that is really there. So we planted one: a strategy that looks twelve hours into the future and enters the way price actually went. Then the same thing inverted. Then a coin flip.
| Check | Trades | Win rate | Avg R |
|---|---|---|---|
| Oracle — knows the future | 6,538 | 57.5% | +0.712 |
| Anti-oracle — deliberately wrong | 6,538 | 11.2% | −0.666 |
| Coin flip — random direction | 6,538 | 34.7% | +0.035 |
The harness finds a real edge, prices its inverse symmetrically, and lands a coin flip near zero. So a null verdict from it means something.
Keep that last row in mind: a random-direction bracket order returns +0.035R.
Gross of costs, everything works
| Setup | Profit factor | Total R | Avg R |
|---|---|---|---|
| Fair Value Gap | 1.06 | +156.4 | +0.041 |
| Power of Three | 1.07 | +55.7 | +0.038 |
| Inversion FVG | 1.10 | +108.7 | +0.062 |
| Breaker Block | 1.14 | +108.2 | +0.076 |
Four for four. Profit factors from 1.06 to 1.14 over thousands of trades and most of a decade. A write-up that stopped here would report that all four ICT concepts show positive expectancy, and every word of it would be literally true.
Now apply two points of round-turn cost.
Net of costs, three of four lose
| Setup | Trades | Win rate | Profit factor | Total R | Avg R |
|---|---|---|---|---|---|
| Fair Value Gap | 3,827 | 33.2% | 0.86 | −418.8 | −0.109 |
| Power of Three | 1,454 | 45.0% | 0.96 | −33.4 | −0.023 |
| Inversion FVG | 1,746 | 35.5% | 0.88 | −150.9 | −0.086 |
| Breaker Block | 1,416 | 47.0% | 1.02 | +14.0 | +0.010 |
Breaker blocks survive at +14R across eight and a half years and 1,416 trades, which is zero with extra steps. We then swept the grid a rules trader would plausibly try — three timeframes, three entry positions in the zone, three stop placements, four target rules, displacement filters, wider retrace windows. Forty-six configurations, forty-three of them losing, and all three that did not lose were breaker blocks.
This is where it would be easy to declare the whole thing debunked. That conclusion is lazy, and it is wrong in a more interesting way.
The placebo test
For every single trade a strategy produced, we build a matched fake one. Same time of day, so session effects survive. Same direction, so trend drift survives. Same stop distance and target distance, measured in ATR at the entry bar and rescaled to the volatility of the new date, so a 2018 trade is not judged at 2026 volatility. Same conservative fills, same holding limit.
The only thing that changes is the date. Run that hundreds of times and you get a distribution of what the strategy earns with the pattern removed and nothing else touched. If the setup carries information, the real result has to beat that distribution. If it does not, the pattern is decoration on a bracket order.
Nasdaq, gross of costs
| Setup | Real avg R | Placebo mean | Percentile | Verdict |
|---|---|---|---|---|
| Fair Value Gap | +0.041 | +0.021 | 68% | no edge |
| Power of Three | +0.038 | +0.006 | 78% | no edge |
| Inversion FVG | +0.062 | +0.024 | 76% | no edge |
| Breaker Block | +0.076 | −0.004 | 99% | beats placebo |
50 placebo iterations per setup; breaker blocks re-run at 300 to firm up the borderline result, which moved it from the 96th to the 99th percentile. The 95% mark is the conventional bar for calling a result something other than noise.
Three of the four cannot be told apart from placing the same bracket on a random day. And notice the placebo means themselves — mostly positive. That is the market drift we warned about at the top, and it is most of what the gross table was measuring.
But breaker blocks cleared the 99th percentile. That looks like a genuine discovery. So we asked it to do the one thing a discovery has to do.
Replication kills it
Same code, same placebo, different market: GBPUSD, a different asset class over different years with no eight-year bull trend underneath it.
| Setup | Real avg R | Placebo mean | Percentile | Verdict |
|---|---|---|---|---|
| Fair Value Gap | −0.078 | +0.011 | 4% | worse than random |
| Power of Three | +0.038 | −0.009 | 81% | no edge |
| Inversion FVG | +0.126 | +0.001 | 93% | no edge |
| Breaker Block | −0.039 | −0.003 | 25% | no edge |
Breaker blocks: 99th percentile on Nasdaq, 25th percentile on GBPUSD, and losing money there net of costs at −0.088R over 515 trades. We tested four setups and one cleared the 95% bar on one instrument. That is roughly what chance produces, and the moment it was asked to repeat somewhere else it was gone.
Fair value gaps are the mirror image — on GBPUSD the setup performed below its own placebo, at the 4th percentile.
The one that was real — and still lost
There is a version of the fair value gap that does beat its control. On a 15-minute chart, with a displacement filter requiring the middle candle to be a genuine impulse of at least one ATR, the setup produced 6,540 trades at a 37.7% win rate and +0.042R gross— clearing its placebo at the 96th percentile. The pattern is doing something. It is measurable.
A note to avoid a false comparison: this is our own loose mechanization, targeting the nearest opposing swing. It is not the same rule set as the 15-minute survivor in our earlier guide write-up, which layered further filters and produced 249 trades against the 6,540 here. The two numbers are not measuring the same strategy, and the point below is not the exact figure but what happens to it.
Then charge it for trading.
| Cost assumption | Profit factor | Total R | Avg R |
|---|---|---|---|
| Gross (no cost) | 1.07 | +277.2 | +0.042 |
| 1 point round turn | 0.93 | −332.3 | −0.051 |
| 2 points round turn | 0.81 | −941.9 | −0.144 |
One point of round-turn cost is enough. Not two, not five — one. On a 15-minute timeframe the gaps are small, so the stop distance is small, so a fixed cost consumes a large fraction of every R. The effect is real and it is smaller than the spread.
That is a genuinely different conclusion from “it doesn’t work.” The imbalance leaves a footprint. You just cannot get paid for it at retail cost on this timeframe, which is why the result is so sensitive to a number most backtests never state.
Three questions that kill most backtests
Forget ICT for a moment. These apply to any strategy result you are shown, including ours.
- Is it gross or net? Every setup here was profitable before costs and unprofitable after. For the best one, a single point of slippage was the whole difference. If a backtest does not state its cost assumption, it does not have one.
- What does the null look like? Not zero — the actual null. Same instrument, same direction mix, same time of day, same bracket size, random date. In a rising market that null is positive. A strategy that does not beat it has shown you nothing, and this is the test that did the most damage here.
- Does it replicate? One instrument and one parameter set is a hypothesis, not a result. Breaker blocks looked like a real find until they were asked to work in a second market.
None of this proves these concepts describe nothing. Order flow leaves footprints and imbalances do get revisited — the 15-minute result says so directly. The narrower claim we would defend is this: stripped of discretion and charged a realistic spread, these four patterns did not produce enough edge to pay for trading them, and most of what first looked like edge was the market going up.