What Is the TTM Squeeze? The Compression-Breakout Cycle Explained
Markets do not move at a constant speed. They alternate between two states: compression, where price coils into a tighter and tighter range, and expansion, where the stored energy releases in a directional move. The TTM Squeeze is an indicator built to detect exactly one thing — the moment a market shifts from compression to expansion. It will not tell you where price is going. It tells you when the market is loaded, and pairs that with a separate momentum reading that suggests which way the release is leaning.
That distinction matters, and most introductions gloss over it. The squeeze itself has no direction. Treating it as a buy signal on its own is the single most common way traders misuse it.
The two bands: Bollinger inside Keltner
The squeeze is a relationship between two well-known volatility envelopes drawn around the same 20-period moving average:
- Bollinger Bands (BB) — a 20-period simple moving average of close, plus and minus two standard deviations of close. Standard deviation reacts fast: when price goes quiet, the Bollinger Bands pinch inward within a few bars.
- Keltner Channels (KC) — the same 20-period SMA basis, but the envelope is built from the Average True Range (a 20-period average of True Range) instead of standard deviation. ATR is a steadier, slower measure of range, so the Keltner Channels breathe more gradually.
Because the fast envelope (BB) contracts quicker than the slow one (KC), a quiet market eventually pulls the Bollinger Bands entirely inside the Keltner Channels — upper band below upper channel and lower band above lower channel. That condition, on both sides at once, is the squeeze. Volatility is being wound like a spring.
Compression levels: not all squeezes are equal
The original TTM Squeeze used a single Keltner multiplier (1.5×ATR): the squeeze was simply on or off. The Squeeze Pro refinement — popularized in John Carter's circle and released as the open-source Beardy Squeeze Pro script, which The Pulse replicates parameter-for-parameter — draws three Keltner Channels at multipliers of 2.0, 1.5 and 1.0 ATR and grades how deep the compression goes:
- Low compression — BB inside the widest channel (2.0×ATR). Price is quieting down.
- Mid compression — BB inside the 1.5×ATR channel. This is the classic original squeeze.
- High compression — BB inside the tightest channel (1.0×ATR). The market is wound extremely tight; these are the rarest and often precede the largest expansions.
Note the inversion that trips people up: the smallest multiplier is the tightest channel, so fitting inside it is the deepest compression. A high-compression squeeze means the Bollinger Bands have shrunk inside a Keltner Channel only 1.0 ATR wide.
The fire
The squeeze "fires" when the Bollinger Bands expand back outside the Keltner Channels. Volatility has returned; the spring has released. In squeeze terminology this is the moment of interest — Carter's original rule of thumb was to consider entries on the first bar after the fire, in the direction of momentum, and to reassess within a handful of bars.
Two honest caveats. First, the fire tells you expansion has started, not that it will continue — plenty of fires fizzle within a few bars, especially on low timeframes and in news-driven chop. Second, the fire is only detectable on a closed bar; an in-progress bar can drift in and out of squeeze conditions before it settles.
Momentum: the directional half of the system
Because compression is directionless, the TTM Squeeze pairs it with a momentum histogram. The construction is more thoughtful than a simple rate-of-change: take the close, subtract a blended anchor — the average of (a) the midpoint of the highest high and lowest low over the lookback, and (b) the SMA of close over the same lookback — then fit a linear regression to that difference. The regression's endpoint is the histogram value. In Pine terms: linreg(close − avg(avg(highest, lowest), sma(close)), length, 0).
The histogram is read by sign and slope, giving the familiar four colors:
| Color | Sign | Slope | Reading |
|---|---|---|---|
| Aqua | Positive | Rising | Bullish and strengthening |
| Blue | Positive | Falling | Bullish but fading |
| Yellow | Negative or flat | Rising | Bearish but recovering |
| Red | Negative | Falling | Bearish and strengthening |
The classic playbook combines the two halves: a deep squeeze building while momentum turns aqua suggests a loaded market leaning long; the same squeeze with deepening red momentum leans short. The squeeze supplies energy, momentum supplies direction. Neither is sufficient alone.
Where the TTM Squeeze came from
Credit where due: the TTM Squeeze was created by John Carter (of Simpler Trading), who popularized it in Mastering the Trade. The multi-level "Squeeze Pro" concept came later from the same lineage, and the open-source Beardy Squeeze Pro Pine Script is the community's reference implementation of it. The Pulse's squeeze engine was built against that script and verified bar-by-bar against TradingView — same SMA basis, same population standard deviation, same SMA-of-True-Range ATR, same 1.0/1.5/2.0 multipliers. We didn't invent the squeeze; we made it scannable across a whole board at once.
What the squeeze can't do
An honest tool description includes the failure modes:
- No direction. The squeeze itself never says long or short. Momentum, trend structure (see the EMA stack + SuperTrend guide), and higher-timeframe context have to supply that.
- False fires. Volatility expansion can reverse. A fire into a major level, or against the higher-timeframe trend, fails more often than one aligned with it.
- Timeframe dependence. A 5-minute squeeze and a weekly squeeze are entirely different events with different expectancies — which is why multi-timeframe confluence matters more than any single squeeze.
- Data sensitivity. Borderline squeezes can flip on/off with tiny data differences between feeds, and on futures, badly-stitched continuous contracts can corrupt the bands outright (see the futures guide).
Used with those limits in mind, the squeeze is one of the cleanest answers to a question every trader asks: where is energy building right now? Answering it across many symbols and timeframes at once is exactly what a scanner is for.
Watch squeezes build in real time
The Pulse tracks TTM Squeeze compression across seven timeframes for stocks and CME futures — free tier includes ES, AAPL and NVDA, no card required.
Open the free heatmapFurther reading
For informational purposes only. Not financial advice. Trading involves substantial risk of loss. TTM Squeeze is associated with John Carter / Simpler Trading; The Pulse is an independent product of Technical Trading Academy and is not affiliated with or endorsed by them.