OPEN-SOURCE SCRIPT

Bollinger Bands w/ Squeeze Alert

Updated
Bollinger's "simple" explanation for a Squeeze is the lowest volatility in the last 6 months. This indicator uses a default look-back period of 125 bars to determine the lowest BandWidth. When current BandWidth drops below the lowest BandWidth of the look-back period, the background of the bands turns red. Default look-back of 125 bars is ~6 months on daily charts.

The source, length, and standard deviation for the Bollinger Bands can all be adjusted. The look-back period for the Squeeze indicator can be adjusted as well.

The image shows my Bollinger Bands w/ Squeeze Alert indicator next to someone else's Bollinger Bandwidth w/ Squeeze Alert indicator to demonstrate how it appears on the chart.
Release Notes
This version adds the "complicated definition" of The Squeeze as detailed by John Bollinger.

"A more complicated definition of The Squeeze that is taught at our seminars involves Bollinger Bands on volatility itself. First plot the 20-day standard deviation of the close, or typical price. Now plot the 125-day, 1.5 standard deviation width Bollinger Bands of the standard deviation just plotted. A Squeeze is triggered when the 20-day standard deviation tags the lower band."
-Bollinger, John; Bollinger, John. Bollinger on Bollinger Bands (p. 194). McGraw-Hill Education.

It also adds an indicator for The Bulge. The Bulge is described as the HIGHEST bandwidth during the lookback period, which is set at 125 days (6 months) by default. It can be calculated using the original "simple" definition used for the original Squeeze indicator or you can add the same complicated definition that is used to calculate the complicated Squeeze.

By default, only the "simple" definition is used and the Bulge is not displayed. This allows users to continue to use the indicator as before without needing to understand the changes. However, you can choose to use the "complicated" definition or the Bulge in the settings. If you choose to use the "complicated" definition, it will still use the "simple" definition as well and it will apply the "complicated" definition to the Bulge calculations as well. You cannot use one type for the Squeeze and a different type for the Bulge.
Release Notes
There was a typo that was causing the Bulge to be displayed improperly. It was showing a Bulge even as BandWidth was decreasing, which is incorrect. This has been fixed.
Release Notes
Additional errors found and fixed.
bollingerbandsqueezeVolatility

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer