Bollinger Bands wrap a 20-day moving average with upper and lower bands set 2 standard deviations away. They expand during volatile periods and contract during quiet ones -- making them a dynamic measure of 'normal' price range.
Middle band: 20-day simple moving average (MA20).
Upper band: MA20 + (2 x standard deviation).
Lower band: MA20 - (2 x standard deviation).
About 95% of price action occurs within the bands under normal conditions.
Price at upper band: overbought in the short term; may revert to middle.
Price at lower band: oversold; may bounce back toward middle.
Price touching a band is not a buy/sell signal by itself -- in strong trends, price can 'walk the band' for days.
When the bands get very narrow (a 'squeeze'), volatility is compressed. A squeeze typically precedes a large move -- but direction is not guaranteed. Watch for the first big candle after a squeeze to indicate direction.
This app shows BB %B (percent bandwidth): 0 = lower band, 1 = upper band, 0.5 = middle. Values near 0 suggest oversold; near 1 suggest overbought. The ML model uses %B as a feature.
Related: RSI -- Relative Strength Index • MACD -- Moving Average Convergence Divergence • Volume Analysis • patterns_squeeze