Skip to content
StatePath
Tool Atlascalc.squeeze

Tool

Squeeze (BB-in-KC)

calc.squeeze

CalculationVolatility

Inputs

bb_upperBuffer (time series)

The Bollinger Bands upper edge as a number line.

bb_lowerBuffer (time series)

The Bollinger Bands lower edge as a number line.

kc_upperBuffer (time series)

The Keltner Channel upper edge as a number line.

kc_lowerBuffer (time series)

The Keltner Channel lower edge as a number line.

Outputs

Bundle (untagged)

A bundle reporting the squeeze state — true on each bar where the Bollinger Bands sit inside the Keltner Channels (volatility compressed), false otherwise.

Squeeze detects a volatility squeeze — the moment the Bollinger Bands pinch inside the Keltner Channels. That ‘bands inside channels’ state marks unusually quiet, coiled markets that often precede a strong breakout.

Squeeze (BB-in-KC) overview diagramKC upBB upBB lowKC low

How it works

You wire in four number lines: the Bollinger upper and lower, and the Keltner upper and lower. On each bar the tool checks whether both Bollinger edges sit inside the matching Keltner edges (upper below upper, lower above lower). When they do, volatility has compressed and the squeeze is ‘on’; when the bands push back outside, the squeeze releases. There are no settings — the comparison is purely the four lines you feed it.

Connects to

Reads from
Feeds into

Examples

  • Breakout setup: gate entries to fire only after a squeeze releases, so you trade the expansion out of a quiet, coiled range rather than chopping inside it.
  • Regime filter: keep a trend strategy on hold while the squeeze is on (low volatility) and let it trade once the bands break back outside the channels.

Common mistakes

  • Feeding Bollinger and Keltner built on different periods or sources, so the ‘inside’ comparison is between mismatched bands and the squeeze reads nonsense.
  • Treating the squeeze itself as an entry — it only flags compression; you still need a direction signal for the breakout.

See also