BBWP (Bollinger Band Width Percentile) ranks the current Bollinger Band width against the last 252 bars. ≤15 = volatility compressed to its own extreme lows, the freeze zone. ≥85 = expansion mature. Params match the TradingView standard: SMA-13 basis, 252-bar percentile lookback, SMA-8 signal line. The stdev multiplier cancels in a percentile, so these values match TV's BBWP exactly on aligned bars.
The setup this screener hunts: BBWP camps in the freeze zone for multiple bars while price goes sideways (tight Range%), then BBWP turns up and exits. That is Firing. Volatility expansion follows compression; direction is not predicted, so validate the breakout side on the chart before acting.
Live vs confirmed: the BBWP column is the live print including the forming bar, same number TradingView shows. Signal states anchor to closed bars so they never repaint. Waking = frozen at the last close, live print above 15 now. This is the earliest actionable moment, the live cross out of the freeze, and it ranks first. It confirms to Firing when the bar closes, or reverts if the spike fades. Firing = the same exit already confirmed, 1 to 3 bars older. TF dots show the live state on 1D, 3D and 1W at once. BBWP ranks each timeframe against its own 252-bar history over a different horizon, so compression is timeframe-specific.
Streak = consecutive bars with BBWP ≤ 15. Longer streak + tighter Range% = deeper coil. Firing requires a streak of ≥4 bars that ended within the last 3 bars, a fresh exit from a real compression, not noise.
Freeze strip = last 60 bars of BBWP colored by value (blue = frozen, red = hot) with price overlaid as the white line. The rightmost outlined bar is the live forming bar, same value as the BBWP column; solid bars are closed history. A blue floor under a flat white line, then the outlined bar jumping, is the whole setup in one glance.
Data path: the State of Blocks VPS pulls Bybit spot klines hourly and publishes one JSON the page reads (Bybit sends no CORS headers, so browsers cannot call it directly). The last bar in the feed is the bar forming at publish time; all signals use closed bars only. 3D bars are aggregated from the daily candles on fixed 3-day buckets. Bar alignment can differ from TradingView's 3D anchoring by up to 2 days, so BBWP values on 3D are close but not tick-identical to TV. 1D and 1W are exact.
| # | TokenBybit spot pair. Links to the TradingView chart with this symbol. | StatusFiring: fresh exit from a ≥4-bar freeze within the last 3 bars. Compressed: BBWP ≤ 15 now. Coiling: BBWP 15-30 and below its MA8 at the close. Hot: live print 85 or above, like Waking it describes right now and can revert. Firing and Waking take precedence over Hot. Neutral: everything else. | 1D·3D·1WLive BBWP per timeframe: 1D · 3D · 1W. Blue = frozen (15 or less), teal = 15-30, gray = mid, red = 85 plus, hollow = not enough history. Compression is timeframe-specific, so a name can be frozen on 3D and mid on 1D. | PriceLatest close of the current (forming) bar, Bybit spot. | BBWPLive value including the forming bar, matches the TradingView print. Statuses and streaks use closed bars only, since a live spike can fade before the close. | MA8SMA-8 of BBWP including the forming bar, matches the TradingView print. The Coiling status itself is judged on closed bars. BBWP crossing up through a low MA8 is the classic expansion trigger. | StreakConsecutive closed bars with BBWP ≤ 15. For Firing rows: the streak that just ended, with bars-since-exit. | RangeHigh-to-low price range across the compression window (streak bars, min 5). Tighter = cleaner coil. | 1WPrice change over the last 7 days (daily closes). | 1MPrice change over the last 28 days (daily closes). | Freeze stripLast 60 bars: BBWP as colored bars (blue frozen → red hot), close price as the white line. |
|---|---|---|---|---|---|---|---|---|---|---|---|
Loading screener data… | |||||||||||