Composite & famousTTM Squeeze · TTM
John Carter's volatility-compression signal — Bollinger Bands inside Keltner Channels flag a coming breakout.
Works in most conditionsEngine-computed on a fixed sample series
What it is
The TTM Squeeze is a volatility-compression signal created by John Carter that flags when a market is coiling up for a potential breakout. It works by comparing two volatility envelopes: Bollinger Bands, which widen and narrow with standard deviation, and Keltner Channels, which widen and narrow with average true range. To a beginner it answers: is this market being wound tight like a spring, and if so, which way is pressure leaning? When the Bollinger Bands contract inside the Keltner Channels, volatility has compressed to an extreme — the squeeze — and a big move often follows once that energy releases. A momentum histogram plotted beneath hints at the likely direction of the eventual break. The key idea is that markets alternate between quiet compression and explosive expansion, and the squeeze catches the transition.
How it's calculated
Three components combine to make the TTM Squeeze. First, Bollinger Bands are drawn around a 20-period moving average at two standard deviations, so their width reflects statistical volatility. Second, Keltner Channels are drawn around the same average at a multiple — commonly 1.5 — of the average true range, so their width reflects typical trading range. The squeeze condition is a simple comparison: when both Bollinger Bands slip inside the Keltner Channels, volatility has contracted so far that the standard-deviation envelope is narrower than the ATR envelope, and the squeeze is on. Third, a momentum oscillator, built from a linear regression of price relative to the average of the recent range midpoint and the moving average, is plotted as a histogram to indicate directional pressure. The interplay of the two envelopes defines the squeeze, and the histogram interprets the lean. All three update bar by bar.
Reading it step by step
The signal is usually shown as a row of dots on a zero line: red dots mean the squeeze is on, with Bollinger Bands compressed inside the Keltner Channels and volatility coiled; green dots mean the squeeze has fired, the bands have expanded back outside the channels, and volatility is releasing. You wait through the red-dot compression and act when the first green dot prints, because that marks the moment the spring lets go. The momentum histogram supplies direction: its colour and slope as the squeeze releases suggest whether pressure is leaning up or down — rising histogram bars above zero favour an upside break, falling bars below zero a downside break. A longer run of red dots means a tighter, longer compression, which often precedes a larger move. Read the dots for timing and the histogram for direction, together.
Best timeframes and settings
The TTM Squeeze works on every timeframe, from intraday charts for day traders to daily and weekly charts for swing and position traders, because volatility cycles occur at all scales. The default settings mirror their components — a 20-period basis, Bollinger Bands at two standard deviations, and Keltner Channels at 1.5 ATR — and these are a sensible starting point. Tightening the Keltner multiplier or widening the Bollinger deviation makes the squeeze harder to trigger, yielding fewer but more extreme compressions; loosening them triggers the squeeze more readily but with less significance. Shorter basis lengths make the whole tool more responsive and noisier, longer ones slower and steadier. Higher-timeframe squeezes tend to precede larger, more tradable moves, while intraday squeezes fire more often with smaller follow-through. Match the settings and timeframe to the size of move you are hunting.
When and where to use it
The squeeze is regime-agnostic in that compression can occur within both trending and ranging markets, but it is fundamentally a transition tool — it tells you a quiet period is likely to give way to an active one. It is most valuable after a market has gone dull and sideways, coiling into a tight range, which is exactly when a breakout is being set up. It applies across all liquid asset classes, and its popularity is especially high among futures and options traders who care about volatility expansion. Avoid treating it as a directional signal in itself, because it predicts expansion, not which way. It is less useful in a market that is already moving violently, where volatility is high and no squeeze exists. Use it to anticipate the next burst of movement and to be ready before it happens.
Strategies that use it
The core strategy holds fire during the red-dot compression and enters as the first green dot prints, siding with the momentum histogram — long if the histogram is rising and above zero, short if it is falling and below — with a stop on the opposite side of the pre-breakout range. Measured-move or Fibonacci-extension targets projected off the height of the compressed range set a realistic exit. A confirmation variant waits not just for the first green dot but for price to break the high or low of the squeeze range in the histogram's direction, filtering out false starts at the cost of a slightly later entry. A multi-timeframe variant looks for a higher-timeframe squeeze firing in the same direction as a lower-timeframe entry, stacking the odds. In all versions the histogram picks the side and the range frames the stop. Trailing the stop as the expansion runs locks in the move.
Combining it with other indicators
The TTM Squeeze is itself a composite of Bollinger Bands, Keltner Channels, and average true range, so those underlying tools are already inside it rather than additions. It pairs well with independent momentum confirmation — a MACD or RSI agreeing with the histogram's direction strengthens the breakout read. Volume is a valuable partner, since a squeeze firing on expanding volume is far more convincing than one on quiet volume. Support-and-resistance and trendlines give the breakout a structural context, so a squeeze releasing through a key level is higher-odds than one firing in mid-range. Market structure and higher-timeframe trend help you favour breakouts in the direction of the larger move. The closely related Squeeze Momentum indicator is an alternative presentation you would use instead of, not alongside, the TTM version.
Where it fails
The squeeze predicts expansion, not direction, so its central failure mode is the false break — a naive entry on the first green dot can be caught when price fires one way and then reverses, especially if the histogram was ambiguous. Longer squeezes often precede bigger moves, but there is no guarantee the first thrust out of the compression is the real one, and initial head-fakes are common. In choppy conditions a squeeze can fire weakly and stall, trapping breakout traders. Relying on the histogram alone for direction can mislead when momentum is marginal. The classic mistakes are entering before the squeeze actually fires, ignoring the direction of the larger trend, and using no confirmation. Avoid them by waiting for the first green dot rather than anticipating it, aligning entries with the higher-timeframe trend and with volume, and confirming the histogram's lean with an independent momentum tool or a break of the range.
A worked example
Imagine a stock that has drifted sideways between 98 and 102 for three weeks, and on the daily chart the TTM Squeeze shows a run of red dots as the Bollinger Bands contract well inside the Keltner Channels — volatility coiled tight. Over those weeks the momentum histogram gradually shifts from slightly negative to rising and turning positive, hinting pressure is building to the upside. On the fourteenth red-dot day the compression finally releases: the first green dot prints, the Bollinger Bands expand back outside the Keltner Channels, and the histogram is rising above zero. You go long as price clears the 102 top of the range at 102.30, siding with the bullish histogram, and place a stop at 97.80 just below the range low, risking about 4.50. Projecting a measured move equal to the roughly 4-point range height gives a first target near 106.30, and price expands to 107 over the next week, letting you take partial profit and trail the stop up behind the breakout as the released volatility carries the move.