// recipe
A volatility squeeze strategy
A volatility squeeze strategy waits for a quiet market — Bollinger Bands inside the Keltner channel — and buys when the price breaks out of the bands. This recipe builds one for Bitcoin without code and tests it. On BTC since 2020 it made money with shallow drawdowns and far less than holding, and a tighter squeeze did not do better.
3 min read
The rule
Bollinger Bands widen and narrow with volatility; the Keltner channel moves more slowly. When the bands sit inside the channel, the market is unusually quiet — the TTM squeeze. The bet: quiet ends in a move.
- Enter when the close crosses above the upper band and the squeeze was on within the last 5 candles, with half of the free capital. The breaking candle itself usually widens the bands and ends the squeeze, so it is enough that the squeeze was on recently.
- Exit when the close crosses below the middle band, or at a −6% loss.
Idea
Catch a volatility squeeze
Trades BTCUSDT on Binance spot, on 4-hour candles.
Buys when the price crosses above the upper Bollinger Band (20, 2) and the Bollinger Bands are inside the Keltner channel (1.25) at least once in the last 5 bars, using 50% of the free capital.
Closes the trade at a loss of −6%. It also closes when the price crosses below the middle Bollinger Band (20, 2).
Every entry and every exit pays 0.1% in fees plus 0.01% slippage.
BTCUSDT 4h, 2020-01-01 → 2026-11-01 · a dry run on past candles
- Return
- +19.75%
- Max drawdown
- 15.38%
- Trades
- 103
- Buy & Hold
- +976.84%
The wizard opens with these answers. Change any of them, then try it on candles in the editor’s Dry-run panel.
Three steps
- Open it. Press Open in the wizard on the card and check the answers: coin, direction and market, candles, how tight a squeeze, how much risk.
- Try it. Press Fine-tune in the editor, then Test on history. Nothing is saved. Open the line under that button and tick Compare against random entries to see whether the squeeze beats a coin flip with the same exits.
- Keep it. Save the strategy and press Run backtest on its page for the full report.
What it did on Bitcoin
Dry runs on BTC from 2020-01-01 to 2026-11-01. Holding BTC over the same period made about +980%.
| Setting | Trades | Return | Max drawdown |
|---|---|---|---|
| Mild squeeze (Keltner 1.5), 4-hour candles | 182 | about +58% | about 16% |
| Tight (1.25), 4-hour candles | 103 | about +20% | about 15% |
| Very tight (1), 4-hour candles | 44 | about +15% | about 12% |
| Tight, daily candles | 16 | about +58% | about 17% |
| Tight, 4-hour candles, with the trend filter | 67 | about +24% | about 9% |
| Tight, 4-hour candles, the short mirror on futures | 113 | about −16% | about 21% |
- Mild squeeze (Keltner 1.5), 4-hour candles
- Trades182
- Returnabout +58%
- Max drawdownabout 16%
- Tight (1.25), 4-hour candles
- Trades103
- Returnabout +20%
- Max drawdownabout 15%
- Very tight (1), 4-hour candles
- Trades44
- Returnabout +15%
- Max drawdownabout 12%
- Tight, daily candles
- Trades16
- Returnabout +58%
- Max drawdownabout 17%
- Tight, 4-hour candles, with the trend filter
- Trades67
- Returnabout +24%
- Max drawdownabout 9%
- Tight, 4-hour candles, the short mirror on futures
- Trades113
- Returnabout −16%
- Max drawdownabout 21%
Fewer than four trades in ten won; a few large moves paid for the rest, as with most breakouts. A tighter squeeze meant fewer trades and not better ones. Sixteen trades on daily candles say very little, however good the number looks. And the short side lost in a period when BTC rose tenfold, so it tells you more about the period than about the rule.
What to try next
- A filter. In the wizard, with the bigger trend almost halved the drawdown here. The trend-filter recipe explains it.
- Volume. A quiet market that breaks on heavy volume is another reading of the same idea: a breakout on volume.
- A trailing stop. In the editor, open Quick add in the exit section and pick Trailing stop by ATR, so a large move does not have to fall back to the middle band before you are out.
Frequently asked questions
What is a TTM squeeze?
A flag that is on while Bollinger Bands lie entirely inside the Keltner channel: volatility has dropped below its usual range. It says nothing about direction — the rule here takes that from the break out of the bands.
Does a tighter squeeze give better trades?
Not on BTC in 2020–2026: it gave fewer trades and a smaller return, with a slightly smaller drawdown. One coin and one period, so test it on others.
Why do so few of the trades win?
Breakouts fail often and pay when they do not. A win rate under 40% is normal for this kind of rule; judge it by the return and the drawdown. Every metric, explained.
Test your own idea
Create a free account, start from a template or from your own rules, and read your first report.
More guides
- What is backtesting?How a backtest works, which numbers matter and the traps that make results look too good.
- TradingView backtesting vs JanoriumWhat each tool does well, where it falls short, and which one to pick for crypto strategies.
- Build a strategy with ChatGPT or ClaudeDescribe a trading idea in plain words and let an AI assistant write the strategy config.
- How to backtest a crypto strategyStep by step: rules, costs, the run, the report — with a real BTC backtest as the example.
- Backtest metrics explainedSharpe, drawdown, profit factor, win rate and the rest — what they mean and what counts as good.
- Strategy builder glossaryEvery term of the strategy editor — layers, conditions, bar windows, exits, DCA — explained with an example.
- How Janorium backtestsThe methodology: data, when orders fill, stops, fees, funding, liquidation, metrics — and what is not modeled.
- An RSI strategy in 5 minutesThe classic RSI oversold rule, built in the wizard and backtested step by step.
- Add a trend filter to a strategyOne more condition that keeps a strategy out of the wrong market: a 200-period average, added in four steps.
- Why a backtest has 0 tradesThe usual reasons a strategy never enters, where to see them and how to fix each.
- A Bollinger Bands strategyThe Bollinger bounce built in the wizard, tested on Bitcoin — and why it lost at every setting.
- A MACD strategyThe MACD crossover built in the wizard, tested on Bitcoin — and why the candles matter more than the settings.
- Buy after red daysA red-streak rule built in the wizard and tested on Bitcoin: it barely moves, and one setting decides the sign.
- A breakout on volumeA breakout that asks for volume, built in the wizard and tested on Bitcoin: fewer trades, smaller drawdown, less return.