PROTECTED SOURCE SCRIPT
VSA Events + Signals (Riz Edition)

What it is
A Volume-Spread-Analysis toolkit that identifies classic VSA events, scores their quality with trend & location context, and prints entry signals (▲ Long / ▼ Short) only when price action confirms. Includes an on-chart event dashboard, rich alerts, HTF trend filter, VWAP/PDH/PDL location checks, and a chop/session filter. Works on any symbol/timeframe.
What it detects (labels)
Bullish / Strength
NS – No Supply (down bar, narrow spread, low relative volume)
Test – Test of supply (lower low, low volume, closes high)
SV – Stopping Volume (down, wide spread, high vol, higher close)
CA – Climactic Action (down, ultra/record vol, wide spread)
SO – Shakeout (down, ultra/record vol, long lower wick)
Bearish / Weakness
ND – No Demand (up bar, narrow spread, low relative volume)
DT – Distribution Test (higher high, low volume, closes low)
SCI – Supply Coming In (up, wide, high vol, lower close)
BC – Buying Climax (up, ultra/record vol, wide spread)
UT – Upthrust (up, ultra/record vol, long upper wick)
How signals are generated
Event → Candidate
When a bullish/bearish event occurs and filters pass (session, non-chop, recent strength/weakness, optional HTF agreement), the bar becomes a candidate (stored for confirmBars bars).
Scoring
Base score = sum of event weights (you control the weights).
Trend bonus = +w_Trend if trend agrees.
Location bonus = +w_Location if the candidate price is near VWAP or PDH/PDL (proxATR * ATR).
The candidate keeps this stored score.
Trigger (no repaint)
On confirmed bars only:
Long (▲) if price breaks above the candidate high or prints a strong up close;
Short (▼) if price breaks below the candidate low or prints a strong down close;
Candidate is invalidated if price breaches the opposite level first.
Final score = stored score + w_Confirm must be ≥ minScore.
Dashboard (panel)
Toggle Show Table to see the latest events/signals:
Time, Event, RelVol, Spread (Narrow/Wide/Normal), Near (VWAP/PDH/PDL), Base, Final.
Key inputs (organized in the script)
General: Version watermark, Debug.
Volume & Spread: Volume SMA length, relative-volume thresholds, ATR length, narrow/wide multipliers.
Trend/Context: Trend EMA length, optional HTF timeframe & confirmation.
Confirmation & Memory: confirmBars, memBars, minScore.
Weights: Bullish & Bearish event weights + w_Trend, w_Location, w_Confirm.
Location Filters: VWAP (hlc3), PDH/PDL, proxATR.
Session & Chop: Session time window, ATR/Range chop threshold.
Display: Toggle each event type, signals, table.
Alerts: One alert per event type + Bullish/ Bearish Entry alerts.
Tuning tips
Raise minScore to be stricter.
Increase w_Location and/or lower proxATR to favor entries at VWAP/PDH/PDL.
Use useHTFTrend for extra confirmation on higher timeframes.
Adjust confirmBars to control how long a setup can wait for a break.
Notes
Uses barstate.isconfirmed and no lookahead requests for triggers to avoid repainting.
Spot FX/CFDs use broker tick volume—treat relative-volume thresholds accordingly.
Educational tool, not financial advice. Test and size risk appropriately.
A Volume-Spread-Analysis toolkit that identifies classic VSA events, scores their quality with trend & location context, and prints entry signals (▲ Long / ▼ Short) only when price action confirms. Includes an on-chart event dashboard, rich alerts, HTF trend filter, VWAP/PDH/PDL location checks, and a chop/session filter. Works on any symbol/timeframe.
What it detects (labels)
Bullish / Strength
NS – No Supply (down bar, narrow spread, low relative volume)
Test – Test of supply (lower low, low volume, closes high)
SV – Stopping Volume (down, wide spread, high vol, higher close)
CA – Climactic Action (down, ultra/record vol, wide spread)
SO – Shakeout (down, ultra/record vol, long lower wick)
Bearish / Weakness
ND – No Demand (up bar, narrow spread, low relative volume)
DT – Distribution Test (higher high, low volume, closes low)
SCI – Supply Coming In (up, wide, high vol, lower close)
BC – Buying Climax (up, ultra/record vol, wide spread)
UT – Upthrust (up, ultra/record vol, long upper wick)
How signals are generated
Event → Candidate
When a bullish/bearish event occurs and filters pass (session, non-chop, recent strength/weakness, optional HTF agreement), the bar becomes a candidate (stored for confirmBars bars).
Scoring
Base score = sum of event weights (you control the weights).
Trend bonus = +w_Trend if trend agrees.
Location bonus = +w_Location if the candidate price is near VWAP or PDH/PDL (proxATR * ATR).
The candidate keeps this stored score.
Trigger (no repaint)
On confirmed bars only:
Long (▲) if price breaks above the candidate high or prints a strong up close;
Short (▼) if price breaks below the candidate low or prints a strong down close;
Candidate is invalidated if price breaches the opposite level first.
Final score = stored score + w_Confirm must be ≥ minScore.
Dashboard (panel)
Toggle Show Table to see the latest events/signals:
Time, Event, RelVol, Spread (Narrow/Wide/Normal), Near (VWAP/PDH/PDL), Base, Final.
Key inputs (organized in the script)
General: Version watermark, Debug.
Volume & Spread: Volume SMA length, relative-volume thresholds, ATR length, narrow/wide multipliers.
Trend/Context: Trend EMA length, optional HTF timeframe & confirmation.
Confirmation & Memory: confirmBars, memBars, minScore.
Weights: Bullish & Bearish event weights + w_Trend, w_Location, w_Confirm.
Location Filters: VWAP (hlc3), PDH/PDL, proxATR.
Session & Chop: Session time window, ATR/Range chop threshold.
Display: Toggle each event type, signals, table.
Alerts: One alert per event type + Bullish/ Bearish Entry alerts.
Tuning tips
Raise minScore to be stricter.
Increase w_Location and/or lower proxATR to favor entries at VWAP/PDH/PDL.
Use useHTFTrend for extra confirmation on higher timeframes.
Adjust confirmBars to control how long a setup can wait for a break.
Notes
Uses barstate.isconfirmed and no lookahead requests for triggers to avoid repainting.
Spot FX/CFDs use broker tick volume—treat relative-volume thresholds accordingly.
Educational tool, not financial advice. Test and size risk appropriately.
Script protégé
Ce script est publié en source fermée. Toutefois, vous pouvez l'utiliser librement et sans aucune restriction - en savoir plus ici.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
Script protégé
Ce script est publié en source fermée. Toutefois, vous pouvez l'utiliser librement et sans aucune restriction - en savoir plus ici.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.