# Bollinger Squeeze

Bollinger Squeeze is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Bollinger Squeeze recolors the bands while volatility is compressed under one of three tests (lowest BandWidth of a 125-bar lookback, a BandWidth percentile floor, or both bands inside Keltner Channels), boxes the price range that forms during the squeeze, and marks the release when price closes beyond that range with the bands expanding.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jun 3, 2026.
- Access: free.
- Concepts: [Bollinger Squeeze](https://www.luxalgo.com/library/concept/bollinger-squeeze/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=z8srpwrqhedg6xdob3s6w2xj
- Page: https://www.luxalgo.com/library/indicator/bollinger-squeeze/

**Bollinger Squeeze** is the definitive clean build of the [Bollinger Squeeze](https://www.luxalgo.com/library/concept/bollinger-squeeze/): the bands recolor while volatility is compressed, a dashed box tracks the price range forming during the compression, and a triangle marks the release, the bar where price settles outside that range as the bands turn outward. Three tests are built in: Bollinger's lowest-BandWidth definition, a percentile variant, and the bands-inside-Keltner test, swappable from one input.

## How to Trade the Bollinger Squeeze?

- **Squeeze on**: compression is a condition, not a signal. No direction is implied. The box counter shows its length.
- **Bullish / Bearish Release**: a close outside the squeeze range while the bands expand resolves the episode and recolors the box; both sides carry alerts.
- **Faded boxes**: price left the range without expanding bands. No qualifying release, so the box dims instead.
- **Confirm the break**: initial breaks are notorious for head-fakes; demand volume and follow-through before leaning on the release direction.

Pair it with the rest of the [volatility toolkit](https://www.luxalgo.com/library/family/volatility/) for the aftermath.

## Bollinger Squeeze Settings

- **Length** (default 20), **Source** (default close), **Multiplier** (default 2): the band construction.
- **Squeeze Test** (default Lowest BandWidth): lookback low, percentile rank, or bands inside Keltner Channels.
- **Squeeze Lookback** (default 125): window for the first two tests, about six months of daily bars.
- **Percentile Floor** (default 10): percentile-rank ceiling for the percentile test.
- **Keltner Length** (default 20) and **Keltner Multiplier** (default 1.5): the channels the bands must sit inside.
- **Show Range** (default on), **Show Last** (default 10), **Show Duration** (default on), **Release Markers** (default on): the range boxes and their annotations.

## Frequently Asked Questions

### How does this differ from the TTM Squeeze?

The [TTM Squeeze](https://www.luxalgo.com/library/indicator/ttm-squeeze/) fixed the bands-inside-Keltner test to one recipe and reads direction from a momentum histogram. This build offers that test as one of three and reads the release from price closing beyond the squeeze range.

### How long does a squeeze last?

There is no fixed duration: the state persists until volatility expands, and quiet markets can extend it for weeks. That is why the box counts bars and the release, not the squeeze, is the actionable event.

### Which squeeze test should I pick?

Lowest BandWidth is strictest, flagging only fresh lookback lows. The percentile test grades compression continuously and fires earlier. The Keltner test ignores the lookback and turns on whenever the bands compress inside the channels.

## Related indicators

- [Nadaraya-Watson Envelope](https://www.luxalgo.com/library/indicator/nadaraya-watson-envelope/) (Envelope): markdown at https://www.luxalgo.com/library/indicator/nadaraya-watson-envelope.md
- [TTM Squeeze](https://www.luxalgo.com/library/indicator/ttm-squeeze/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/ttm-squeeze.md
- [Fibonacci Bollinger Bands](https://www.luxalgo.com/library/indicator/fibonacci-bollinger-bands/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/fibonacci-bollinger-bands.md
- [Double Bollinger Zones](https://www.luxalgo.com/library/indicator/double-bollinger-zones/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/double-bollinger-zones.md
- [Proximal Range Filter](https://www.luxalgo.com/library/indicator/proximal-range-filter/) (Envelope): markdown at https://www.luxalgo.com/library/indicator/proximal-range-filter.md
- [Bollinger Bands Breakout Oscillator](https://www.luxalgo.com/library/indicator/bollinger-bands-breakout-oscillator/) (Bollinger Bands): markdown at https://www.luxalgo.com/library/indicator/bollinger-bands-breakout-oscillator.md
- [Donchian MA Bands](https://www.luxalgo.com/library/indicator/donchian-ma-bands/) (Donchian Channels): markdown at https://www.luxalgo.com/library/indicator/donchian-ma-bands.md
- [Whittaker Envelope](https://www.luxalgo.com/library/indicator/whittaker-envelope/) (Envelope): markdown at https://www.luxalgo.com/library/indicator/whittaker-envelope.md

---

Source: https://www.luxalgo.com/library/indicator/bollinger-squeeze/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
