Bollinger squeeze: does it work after costs?
The bands get as narrow as in the last 100 candles. Courses say a big move is coming.
No detectable edge after costs
No detectable edge after costs
Applied mechanically to 29 coins, this rule showed no detectable edge after costs: the average is within the range of luck, and it does not beat entering at random in a way that holds up.
Percentages are % of the amount risked per trade. New to R? Read this first.
The idea
The opposite use of Bollinger bands: when they are at their narrowest, volatility is "stored" and a strong move is about to start in the direction of the first breakout.
The rules we froze
These numbers are the usual textbook values. They were written before we saw a single result and were not changed afterwards.
Examples, good and bad
Two real trades picked by a fixed rule, not for being pretty, and six drawn at random from the held-back period (the most recent two years). 2 of the 6 won. Examples show the rule, they are not results: the results are the numbers further down.
Trade after trade
All 3,114 trades added up, with the three periods shaded. The right axis shows euros if you risked €100 on each trade. The dashed line is what random entries would have done.
By period
The same average, split by period. The black bars are the 95% range: if they cross zero, we cannot tell the result from luck.
By version
How the trades ended
Compared with entering at random
A pattern should beat luck, not zero. We ran 1,000 simulations that enter at random times on the same coins and periods, in the same direction, with the same stop distance, target and time limit.
Why the numbers look like this
Random entries lose too. Entering at random times with the same stops and targets averaged -2.9% per trade (-0.029R) because of fees, funding and spread. The pattern averaged +4.6% and did better than 100% of 1,000 random runs. That is the honest comparison: not zero, but what luck plus costs produce.
Before costs: +10.3%. After costs: +4.6%. Fees, funding and slippage took 5.8% of the amount risked from every trade, on average.
Win rate versus break-even. It won 37.2% of trades. With average wins of +1.895R and losses of -1.051R, it needed 35.7% to break even. The win rate is above what it needs, which is what a positive result looks like.
Opposite side, same stops. Taking the opposite direction on every signal, with the same stop distance, averaged -13.5%. If the pattern carried real information, the pattern direction should beat its mirror by a clear margin. Here the gap is 18.0 percentage points.
Consistency across time. The average was positive in 2 of 3 periods. A real edge should not depend on which period you look at.
Sensitivity. Across 32 variations of the rule, 26 were positive and 6 negative. The best variation (+11.1%, 1,454 trades) is not a result: with 32 variations, a few green cells appear by chance. We look for a broad green region.
Does it survive changes?
Changing the pattern shape
Each cell is the same test with a different setting. The outlined cell is the rule we froze. Green is positive, red negative. We do not pick the best cell: we look for a broad region.
Changing the exits
Same idea for the target and the stop.
Changing the costs
Another timeframe
On daily candles the same rule gave +16.1% over 515 trades.
Coin by coin
21 of 29 coins had a positive average. With a few dozen trades per coin, some are always positive by chance.
What this does not say
- It does not say bollinger squeeze never works. It says this version of the rule, applied to every case, shows no detectable edge after costs in this data.
- It is a simulation. Real fills, delays and emotions make results worse.
- The market may change. Results from the past are not a forecast.
- We publish tests of popular patterns, we do not publish or comment on strategies we use ourselves.
Method: how we test · Errors: corrections · Education only, not investment advice.
Questions about bollinger squeeze
Does bollinger squeeze work in crypto?
In our test of 3,114 trades on 29 crypto perpetuals, with real costs and funding, the average result was +0.046R per trade (+4.6% of the amount risked). Verdict: no detectable edge after costs. This applies to the textbook rule defined on this page, not to every way of using it.
Why do I see charts where bollinger squeeze worked?
Because any rule produces winning examples. A chart that shows a winner says nothing about how often the same rule fails. The test above applies the rule to every case, with costs, without picking.
What would make this result change?
A different timeframe or market, different exits, or filters that add information the pattern does not contain. We tested a second timeframe and 32 variations of the rule; the numbers are on this page.
How should I read the percentages?
They are percentages of the amount you risk per trade, not of your account or of the coin price. +4.6% means +4.6% of the amount risked, on average. See what is R.