Range Compression & Breakout Ignition Indicator for TradingView
Find quiet markets before they move. The Volatility Squeeze Detector measures how tightly price is coiling, plots it as an adaptive oscillator with envelope bands and dynamic thresholds, and lights up green the moment compression breaks into expansion — helping you anticipate breakouts instead of chasing them.
Volatility Squeeze Detector is an invite-only TradingView indicator built around one question: is this market quietly coiling, or has it already started to expand? It computes an adaptive squeeze oscillator from the relationship between recent highs and current lows, wraps it in Bollinger-style envelope bands plus a percentile-based threshold range, and flips its histogram bright green the instant volatility breaks out of compression — giving you a clean, objective read on where price is in the squeeze-to-expansion cycle.
A squeeze is opportunity in waiting. When a market spends bar after bar inside a narrow range, energy builds. Eventually that energy is released — often violently — as price expands out of the coil. The Volatility Squeeze Detector exists to tell you exactly when that release is happening, so you don’t need to eyeball Bollinger Band widths, ATR readings or candle bodies to make the call.
The core measurement is an adaptive squeeze index:
Squeeze Index = ((highest close over N bars − current low) ÷ highest close over N bars) × 100
When price is pinned near its recent highs, the index reads low — a quiet, compressed market. When the current low extends well beneath the recent peak, the index reads high — volatility is expanding. The shape of the histogram tells you the regime; the colour tells you when the regime flips.
On top of that baseline the tool layers two independent threshold systems: a statistical envelope (Bollinger-style upper band built from a moving average and standard deviation of the squeeze value) and a percentile range (dynamic high/low pulled from the squeeze’s own history). When the squeeze breaches either the upper envelope or the upper range threshold, the histogram lights up green — the ignition signal. Combined, the two thresholds catch both gradual expansions (statistical) and outright regime breaks (percentile), so few legitimate moves slip past.
Range-based engine that measures the gap between the highest close and the current low over your chosen lookback. Reads like an ATR-meets-range-position hybrid — fast, intuitive and instrument-agnostic.
A standard-deviation envelope wrapped around a simple moving average of the squeeze value. Frames the oscillator’s normal range so you can see at a glance when a reading is statistically unusual.
Dynamic high/low thresholds based on the highest and lowest squeeze values over a separate lookback. Adapts automatically to each instrument’s historical volatility character — no manual tuning needed.
Histogram turns bright green the moment the squeeze crosses either the upper envelope or the upper range threshold. Two independent filters working in parallel mean fewer missed moves and clearer regime breaks.
Heavy-weight histogram bars make the compression-to-expansion arc obvious. Short gray bars cluster during quiet phases; tall green bars stack up at ignition — readable across any timeframe at a glance.
Optionally display the upper and lower percentile threshold lines for visual confirmation. Useful when learning the tool or when explaining a setup to others — hide them once the histogram colour becomes second nature.
Watermark and accent colours adapt to TradingView’s chart background automatically. No fiddling with colour pickers when switching between day and night layouts.
Six parameters expose every moving part — squeeze lookback, envelope length, deviation multiplier, threshold lookback and upper/lower threshold sensitivity — so the tool can be tuned to anything from one-minute scalps to weekly positions.
The Squeeze Detector is built around a simple two-state read — expanding or not — but the histogram’s shape tells a richer story. Below is the practical taxonomy traders use when scanning the lower pane.
Open the Indicators menu → Invite-Only Scripts → select Volatility Squeeze Detector [ToolTack] and apply it to your chart. It loads into a sub-pane below price with the histogram, default thresholds and envelope already configured.
The squeeze lookback (default 22) controls how far back the indicator looks for the highest close used in the core formula. Shorter values (10–14) make the tool more reactive and suit intraday charts; longer values (30–60) smooth the reading for swing and position work on daily/weekly.
Envelope Length (default 20) is the period for the SMA and standard deviation that frame the oscillator. Multiplier (default 2.0) controls envelope width. Wider envelopes (2.5–3.0) catch only the most extreme expansions; tighter envelopes (1.5–1.8) flag breakouts earlier but produce more signals.
The Threshold Lookback (default 50) sets how much history is sampled for the percentile high/low. Upper Threshold values closer to 0.99 are stricter (signal only at near-record expansion); values closer to 0.85 are looser (more frequent green flags). Pick stricter settings for high-conviction setups and looser ones for active scalping.
Enable Show Threshold Range Lines to display the upper and lower percentile bands as overlays — helpful for learning the indicator. Enable Show Envelope Upper Boundary to overlay the statistical band. Most experienced users hide both once they read by colour alone.
The shape of the histogram tells you the regime — squeezing, building or expanding. The colour tells you when the regime has flipped to active expansion. Green = ignition; gray = everything else. Combine the two for context: a green bar emerging from a long compression phase is a far stronger signal than a green bar in already-elevated volatility.
The indicator tells you when volatility expands — not which way. Always anchor an ignition signal to price structure: a horizontal level being broken, a trendline tagged, a higher-timeframe bias confirmed. Volatility on its own is a setup, not a trade.
Educational examples only — always test before using real capital.
Identify horizontal consolidations on the chart. When price breaks the range and the histogram turns green simultaneously, take the breakout in the direction of the move. The dual confirmation filters most fakeouts.
On 5m/15m charts, mark the opening range. Wait for an ignition signal during regular trading hours — it confirms the day is transitioning from balance to expansion. Trade in the direction of the break with a stop inside the range.
In an established trend, wait for the histogram to compress (pullback phase), then trigger green again as price resumes. This catches the second leg of trends without chasing the first impulse, often with better risk/reward.
Ahead of scheduled events (earnings, CPI, FOMC), the histogram often compresses into a tight squeeze. Place pending orders both sides of price; the ignition signal post-release confirms the directional break and helps avoid whipsaw entries.
Crypto and forex frequently coil overnight before London/NY hours. Use the indicator on 15m–60m to spot the squeeze, then trade the ignition into the active session — a structural edge in these always-on markets.
Pair with any momentum or trend indicator: only act on signals from those tools when the Squeeze Detector confirms expansion. Cuts out low-volatility chop where most indicators produce false positives.
Reminder: The Squeeze Detector identifies when volatility expands, not which direction price will go. Always pair an ignition signal with price structure, market context and a defined risk plan before sizing a position.
Volatility tells you when to act; complementary tools tell you which way and where. Pair the Squeeze Detector with these to convert an ignition signal into a structured trade idea.
Horizontal levels framing the squeeze tell you which side is likely to break. Ignition at resistance with green = long bias; ignition at support with green = short bias.
Use BOS/CHoCH and Fibonacci retracements to read the underlying trend. Ignition in the direction of structure = high-conviction continuation trades.
For stock breakouts, layer in RS. An ignition signal on a STRONG-rated name is a far stronger setup than one on a laggard — leadership confirms participation.
Confirm ignition with above-average volume or a VWAP break. Volatility expansion on heavy volume tends to follow through; expansion on thin volume often fades.
Trade ignition signals only in the direction of the higher-timeframe trend. Long ignitions above the 50/200 EMA, shorts below — simple but disciplined filter.
The compressed range itself often defines the stop. Place stops inside the range on breakouts — if the squeeze re-forms, the trade is invalidated cleanly.
Get all 28+ tools activated in 4 simple steps.
After purchasing your plan, log in to your ToolTack account and navigate to your personal dashboard. This is your command centre for managing your subscription and tools.
Enter your exact TradingView username in the designated field. Make sure it matches your TradingView profile exactly — this is how access is granted.
The ToolTack team will activate the tools on your TradingView account within 24 hours. You will receive a confirmation email once activation is complete.
Open TradingView → Indicators → Invite-Only Scripts. Your ToolTack indicators, screeners, dashboards and strategies will be ready to add to your charts.
One subscription unlocks the full ToolTack library — indicators, screeners, dashboards and strategies built specifically for TradingView workflows. Activate with your TradingView username and access everything from a single dashboard.
Is this the same as a Bollinger Band Squeeze?
No — the BB Squeeze compares Bollinger Band width to Keltner Channel width. The Volatility Squeeze Detector uses a different oscillator (range position from highest close), wraps it in its own statistical envelope, and adds a percentile threshold layer. The two tools can complement each other, but they measure different things.
Does the indicator predict direction?
No. The ignition signal confirms that volatility has expanded — it does not tell you whether price is breaking up or down. Always combine the green signal with price structure (horizontal levels, trendlines, market structure, higher-timeframe bias) to decide direction.
What timeframes work best?
The indicator is timeframe-agnostic. Day traders typically use 1m–15m for opening-range and intraday squeezes; swing traders prefer 1h–4h and daily; position traders use daily and weekly. Very short timeframes (sub-1m) produce noise on illiquid instruments.
What does the Upper Threshold input actually do?
It scales the percentile-based threshold. A value of 0.99 means the threshold sits at 99% of the highest squeeze reading over the lookback — strict, so signals fire only at near-record expansion. A value of 0.85 sits at 85%, producing more frequent signals at a lower bar. Pick higher for high-conviction trades, lower for active scalping.
Why are both an envelope and a threshold range used?
They catch different kinds of expansion. The statistical envelope (mean + standard deviation) reacts quickly to unusual readings versus the recent norm. The percentile range tracks the absolute high/low of the squeeze over a longer window, catching regime breaks the envelope alone might miss. The OR logic between the two means few legitimate ignitions slip through.
Does the indicator repaint?
The calculation uses confirmed historical highs and lows on completed bars, so historical values do not rewrite. The current bar updates intra-bar as price moves — like any oscillator. For non-repainting confirmation, wait for the bar to close before acting on a colour change.
Can I use it on forex, crypto and futures?
Yes. The formula is purely price-based and works on any instrument TradingView supports. It is especially effective in forex (frequent consolidation zones), crypto (24h coil-and-release cycles) and equity index futures (opening-range expansions). Adjust the threshold lookback to match each market’s character.
Should I trade every green bar?
No. Not every ignition is a tradable setup — some occur in directionless markets, others against the higher-timeframe trend, and a few are simply noise. Use the green signal as a permission slip, then filter with structure, trend bias and risk-management rules before deciding to size in.