15 Aug 2026
Bollinger band squeeze screener for NSE
How to measure a squeeze with normalised band width, why compression says nothing about direction, the NR7 single-bar version, and the NSE scans for both.
Direction is close to unpredictable. Volatility is not, and that asymmetry is the only genuinely reliable structure I have found in daily bars: quiet days bunch together, loud days follow, and the hinge between the two regimes is something you can screen for.
Bollinger bands sit two standard deviations either side of a 20-day average, so the distance between them is a direct reading of recent volatility. Wide after loud weeks, narrow after quiet ones. A squeeze is bands that are unusually narrow for that particular stock:
where bb().width < 0.08RunWidth here is normalised, band spread divided by the middle band, so the same threshold means the same thing for a ₹80 stock and an ₹8,000 one. Under 0.08 the stock's entire recent argument spans less than 8%. The premise is that a contracted range is a coiled one: the sellers who wanted out are out, the buyers who wanted in are in, and the next real order flow moves price disproportionately because nobody is left mid-range to absorb it.
The squeeze says nothing about direction
This is the sentence every squeeze tutorial buries. Compression predicts expansion. It has no opinion about which way.
There are two honest ways to deal with that. The first is to tilt the pond. The prebuilt Volatility squeeze scan requires close > sma(200), on the reasoning that squeezes resolving inside a long-term uptrend break upward more often than they break down. The second is to stop guessing and wait for the resolution:
where close > bb().upper and rel_volume > 1.5RunThat is Bollinger band breakout. You get confirmation at a worse price, which is the trade-off in every entry decision anyone has ever made.
One caution on the breakout side, because it cost me a good trade before I understood it. In a strong trend, price can ride the upper band for weeks. A close above the band is the start of an expansion. I had been reading it as an overbought print, which it is not.
The single-bar cousins
The squeeze measures contraction over weeks. The same idea compresses into one session.
NR7 asks whether today's high-low range is the narrowest of the last seven sessions. That is Toby Crabel's original range-contraction setup, and the classic use is to bracket the little bar and take whichever side breaks.
Narrow range day asks for today's range to come in under half the stock's own ATR, which is the same coil measured in the stock's own units instead of against its last seven bars.
At the other end of the cycle sits Range expansion up: a session twice the stock's normal size, resolved in the buyers' favour. Expansion days set the tone for what follows more often than chance allows.
Measure the premise
"Squeezes precede moves" is a claim, and every scan page here carries the panel that tests it. Open the squeeze and the breakout over the same 250 sessions and compare. How much hit rate does confirmation buy you, and what does the later entry cost? The replay is close-to-close and ignores costs and slippage, so both numbers are flattered by some amount I cannot measure. The comparison between them is still the answer to "which entry should I use", and it beats my opinion or anyone else's. The rest of the compression-and-release family lives at the volatility hub.