OPEN-SOURCE SCRIPT

VCP Tightness Score

4 764
VCP Tightness Score

Original concept and script by joshdm_94 (@ETFbreakouts on X). Modified and extended with a 3-zone color system and single dot display.

Spotting a true Volatility Contraction Pattern requires more than just looking for small candles. A 5% price swing might be tight for a high-beta growth stock but extremely loose for a slower mover. This indicator solves that by measuring how tight a stock's recent price action is relative to its own historical volatility — not against a fixed number.

How It Works

The script calculates two metrics over your chosen lookback period (default 5 bars):

- Closing Spread: the percentage difference between the highest and lowest close

- Total Swing Spread: the percentage difference between the absolute high and low

Both are divided by the stock's Average Daily Range % and normalized on a 0–100 scale based on a historical baseline window (default 50 bars). A score near 0 means the stock is compressing tighter than at any point in the baseline period. A score near 100 means price action is wide and volatile.

How to Read It

A single colored dot in the top right corner of your chart updates in real time:

- 🟢 Green (0–15): Entry zone. Price is compressed and ready. Look for a pivot with volume dry-up confirmation.

- 🟠 Orange (16–40): Still contracting. Keep it on your watchlist and check back daily.

- 🔴 Red (41–100): Too loose. Stay away until volatility contracts further.

Inputs

- Tightness Lookback: bars to measure current compression (default 5)

- ADR Lookback: bars to calculate the stock's normal volatility (default 20)

- Historical Baseline: normalization window for the 0–100 score (default 50)

Best Use Cases

Designed for daily and weekly charts. Most effective when used alongside volume dry-ups to confirm VCPs, high tight flags, and cup and handle bases before the breakout.

כתב ויתור

המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.