
Volatility Master Pro sorts volatility into five states (Quiet, Normal, Squeeze, Expansion and High-risk) by comparing ATR, Bollinger width and true range with the symbol’s own recent history. It detects TTM-style squeezes and their release direction, grades big candles as Strong or Extreme displacement, draws a volatility cloud against the normal width, and turns it all into a plain action hint: READY, HOT, OK, AVOID or CAUTION.
How it works
- Profile sets the lengths. Intraday (default): ATR 14, squeeze length 20, volatility history 200 bars, chop index 14. Scalping: 10, 14, 300, 10. Swing: 20, 20, 250, 21.
- Percentiles: ATR and Bollinger width (as a share of price) are ranked against the last 200 bars of the same symbol (0 = lowest, 100 = highest).
- Squeeze: on while the Bollinger Bands (20, 2.0 standard deviations) sit inside a Keltner Channel (20, 1.5 ATR) around the same 20-bar average. A squeeze is confirmed after 3 closed bars. A release is the first closed bar after a confirmed squeeze ends; its direction comes from the TTM-style squeeze momentum (a 20-bar linear regression of the close’s distance from the average of the recent high-low midpoint and the 20-bar average; positive = up).
- Normal true range: on intraday charts, the average true range for the same time of day over roughly the last 20 days (once each time slot has 5 days of data); otherwise the 200-bar average.
-
States, checked in this order:
- High-risk: the last 3 bars average at least 2.0x the normal true range.
- Squeeze: the squeeze is on.
- Expansion: no squeeze, Bollinger width widening (above its value 2 bars ago) and either at or above the 70th percentile or within 10 bars of a release. Direction from the squeeze momentum; “(with volume)” when relative volume is 1.3x or more.
- Quiet: no squeeze and the average of the two percentiles at or below 25.
- Normal: everything else.
A new state must hold for 2 closed bars before it counts; High-risk shows at once (setting). 6. Chop index (14): 61.8 or more = choppy, 38.2 or less = trending. 7. Displacement: a candle’s high to low range divided by the previous bar’s ATR. With a body of at least half the range: 1.5x or more = Strong, 2.5x or more = Extreme. Long-wick candles are not graded. 8. Action hint: Squeeze = READY: breakout watch. Expansion = HOT: trade with the move (or “HOT, but choppy” when the chop index is high). High-risk = CAUTION: cut size. Quiet = AVOID: quiet tape. Normal = OK: trend conditions, OK: be selective, or AVOID: choppy, by chop index.
What you see on the chart
- Volatility cloud: bands 2 ATR either side of a 20 EMA, filled in the state colour: grey for Quiet and Normal (Quiet fainter), cyan for Squeeze, teal or fuchsia for Expansion up or down, amber for High-risk.
- Normal width lines: dotted grey lines at 2x the average ATR of the history. Cloud wider than the dotted lines = more volatile than normal; narrower = quieter than normal.
- Squeeze dots: small cyan dots along the bottom of the chart while a squeeze is on.
- Release triangles: at the bottom of the chart, teal up or fuchsia down, on the bar a confirmed squeeze releases.
- Displacement markers: a small triangle below (up candle) or above (down candle) a Strong displacement bar; a larger triangle with “EXT” for Extreme. With “Extreme only” just the EXT markers show; with Off, none (and the HUD row reads “Markers off”).
- Background tint (off by default): Squeeze, Expansion and High-risk bars tinted.
- HUD (top right):
- ZQ Volatility: timeframe and profile.
- State: current state (and a pending next state, if any).
- Percentile: ATR and Bollinger width percentiles and true range against normal.
- Squeeze: “On, 12 bars”, “Released up, 3 bars ago” or “Off”.
- Chop index: value with choppy, mixed or trending.
- Volume: relative volume against the time-of-day or rolling average, or “no volume data”.
- Displacement: the last Strong or Extreme candle and how long ago.
- Action: the action hint.
- Watermark: faint “ZynIQ Volatility”, bottom right.
Settings
| Group | Setting | Default | What it does |
|---|---|---|---|
| Profile | Profile | Intraday | Scalping, Intraday, Swing or Custom lengths. |
| Profile | ATR length (Custom) | 14 | ATR length when Custom. |
| Profile | Squeeze length (Custom) | 20 | Bollinger and Keltner length when Custom. |
| Profile | Volatility history (Custom) | 200 | Bars for percentiles and averages when Custom. |
| Profile | Chop index length (Custom) | 14 | Choppiness Index length when Custom. |
| Squeeze | Bollinger multiplier | 2.0 | Bollinger standard deviations. |
| Squeeze | Keltner multiplier | 1.5 | Keltner ATR multiple; wider = more squeezes. |
| Squeeze | Bars to confirm a squeeze | 3 | Minimum squeeze length for the alert and for a release. |
| Squeeze | Expansion window after a release | 10 | Bars after a release in which widening counts as expansion. |
| States | Quiet below percentile | 25 | Average percentile at or below this = Quiet. |
| States | Expansion above percentile | 70 | Bollinger width percentile for Expansion. |
| States | High-risk: true range vs normal | 2.0 | 3-bar true range against normal for High-risk. |
| States | Choppy above (chop index) | 61.8 | Chop index level read as choppy. |
| States | Trending below (chop index) | 38.2 | Chop index level read as trending. |
| States | Bars to confirm a state change | 2 | Closed bars a new state must hold. |
| States | High-risk skips the wait | On | High-risk shows on the bar it happens. |
| Displacement | Displacement markers | Strong and Extreme | Which grades are marked and alerted (or Off). |
| Displacement | Strong at (x ATR) | 1.5 | Range in ATRs for Strong. |
| Displacement | Extreme at (x ATR) | 2.5 | Range in ATRs for Extreme. |
| Displacement | Minimum body share | 0.5 | Body must be at least this share of the range. |
| Volume and time of day | Time-of-day baseline (intraday) | On | Volume and High-risk compare with the same time of day. |
| Volume and time of day | Time-of-day days | 20 | Roughly how many days the time-of-day average covers. |
| Volume and time of day | Rolling volume length | 20 | Rolling volume average when the time-of-day baseline is off or warming up. |
| Volume and time of day | Ignore the session gap in true range (intraday) | On | First bar after a session gap counts only its own high to low. |
| Volatility cloud | Show volatility cloud | On | ATR bands filled in the state colour. |
| Volatility cloud | Cloud width (x ATR) | 2.0 | Distance of the cloud edges from the EMA. |
| Volatility cloud | Show normal width lines | On | Dotted lines from the average ATR. |
| Volatility cloud | Cloud transparency | 88 | Higher = fainter. |
| Volatility cloud | Show squeeze dots and releases | On | Bottom-of-chart squeeze dots and release triangles. |
| Display | Colour theme | ZynIQ | ZynIQ (teal / fuchsia) or Classic (green / red). |
| Display | Background tint by state | Off | Tints Squeeze, Expansion and High-risk bars. |
| HUD and watermark | Show HUD | On | The information panel. |
| HUD and watermark | HUD position | Top right | Where the HUD sits. |
| HUD and watermark | HUD text size | Small | Tiny, Small or Normal. |
| HUD and watermark | Show watermark | On | Faint “ZynIQ Volatility” tag. |
| HUD and watermark | Watermark position | Bottom right | Where the watermark sits. |
Alerts
Everything is decided when a bar closes: create alerts with Once per bar close.
| Alert | Fires when |
|---|---|
| ZQ Volatility: squeeze on | A squeeze reaches 3 closed bars (confirmed). |
| ZQ Volatility: squeeze release up / down | The first closed bar after a confirmed squeeze ends, by direction. |
| ZQ Volatility: expansion | The state changes to Expansion. |
| ZQ Volatility: high-risk | The state changes to High-risk. |
| ZQ Volatility: quiet | The state changes to Quiet. |
| ZQ Volatility: any state change | Any state change. |
| ZQ Volatility: strong displacement | A Strong displacement candle closes (when Strong markers are on). |
| ZQ Volatility: extreme displacement | An Extreme displacement candle closes (unless markers are Off). |
For detailed messages pick Any alert() function call: they include the close, ATR, the squeeze length and basis on a release, the percentiles and action hint on a state change, and the candle’s size in ATRs, high, low and relative volume on a displacement.
Set it up for your market
| Market | Timeframes | Profile | Key settings | Notes |
|---|---|---|---|---|
| Index futures (MNQ, NQ, MES, ES) | 1m to 15m | Scalping on 1m to 3m, Intraday on 5m to 15m | Keep the time-of-day baseline and “Ignore the session gap” on. | Overnight Globex hours often read Quiet; that is accurate. The time-of-day baseline needs about 5 trading days. Without a CME real-time data subscription TradingView shows futures 10 minutes late. Regular-hours-only charts skip the overnight entirely. |
| Stocks | 5m to 1H, daily | Intraday; Swing on 4H and daily | Defaults. | Regular-hours charts are cleaner; extended hours add thin bars that read Quiet. Earnings gaps on daily charts are genuine displacement and High-risk. |
| Forex | 5m to 1H | Intraday | Defaults. | Volume is tick volume from the data provider. The Asian session often reads Quiet; London and New York opens are compared with previous opens. |
| Crypto | 5m to 4H, daily | Intraday; Swing on 4H and daily | Defaults. | 24/7 markets: the time-of-day baseline still helps because US and European hours are busier. Weekend hours often read Quiet. |
How to use it
- Check the Action row before taking a setup from another tool.
- READY (Squeeze): prepare breakout levels; the release triangle shows the direction volatility broke out.
- HOT (Expansion): conditions suit breakout and trend trades in the expansion’s direction; “with volume” is a stronger read.
- AVOID (Quiet or choppy Normal): fewer trades, smaller targets, or stand aside.
- CAUTION (High-risk): volatility is far above normal for this time of day; cut size or wait for it to settle.
- Use Extreme displacement candles as reference points: they often mark the start of a move or a climax, so look at structure around them rather than chasing them.
Common mistakes: treating a release triangle as an entry on its own; ignoring the chop index during Normal; setting the Keltner multiplier very wide (every bar becomes a squeeze).
Pairs well with Market Regime Master Pro, the breakout tools, Session Master and VWAP Master.
Good to know
- States change only on closed bars and need 2 closed bars by default; High-risk shows at once. Squeeze releases need a squeeze of at least 3 bars.
- Percentiles need the volatility history (200 bars on Intraday) and the time-of-day baseline needs about 5 days per time slot; early bars on a chart are less reliable.
- The squeeze dots reflect the live bar and can change until it closes; the alerts and release markers wait for the close.
- Symbols without volume data: the volume row says “no volume data” and nothing is blocked; states do not depend on volume.
- Uses about 14 plot slots. On free TradingView plans the number of indicators per chart is limited.
- Not financial advice and no indication of future results.
Version 3 changes
- Squeeze fixed. v2 built the Keltner Channel from one bar’s true range, so the squeeze fired on big candles. v3 uses the TTM test: Bollinger Bands (20, 2.0) inside a Keltner Channel of 1.5 ATR around the same basis.
- Squeeze releases are now detected (after a squeeze of at least 3 bars) with their direction from the squeeze momentum, marked on the chart and alerted.
- The promised states exist: Quiet and High-risk were missing and Expansion was never assigned in v2. All five states now work, relative to the symbol’s own history (percentiles and true range against normal), so they mean the same on MNQ, EURUSD, BTC and a stock.
- Displacement grading (promised, missing in v2): decisive candles of 1.5 ATR or more are graded Strong, 2.5 ATR or more Extreme, and marked.
- Volatility cloud against recent history (promised): ATR bands around an EMA, coloured by state, with dotted “normal width” lines from the average ATR, so you can see at a glance whether volatility is above or below normal.
- Profiles now change the lengths (in v2 all three were identical), plus Custom.
- Every length and threshold is exposed, with tooltips.
- Time-of-day baseline for volume and the High-risk test on intraday charts, so the US cash open or the London open is compared with previous opens instead of the quiet overnight hours.
- Session gaps on intraday charts no longer inflate ATR.
- HUD with state, percentiles, squeeze bar count, chop index, relative volume, last displacement and the action hint.
- Alerts for squeeze on, release up and down, expansion, high-risk, quiet, any state change and both displacement grades, plus detailed alert() messages. v2 had two basic alerts.
ZynIQ Volatility Master Pro is $79, one payment: the Pine v6 source, on any TradingView plan. Or get all 22 indicators in the Complete Suite for $399.
Related guides
- ZynIQ Premium/Discount Master: Premium, discount and equilibrium for a rolling range, the previous day, the session or the last swing leg.
- ZynIQ Session Master: Asia, London and New York sessions in New York time, with ranges, midlines, previous-session levels and kill zones.
- ZynIQ VWAP Master: Anchored VWAP with session, calendar, date and automatic anchors, SD bands and stretch alerts.