Trading Blueprint v7 Pro — VWAP-CVD, cPOC Trend MomentumTBv7 Pro is the advanced release of the Trading Blueprint framework — engineered for institutional-style intraday analysis that fuses VWAP location, CVD orderflow, composite profile bias, and momentum curvature into one cohesive system.
Core Framework
VWAP Structure → Adaptive mean anchored to session VWAP with ±1σ / ±2σ deviation envelopes for dynamic equilibrium detection.
vPOC per bar by ruckard ()
Anchored Volume Profile by DGT ()
CVD Orderflow Divergence → Smoothed delta histogram with fractal pivots identifying hidden absorption and exhaustion (patterns (Bull / Bear Div). Cumulative Volume Delta by AustrianTradingMachine )
cPOC Integration (2-Day Composite) by poopsnag (me :)→ Confirms true acceptance or rejection zones across sessions for precision bias alignment.
TMI (Trend Momentum Indicator by TradingRiot()) → Quantifies slope + mean crossover strength, providing actionable momentum confirmation (bullish / bearish support / divergence).
Bias Dashboard → Displays VWAP bias, numerical score, and dynamic color feedback for at-a-glance trade orientation.
Usage Context
Designed for professionals trading 15 m execution inside 1 h / 4 h context. Ideal for VWAP-cPOC location setups, reversion / continuation scalps, and orderflow confirmation using cumulative delta behavior.
🔧 Modules such as RSI / AO are pre-wired and easily activated for full Trading Blueprint confluence mapping.
W-VWAP
VWAP (SIYL) Stdev Bands v2v2 indicator to allow for reversion-to-mean trading via the Stay In Your Lane approach.
VWAP + WaveTrend + CHoCH & BOS//@version=5
indicator("GC — VWAP + WaveTrend + CHoCH & BOS (v3.3, clean + pro visuals)", overlay=true, max_lines_count=500, max_labels_count=500)
// ================== TOGGLES D'AFFICHAGE ==================
showVWAPLine = input.bool(true, "Afficher VWAP")
showVWAPBands = input.bool(true, "Afficher Bandes VWAP (ATR)")
showWave = input.bool(true, "Afficher WaveTrend (vague)")
showCHoCH = input.bool(true, "Afficher CHoCH")
showBOS = input.bool(true, "Afficher BOS")
showOB = input.bool(true, "Afficher Order Blocks")
highlightBreakCandle = input.bool(true, "Surbrillance bougie de cassure (CHoCH)")
// ================== TOGGLES LOGIQUES ==================
useBiasFilter = input.bool(true, "Activer filtre Biais HTF (Ichimoku)")
useSessionsFilter = input.bool(true, "Activer filtre Sessions (Europe/Paris)")
enableAlerts = input.bool(true, "Activer alertes LONG/SHORT")
// ================== PARAMS ==================
tfHTF1 = input.timeframe("60", "HTF #1 (H1) pour biais")
tfHTF2 = input.timeframe("240", "HTF #2 (H4) pour biais")
// Sessions (format HHMM-HHMM)
asiaSess = input.session("0100-0900", "Asie (Heure Paris)")
lonSess = input.session("0900-1730", "Londres (Heure Paris)")
nySess = input.session("1430-2200", "New York (Heure Paris)")
useAsia = input.bool(true, "Filtrer Asie")
useLon = input.bool(false, "Filtrer Londres")
useNY = input.bool(false, "Filtrer New York")
// VWAP bands (ATR)
atrLenBands = input.int(14, "ATR Len (bandes VWAP)")
atrMult = input.float(1.0, "ATR Mult (bandes)", step=0.1)
// Structure
pivotLen = input.int(5, "Pivot len (structure)")
// ================== BIAIS ICHIMOKU (HTF) ==================
tenkanLen = input.int(9, "Tenkan", inline="ichi")
kijunLen = input.int(26, "Kijun", inline="ichi")
spanBLen = input.int(52, "SenkouB",inline="ichi")
f_ichi(srcH, srcL, cLen, bLen) =>
ts = (ta.highest(srcH, cLen) + ta.lowest(srcL, cLen)) / 2.0
ks = (ta.highest(srcH, bLen) + ta.lowest(srcL, bLen)) / 2.0
= request.security(syminfo.tickerid, tfHTF1, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
= request.security(syminfo.tickerid, tfHTF2, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
biaisBullRaw = close > ksH1 and tsH1 > ksH1 and close > ksH4 and tsH4 > ksH4
biaisBearRaw = close < ksH1 and tsH1 < ksH1 and close < ksH4 and tsH4 < ksH4
biaisBull = useBiasFilter ? biaisBullRaw : true
biaisBear = useBiasFilter ? biaisBearRaw : true
// ================== SESSIONS ==================
inAsia = not na(time(timeframe.period, asiaSess, "Europe/Paris"))
inLon = not na(time(timeframe.period, lonSess, "Europe/Paris"))
inNY = not na(time(timeframe.period, nySess, "Europe/Paris"))
sessionPassRaw = (useAsia and inAsia) or (useLon and inLon) or (useNY and inNY) or (not useAsia and not useLon and not useNY)
sessionPass = useSessionsFilter ? sessionPassRaw : true
// ================== VWAP + BANDES (ATR) ==================
vwap = ta.vwap
atrB = ta.atr(atrLenBands)
upper = vwap + atrMult * atrB
lower = vwap - atrMult * atrB
plot(showVWAPLine ? vwap : na, "VWAP", linewidth=2, color=color.new(color.gray, 0))
plot(showVWAPBands ? upper : na, "VWAP + ATR", color=color.new(color.gray, 0))
plot(showVWAPBands ? lower : na, "VWAP - ATR", color=color.new(color.gray, 0))
// ================== WAVE TREND (vague lisible) ==================
waveLen1 = input.int(20, "Wave base EMA")
waveLen2 = input.int(40, "Wave smoothing Hull")
srcWT = (high + low + close)/3.0
emaBase = ta.ema(srcWT, waveLen1)
w2half = math.max(1, math.round(waveLen2 / 2.0))
hull = ta.wma(2*ta.wma(emaBase, w2half) - ta.wma(emaBase, waveLen2), math.max(1, math.round(math.sqrt(waveLen2))))
wave = ta.ema(hull, math.max(2, math.round(waveLen1/2.0)))
slopeUp = wave > wave
slopeDn = wave < wave
waveColor =
(useBiasFilter and biaisBullRaw and slopeUp) ? color.new(color.lime, 0) :
(useBiasFilter and biaisBearRaw and slopeDn) ? color.new(color.red, 0) :
color.new(color.gray, 0)
plot(showWave ? wave : na, "WaveTrend", linewidth=3, color=waveColor)
// ================== STRUCTURE: PIVOTS ==================
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastSwingHigh = na
var float lastSwingLow = na
var int lastSwingHighBar = na
var int lastSwingLowBar = na
if not na(ph)
lastSwingHigh := ph
lastSwingHighBar := bar_index - pivotLen // index du pivot confirmé
if not na(pl)
lastSwingLow := pl
lastSwingLowBar := bar_index - pivotLen
// Cassures confirmées (bar close)
brokeHigh = not na(lastSwingHigh) and ta.crossover(close, lastSwingHigh)
brokeLow = not na(lastSwingLow) and ta.crossunder(close, lastSwingLow)
// Tendance locale par pente de la Wave
trendUp = slopeUp
trendDown = slopeDn
// Définition des états
bosUp = barstate.isconfirmed and trendUp and brokeHigh
bosDown = barstate.isconfirmed and trendDown and brokeLow
chochUp = barstate.isconfirmed and trendDown and brokeHigh
chochDown = barstate.isconfirmed and trendUp and brokeLow
// ================== VISUELS PRO (lignes BOS/CHoCH + OB + Highlight) ==================
// Conteneurs pour limiter l'encombrement
var line bosLines = array.new_line()
var label bosLabels = array.new_label()
var line chochLines = array.new_line()
var label chochLbls = array.new_label()
var box obBoxes = array.new_box()
var box brkBoxes = array.new_box()
f_trim(arrLine, arrLbl, maxKeep) =>
// supprime les plus anciens si on dépasse maxKeep
if array.size(arrLine) > maxKeep
l = array.shift(arrLine)
line.delete(l)
if array.size(arrLbl) > maxKeep
lb = array.shift(arrLbl)
label.delete(lb)
f_trim_boxes(arr, maxKeep) =>
if array.size(arr) > maxKeep
b = array.shift(arr)
box.delete(b)
// --- Création BOS Up / Down (ligne horizontale + petit label "bos")
if showBOS and bosUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.lime, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "bos", style=label.style_label_left, color=color.new(color.lime, 0), textcolor=color.new(color.black, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
if showBOS and bosDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.red, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "bos", style=label.style_label_left, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
// --- CHoCH Up / Down (ligne + label "ChoCh" + highlight bougie de cassure)
if showCHoCH and chochUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.teal, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "ChoCh", style=label.style_label_left, color=color.new(color.teal, 0), textcolor=color.new(color.black, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
if showCHoCH and chochDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.maroon, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "ChoCh", style=label.style_label_left, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
// --- Order Blocks : dernière bougie opposée avant cassure (body-only)
f_last_opposite_body_idx(maxLookback, wantBull) =>
// cherche la dernière bougie opposée dans les 'maxLookback' barres précédant la cassure
var int idx = na
for i = 1 to maxLookback
isBear = close < open
isBull = close > open
if (wantBull and isBear) or (not wantBull and isBull)
idx := i
break
idx
maxLook = 10
if showOB and (bosUp or chochUp) and not na(lastSwingHigh)
obIdx = f_last_opposite_body_idx(maxLook, true) // pour un mouvement haussier, bougie "opposée" est rouge
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
if showOB and (bosDown or chochDown) and not na(lastSwingLow)
obIdx = f_last_opposite_body_idx(maxLook, false) // pour un mouvement baissier, bougie "opposée" est verte
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
// ================== ALERTES ==================
barOK = barstate.isconfirmed and sessionPass
longSignal = barOK and biaisBull and ( (showBOS and bosUp) or (showCHoCH and chochUp) ) and (showVWAPLine ? close >= vwap : true)
shortSignal = barOK and biaisBear and ( (showBOS and bosDown) or (showCHoCH and chochDown) ) and (showVWAPLine ? close <= vwap : true)
alertcondition(enableAlerts and longSignal, "LONG signal (clean)", "LONG — {{ticker}} {{interval}}")
alertcondition(enableAlerts and shortSignal, "SHORT signal (clean)", "SHORT — {{ticker}} {{interval}}")
Smart VWAP FVG SystemSmart VWAP FVG System - Professional Multi-Filter Trading Indicator
📊 OVERVIEW
The Smart VWAP FVG System is an advanced multi-layered trading indicator that combines institutional volume analysis, multi-timeframe VWAP trend confirmation, and Fair Value Gap detection to identify high-probability trade entries. This indicator uses a sophisticated filtering mechanism where signals appear only when multiple independent confirmation criteria align simultaneously.
Recommended Timeframe: 5-minute (M5) or higher. The indicator works best on M5, M15, and M30 charts for intraday trading.
🎯 ORIGINALITY & PURPOSE
This indicator is original because it combines three distinct analytical methods into a unified decision-making system:
Market Profile Volume Analysis - Identifies institutional accumulation/distribution zones
Dual VWAP Filtering - Confirms trend direction using two independent VWAP calculations
Fair Value Gap Detection - Validates institutional interest through price inefficiency zones
The key innovation is the directional filter system: the primary Market Profile generates BUY-ONLY or SELL-ONLY states based on higher timeframe value area reversals, which then controls which signals from the main system are displayed. This creates a multi-timeframe confluence that significantly reduces false signals.
Unlike simple indicator mashups, each component serves a specific purpose:
Market Profile → Direction bias (trend filter)
Primary VWAP (Session) → Short-term trend confirmation
Secondary VWAP (Week) → Medium-term trend confirmation
FVG Detection → Institutional activity validation
🔧 HOW IT WORKS
1. Primary Market Profile Filter (Higher Timeframe)
The indicator calculates Market Profile on a higher timeframe (default: 1 hour) to determine the overall market structure:
Value Area High (VAH): Top 70% of volume distribution
Value Area Low (VAL): Bottom 70% of volume distribution
Point of Control (POC): Price level with highest volume
When price reaches VAH and reverses down → SELL-ONLY mode activated
When price reaches VAL and reverses up → BUY-ONLY mode activated
This higher timeframe filter ensures you're trading in the direction of institutional flow.
2. Dual VWAP System
Two independent VWAP calculations provide multi-timeframe trend confirmation:
Primary VWAP (Session-based): Resets daily, tracks intraday momentum
Secondary VWAP (Week-based): Resets weekly, confirms longer-term trend
Filter Logic:
BUY signals require: Price > Primary VWAP AND Price > Secondary VWAP
SELL signals require: Price < Primary VWAP AND Price < Secondary VWAP
This dual confirmation prevents counter-trend trades during ranging conditions.
3. Fair Value Gap (FVG) Detection
FVG zones identify price inefficiencies where institutional orders were executed rapidly:
Bullish FVG: Gap between candle .high and candle .low (upward imbalance)
Bearish FVG: Gap between candle .high and candle .low (downward imbalance)
The indicator monitors recent FVG formation (lookback: 50 bars) and requires:
Bullish FVG present for BUY signals
Bearish FVG present for SELL signals
FVG zones are displayed as colored boxes and automatically marked as "mitigated" when price fills the gap.
4. Main Trading Signal Logic
The secondary Market Profile (default: 1 hour) generates the actual trading signals:
BUY Signal Conditions:
Price reaches Value Area Low
Reversal pattern confirmed (minimum 1 bar)
Price > Primary VWAP
Price > Secondary VWAP (if filter enabled)
Recent Bullish FVG detected (if filter enabled)
Primary MP Filter = BUY-ONLY or NEUTRAL
SELL Signal Conditions:
Price reaches Value Area High
Reversal pattern confirmed (minimum 1 bar)
Price < Primary VWAP
Price < Secondary VWAP (if filter enabled)
Recent Bearish FVG detected (if filter enabled)
Primary MP Filter = SELL-ONLY or NEUTRAL
All conditions must be TRUE simultaneously for a signal to appear.
📈 VISUAL ELEMENTS
On Chart:
🟢 Green Triangle (▲) = BUY Signal
🔴 Red Triangle (▼) = SELL Signal
🟦 Blue horizontal lines = Value Area zones
🟡 Yellow line = Point of Control (POC)
🟩 Green boxes = Bullish FVG zones
🟥 Red boxes = Bearish FVG zones
🔵 Blue line = Primary VWAP (Session)
⚪ White line = Secondary VWAP (Week)
Info Panel (Top Right):
Real-time status display showing:
Filter Direction (BUY ONLY / SELL ONLY / NEUTRAL)
Active timeframes for both MP filters
FVG filter status and count
VWAP positions (ABOVE/BELOW)
Signal enablement status
Alert status
⚙️ KEY SETTINGS
MP/TPO Filter Settings (Primary Indicator)
MP Filter Time Frame: 60 minutes (controls directional bias)
Filter Value Area %: 70% (standard Market Profile calculation)
Filter Alert Distance: 1 bar
Filter Min Bars for Reversal: 1 bar
Filter Alert Zone Margin: 0.01 (1%)
FVG Filter Settings
Use FVG Filter: Enabled (toggle on/off)
FVG Timeframe: 60 minutes (1 hour)
FVG Filter Mode: Both (require bullish FVG for BUY, bearish for SELL)
FVG Lookback Period: 50 bars (how far back to search)
Show FVG Formation Signals: Optional visual markers
Max FVG on Chart: 50 zones
Show Mitigated FVG: Display filled gaps
Market Profile Settings
Higher Time Frame: 60 minutes (for main signals)
Percent for Value Area: 70%
Show POC Line: Enabled
Keep Old MPs: Enabled (maintain historical profiles)
Primary VWAP Filter
Use Primary VWAP Filter: Enabled
Primary VWAP Anchor Period: Session (resets daily)
Primary VWAP Source: HLC3 (typical price)
Secondary VWAP Filter
Use Secondary VWAP Filter: Enabled
Secondary VWAP Anchor Period: Week (resets weekly)
Secondary VWAP Filter Mode: Both
Secondary VWAP Line Color: White
Trading Signals
Show Trading Signals on Chart: Enabled
Show SELL Signals: Enabled
Show BUY Signals: Enabled
Alert Distance: 1 bar
Min Bars for Reversal: 1 bar
Alert Zone Margin: 0.01 (1%)
Retest Search Period: 20 bars
Min Bars Between Retests: 5 bars
Show Only Retests: Disabled
Alert Settings
Enable Trading Notifications: Enabled
VAH Reversal Alert: Enabled (SELL signals)
VAL Reversal Alert: Enabled (BUY signals)
Time Filter Settings
Filter Alerts By Time: Optional (exclude specific hours)
⚠️ IMPORTANT WARNINGS & LIMITATIONS
1. Repainting Behavior
CRITICAL: This indicator uses lookahead=barmerge.lookahead_on to access higher timeframe data immediately for FVG detection. This is necessary to provide real-time FVG zone visualization but has the following implications:
FVG zones may shift slightly until the higher timeframe candle closes
FVG detection signals are preliminary until HTF bar confirmation
The main trading signals (triangles) appear on confirmed bars and do not repaint
Best Practice: Always wait for the current timeframe bar to close before acting on signals. The filter status and FVG zones are informational but may adjust as new data arrives.
2. Minimum Timeframe
Do NOT use on timeframes below 5 minutes (M5)
Recommended: M5, M15, M30 for intraday trading
Higher timeframes (H1, H4) can also be used but will generate fewer signals
3. Multiple Filters Can Block Signals
By design, this indicator is conservative. When all filters are enabled:
Signals appear ONLY when all conditions align
You may see extended periods with no signals
This is intentional to reduce false positives
If you see no signals:
Check the Info Panel to see which filters are failing
Consider adjusting FVG lookback period
Temporarily disable FVG filter to test
Verify VWAP filters match current market trend
4. Market Profile Limitations
Market Profile requires sufficient volume data
Low-volume instruments may produce unreliable profiles
Value Areas update only on higher timeframe bar close
Works best on liquid markets (major forex pairs, indices, crypto)
📖 HOW TO USE
Step 1: Add to Chart
Apply indicator to M5 or higher timeframe chart
Ensure chart shows volume data
Use standard candles (NOT Heikin Ashi, Renko, etc.)
Step 2: Configure Settings
Primary MP Filter TF: Set to 60 (1 hour) minimum, or 240 (4 hour) for swing trading
Main MP TF: Set to 60 (1 hour) for intraday signals
FVG Timeframe: Match or exceed main MP timeframe
Leave other settings at default initially
Step 3: Understand the Info Panel
Monitor the top-right panel:
FILTER STATUS: Shows current directional bias
NEUTRAL = Both signals allowed
BUY ONLY = Only green triangles will appear
SELL ONLY = Only red triangles will appear
FVG Filter: Shows if bullish/bearish gaps detected recently
VWAP positions: Confirms trend alignment
Step 4: Take Signals
For BUY Signal (Green Triangle ▲):
Wait for green triangle to appear
Check Info Panel shows ✓ for BUY signals
Confirm current bar has closed
Enter long position
Stop loss: Below recent VAL or swing low
Target: Previous Value Area High or 1.5-2× risk
For SELL Signal (Red Triangle ▼):
Wait for red triangle to appear
Check Info Panel shows ✓ for SELL signals
Confirm current bar has closed
Enter short position
Stop loss: Above recent VAH or swing high
Target: Previous Value Area Low or 1.5-2× risk
Step 5: Risk Management
Risk per trade: Maximum 1-2% of account equity
Position sizing: Adjust based on stop loss distance
Avoid trading: During major news events or time filter periods
Multiple confirmations: Look for confluence with price action (support/resistance, trendlines)
🎓 UNDERLYING CONCEPTS
Market Profile Theory
Developed by J. Peter Steidlmayer in the 1980s, Market Profile organizes price and volume data to identify:
Value Areas: Where 70% of trading activity occurred
POC: Price level with highest acceptance (most volume)
Imbalances: When price moves away from value quickly
This indicator uses TPO (Time Price Opportunity) calculation method to build the volume profile distribution.
VWAP (Volume Weighted Average Price)
VWAP represents the average price weighted by volume, showing where institutional traders are positioned:
Price above VWAP = Bullish (institutions accumulated lower)
Price below VWAP = Bearish (institutions distributed higher)
Using dual VWAP (Session + Week) creates multi-timeframe trend alignment.
Fair Value Gaps (FVG)
Also known as "imbalance" or "inefficiency," FVG occurs when:
Price moves so rapidly that a gap forms in the candlestick structure
Indicates institutional order flow (large market orders)
Price often returns to "fill" these gaps (rebalance)
The 3-candle FVG pattern (gap between candle and candle ) is widely used in ICT (Inner Circle Trader) methodology and Smart Money Concepts.
🔍 CREDITS & CODE ATTRIBUTION
This indicator builds upon established technical analysis concepts and combines multiple methodologies:
1. Market Profile / TPO Calculation
Concept Origin: J. Peter Steidlmayer (Chicago Board of Trade, 1980s)
Code Inspiration: TradingView's public domain Market Profile examples
Modifications: Custom filtering logic for directional bias, dual timeframe implementation
2. VWAP Calculation
Concept Origin: Standard financial instrument (widely used since 1980s)
Code Base: TradingView built-in ta.vwap() function (public domain)
Modifications: Dual VWAP system with independent anchor periods, custom filtering modes
3. Fair Value Gap Detection
Concept Origin: Inner Circle Trader (ICT) / Smart Money Concepts methodology
Code Implementation: Original implementation based on 3-candle gap pattern
Features: Multi-timeframe detection, automatic mitigation tracking, visual zone display
4. Pine Script Framework
Language: Pine Script v6 (TradingView)
Built-in Functions Used:
ta.vwap() - Volume weighted average price
request.security() - Higher timeframe data access
ta.change() - Period detection
ta.cum() - Cumulative volume
time() - Timestamp functions
Note: All code is original implementation. While concepts are based on established trading methodologies, the combination, filtering logic, and execution are unique to this indicator.
📊 RECOMMENDED INSTRUMENTS
Best Performance:
Major Forex Pairs (EURUSD, GBPUSD, USDJPY)
Stock Indices (ES, NQ, SPX, DAX)
Major Cryptocurrencies (BTCUSD, ETHUSD)
Liquid Stocks (high daily volume)
Avoid:
Low-volume altcoins
Illiquid stocks
Exotic forex pairs with wide spreads
⚡ PERFORMANCE TIPS
Start Conservative: Enable all filters initially
Reduce Filters Gradually: If too few signals, disable Secondary VWAP filter first
Match Timeframes: Keep MP Filter TF and FVG TF at same value
Backtest First: Review historical performance on your preferred instrument/timeframe
Combine with Price Action: Look for support/resistance confluence
Use Time Filter: Avoid low-liquidity hours (optional setting)
🚫 WHAT THIS INDICATOR DOES NOT DO
Does not guarantee profits - No trading system is 100% accurate
Does not predict the future - Based on historical patterns
Does not replace risk management - Always use stop losses
Does not work on all instruments - Requires volume data and liquidity
Does not provide exact entry/exit prices - Signals are zones, not precise levels
Does not account for fundamentals - Purely technical analysis
📜 DISCLAIMER
This indicator is provided for educational and informational purposes only. It is not financial advice, and past performance does not guarantee future results.
Trading Risk Warning:
All trading involves risk of loss
You can lose more than your initial investment (leverage products)
Only trade with capital you can afford to lose
Always use appropriate position sizing and risk management
Consider seeking advice from a licensed financial advisor
Technical Limitations:
Indicator may repaint FVG zones until HTF bar closes
Signals are based on historical patterns that may not repeat
Market conditions change and no system works in all environments
Volume data quality varies by exchange/broker
By using this indicator, you acknowledge these risks and agree that the author bears no responsibility for trading losses.
📞 SUPPORT & UPDATES
Questions? Comment on this publication
Issues? Describe the problem with chart screenshot
Feature Requests? Suggest improvements in comments
Updates: Will be published as new versions using TradingView's update feature
📝 VERSION HISTORY
Version 1.0 (Current)
Initial public release
Multi-filter system: MP + Dual VWAP + FVG
Directional bias filter
Real-time info panel
Comprehensive alert system
Time-based filtering
Thank you for using Smart VWAP FVG System!
Happy Trading! 📈
VWAP Reversion (Sequential Stats + Profit/Loss Points)First time posting. This is my attempt to evaluate the effectiveness of VWAP reversion. I decided to make this an indicator with its own integrated stats.
If you set the session length to lets say 100, but choose a 1 minute timeframe, it will only load as many sessions as the chart will allow for that timeframe. increasing the timeframe will allow you to go back further with more sessions.
I plan to implement more and more as I refine it. I just wanted to get my working copy out into the universe. I'd like to add some method of "scaling in". Perhaps if the price goes further and further away from the original entry, say for each additional std. deviation band further, it could add another entry signal.
My trading journey is just beginning, I've never coded before, and this was made entirely through the fusion of my attempt to communicate the ideas in my head for ChatGPT to turn into code!
BUY LOW, BUY MORE, SELL HIGH -BUFFET STRATEGY LITE__________________________________________________________________________
Buy Low, Buy More, Sell High With Buffett Meter (LITE – JTMarketAI)
__________________________________________________________________________
Category: Quantitative Momentum & Liquidity Flow
Author: JTMarketAI
Architecture: Non-Repainting
This strategy accumulates into validated pullbacks during fear cycles, scales intelligently as price declines into liquidity support, and exits when momentum weakens after meaningful run-ups. It uses synthetic higher-timeframe OHLC data (non-repainting), liquidity imbalance confirmation, adaptive KAMA trend logic, RSI validation, and a live Buffett macro valuation gauge.
This is a patient, conviction-based accumulation engine designed for equities.
It is not a scalp bot.
__________________________________________________________________________
Core Features
__________________________________________________________________________
Non-repainting (confirmed bars only)
Synthetic HTF OHLC (no lookahead)
Dynamic trailing exit preserves ~80–87% of peak profit
Bull vs Bear liquidity dominance and flow imbalance
Rolling lowest-low tracking (LLL)
NY-session alignment (default)
Buffett Macro Meter integration
Technical Highlights
Flow-confidence derived from volume-order pressure
Adaptive KAMA smoothing for lower-lag confirmation
Daily > Weekly > Monthly synthetic aggregation
LLL progression display for trend exhaustion
Fully profiler-optimized
Supports averaging down when pyramiding enabled
__________________________________________________________________________
Why It Does Not Repaint
__________________________________________________________________________
All state updates occur only on confirmed bars
Synthetic HTFs built without lookahead
Persistent arrays freeze historical values
Trailing highs updated only after confirmation
No forward-reference to future bars
__________________________________________________________________________
Lite Edition Notes
__________________________________________________________________________
Manual trading focused
Buffett Meter enabled
Up to 20 trades per session
Visual dashboard included
No alerts, automation, or webhooks (PRO unlocks IBKR + TradersPost)
__________________________________________________________________________
Limitations
__________________________________________________________________________
Best on intraday equities (1m–4h)
Designed for US stocks only
High-resource if full visuals enabled
Avoid penny stocks and extremely low-volume tickers
Does not guard against after-hours gaps or major news moves
__________________________________________________________________________
Warnings
__________________________________________________________________________
Contrarian scaling requires discipline and patience
Expect longer-duration trades, not rapid scalps
Use on quality tickers unlikely to permanently collapse
Confirm price behavior outside cash session
Test manually before automating anything
Not suitable for every market environment or asset
Notes on Philosophy
This strategy attempts to accumulate when markets overshoot lower, and distribute after recovery momentum fades. It reflects a patient, value-driven approach built on the principle of buying fear and reducing exposure into strength.
__________________________________________________________________________
Disclaimer
__________________________________________________________________________
For research and educational use only. Not financial advice. Past performance does not guarantee future results. Test thoroughly and use appropriate risk management.
__________________________________________________________________________
Hashtags
__________________________________________________________________________
#buffett #quantstrategy #valuemomentum #accumulation #contrarian #nonrepaint #equitystrategy #swingtrading #liquidityanalysis #synthetichtf #tradingviewstrategy
Multi-Anchor VWAP | Trade Symmetry🧩 Multi-Anchor VWAP
Description:
Dynamic VWAP anchored to Session, Week, Month, Quarter, and Year — all in one view.
Full Description:
This indicator plots multiple VWAPs (Volume-Weighted Average Prices) simultaneously — each anchored to a different time period:
Session, Week, Month, Quarter, and Year.
💡 Ideal for traders who track institutional mean reversion and liquidity zones across multiple timeframes.
Features
✅ Session, Weekly, Monthly, Quarterly, and Yearly Anchored VWAPs
✅ Independent color and visibility controls for each anchor
✅ Adjustable label position and size
✅ Option to hide VWAPs on Daily or higher charts
✅ Clean and efficient performance
This tool helps you visualize volume-weighted mean levels where price often reacts — offering a clear map of bias and equilibrium across all major time horizons.
Volume Weighted Average PriceThis indicator provides an implementation of the Volume Weighted Average Price (VWAP), extended with layered standard deviation bands that decompose total market volatility relative to the VWAP anchor period.
Key Features:
Volatility Decomposition: The indicator's primary feature is its ability to separate volatility, controlled by the 'Estimate Bar Statistics' option.
Standard Mode (Estimate Bar Statistics = OFF): Plots a single set of bands representing the standard deviation of the Source price relative to the VWAP.
Decomposition Mode (Estimate Bar Statistics = ON): The indicator uses a statistical model ('Estimator') to calculate within-bar volatility. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead). This mode displays two sets of bands:
Inner Bands: Show only the contribution of the 'between-bar' volatility.
Outer Bands: Show the total volatility (the sum of between-bar and within-bar components).
Periodic & Customizable Anchor: The VWAP calculation is session-based and resets at the beginning of a new period. The anchor timeframe (Anchor Timeframe) can be detected automatically (e.g., 'Session', 'Week') or specified manually.
Weighting Mechanism: The indicator has two levels of weighting:
The baseline is always a VWAP (Volume-Weighted Average Price).
The Volume weighted input additionally applies volume weighting to the volatility (standard deviation) calculation for the bands.
Multi-Timeframe (MTF) Engine: The indicator includes an MTF conversion block. When a Higher Timeframe (HTF) is selected, advanced options become available: Fill Gaps handles data gaps, and Wait for timeframe to close prevents repainting by ensuring the indicator only updates when the HTF bar closes.
Integrated Alerts: Includes a full set of built-in alerts for the source price crossing over or under the central VWAP line and the outermost calculated volatility band.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Simple VWAP + BandsSimple VWAP + Bands
A clean and customizable VWAP (Volume Weighted Average Price) indicator with standard deviation bands and RTH (Regular Trading Hours) session support.
Features:
- VWAP Line: Volume-weighted average price calculation
- Three Standard Deviation Bands: Configurable bands at 1σ, 2σ, and 3σ levels (above and below VWAP)
- RTH Session Support: Option to calculate VWAP only during regular trading hours
- Customizable Session Times: Configure your own trading session hours and timezone
- Clean Visualization: Line breaks between sessions prevent messy connections across non-trading periods
- Toggle Bands: Show/hide individual standard deviation bands as needed
Use Cases:
- Identify overbought/oversold conditions relative to volume-weighted price
- Track price deviation from VWAP during trading sessions
- Support and resistance levels based on standard deviations
- Mean reversion trading strategies
BankNifty Etharia Aggresive Buyer / SellerOverview
Professional intraday trading strategy for BankNifty Futures that identifies high-probability setups by combining multiple technical indicators. Works in BOTH directions - LONG and SHORT.
Best Timeframe: 5-Minute Chart
Key Features:
✅ Multi-Confluence Entry System - All indicators must align for signal
✅ Bidirectional Trading - Captures both uptrends and downtrends
✅ Advanced Risk Management - Daily loss limits, consecutive loss protection
✅ Smart Exit System - Partial profit taking + trailing stops
✅ Session-Based Trading - Avoids opening and closing volatility
Entry Logic:
LONG Signals:
Price above Kernel Regression (trend confirmation)
Price above VWAP with positive slope (momentum)
Cumulative Volume Delta bullish (buying pressure)
Volume spike or increasing volume (strength confirmation)
Strong bullish candle with 60%+ body ratio
RSI filter to avoid overbought entries
SHORT Signals:
Price below Kernel Regression (downtrend confirmation)
Price below VWAP with negative slope (bearish momentum)
CVD bearish (selling pressure dominates)
High volume confirmation
Strong bearish candle pattern
RSI filter to avoid oversold entries
Exit Management:
🎯 Target 1: 1.5 R:R (50% position exit)
🎯 Target 2: 2.5 R:R (full exit)
🛡️ Stop Loss Options: ATR-based, Swing-based, or Fixed
🟡 Trailing Stop: Activates after 1.2 R:R, trails at 0.8 R:R
⏰ Time-Based Exit: Closes all positions 5 mins before session end
Risk Controls:
Maximum trades per day (default: 5)
Consecutive loss limit (default: 2)
Daily loss limit: 2.5% of capital
Daily profit target: 5% (stops trading when reached)
Position sizing based on account risk percentage
Recommended Settings:
Asset: BankNifty Futures (NSE:BANKNIFTY1!)
Timeframe: 5-minute
Initial Capital: ₹1,00,000
Risk per trade: 1%
Commission: 0.05%
Slippage: 5 points
Performance Expectations:
Win Rate: 55-65%
Profit Factor: 1.5-2.0
Average Trades/Day: 3-8
Risk:Reward: 1:1.8 average
Customizable Parameters:
Trading direction (Long Only / Short Only / Both)
Indicator lengths and thresholds
Stop loss type and targets
Risk management limits
Trading session hours
Best For:
Intraday traders seeking systematic, rule-based entries with strong confluence, proper risk management, and the ability to profit from both bullish and bearish market conditions.
VWAP Composites📊 VWAP Composite - Advanced Multi-Period Volume Weighted Average Price Indicator
═══════════════════════════════════════════════════════════════════
🎯 OVERVIEW
VWAP Composite is an advanced volume-weighted average price (VWAP) indicator that goes beyond traditional single-period VWAP calculations by offering composite multi-period analysis and unprecedented customization. This indicator solves a common problem traders face: traditional VWAP resets at arbitrary intervals (session start, day, week), but significant price action and volume accumulation often spans multiple periods. VWAP Composite allows you to anchor VWAP calculations to any timeframe—or combine multiple periods into a single composite VWAP—giving you a true representation of average price weighted by volume across the exact periods that matter to your analysis.
═══════════════════════════════════════════════════════════════════
⚙️ HOW IT WORKS - CALCULATION METHODOLOGY
📌 CORE VWAP CALCULATION
The indicator calculates VWAP using the standard volume-weighted formula:
• Typical Price = (High + Low + Close) / 3
• VWAP = Σ(Typical Price × Volume) / Σ(Volume)
This calculation is performed across user-defined time periods, ensuring each bar's contribution to the average is proportional to its trading volume.
📌 STANDARD DEVIATION BANDS
The indicator calculates volume-weighted standard deviation to measure price dispersion around the VWAP:
• Variance = Σ / Σ(Volume)
• Standard Deviation = √Variance
• Upper Band = VWAP + (StdDev × Multiplier)
• Lower Band = VWAP - (StdDev × Multiplier)
These bands help identify overbought/oversold conditions relative to the volume-weighted mean, with high-volume price excursions having greater impact on band width than low-volume moves.
📌 COMPOSITE PERIOD METHODOLOGY (Auto Mode)
Unlike traditional VWAP that resets at fixed intervals, Auto Mode creates composite VWAPs by combining the current period with N previous periods:
• Period Span = 1: Current period only (standard VWAP behavior)
• Period Span = 2: Current period + 1 previous period combined
• Period Span = 3: Current period + 2 previous periods combined
• And so on...
Example: A 3-period Weekly composite VWAP calculates from the start of 2 weeks ago through the current week's end, creating a single VWAP that represents 21 days of continuous price and volume data. This provides context about where price stands relative to the volume-weighted average over multiple weeks, not just the current week.
═══════════════════════════════════════════════════════════════════
🔧 KEY FEATURES & ORIGINALITY
✅ DUAL OPERATING MODES
1️⃣ MANUAL MODE (5 Independent VWAPs)
Define up to 5 separate VWAP calculations with custom start/end times:
• Perfect for anchoring VWAP to specific events (earnings, Fed announcements, major reversals)
• Each VWAP has independent color settings for lines and deviation band backgrounds
• Individual control over calculation extension and visual extension (explained below)
• Useful for tracking multiple institutional accumulation/distribution zones simultaneously
2️⃣ AUTO MODE (Composite Period VWAP)
Automatically calculates VWAP across combined time periods:
• Supported periods: Daily, Weekly, Monthly, Quarterly, Yearly
• Configurable period span (1-20 periods)
• Always up-to-date, recalculates on each new bar
• Ideal for systematic analysis across consistent timeframes
✅ DUAL EXTENSION SYSTEM (Manual Mode Innovation)
Most VWAP indicators only offer "on/off" for extending calculations. This indicator provides two distinct extension options:
🔹 EXTEND CALCULATION TO CURRENT BAR
When enabled, continues including new bars in the VWAP calculation after the defined end time. The VWAP value updates dynamically as new volume enters the market.
Use case: You anchored VWAP to a major low 3 weeks ago. You want the VWAP to continue evolving with new volume data to track ongoing institutional positioning.
🔹 EXTEND VISUAL LINE ONLY
When enabled (and calculation extension is disabled), projects the "frozen" VWAP value forward as a reference line. The VWAP value remains fixed at what it was at the end time, but the line and deviation bands visually extend to current price.
Use case: You want to see how price is behaving relative to the VWAP that existed at a specific point in time (e.g., "Where is price now vs. the 5-day VWAP that existed at last Friday's close?").
This dual system gives you unprecedented control over whether you're tracking a "living" VWAP that incorporates new data or using historical VWAP levels as static reference points.
✅ CUSTOMIZABLE STANDARD DEVIATION BANDS
• Adjustable multiplier (0.1 to 5.0)
• Independent background colors with opacity control for each VWAP
• Dashed band lines for easy visual distinction from main VWAP
• Bands extend when visual extension is enabled, maintaining zone visibility
✅ COMPREHENSIVE LABELING SYSTEM
Each VWAP displays:
• Current VWAP value
• Upper deviation band value (High)
• Lower deviation band value (Low)
• Extension status indicator (Calc Extended / Visual Extended)
• Color-coded for quick identification
═══════════════════════════════════════════════════════════════════
📖 HOW TO USE THIS INDICATOR
🎯 SCENARIO 1: EVENT-ANCHORED VWAP (Manual Mode)
Use case: A stock gaps down 15% on earnings and you want to track where institutions are positioning during the recovery.
Setup:
1. Switch to Manual Mode
2. Enable VWAP 1
3. Set Start Time to the earnings gap bar
4. Set End Time to current time (or leave far in future)
5. Enable "Extend Calculation to Current Bar"
6. Watch how price respects the VWAP as a dynamic support/resistance
Interpretation:
• Price above VWAP = buyers in control since the event
• Price testing VWAP from above = potential support
• Volume-weighted standard deviation bands show normal price range
• Price outside bands = potential exhaustion/mean reversion setup
🎯 SCENARIO 2: MULTI-WEEK INSTITUTIONAL ACCUMULATION ZONE (Auto Mode)
Use case: You trade swing setups and want to identify where institutions have been accumulating over the past 3 weeks.
Setup:
1. Switch to Auto Mode
2. Select "Weekly" period type
3. Set Period Span to 3
4. Enable standard deviation bands
Interpretation:
• 3-week composite VWAP shows the true average institutional entry
• Price bouncing off VWAP repeatedly = strong support (institutions defending their average)
• Price breaking below VWAP on high volume = potential distribution
• Deviation bands contracting = consolidation; expanding = volatility increase
🎯 SCENARIO 3: COMPARING MULTIPLE TIME HORIZONS (Manual Mode)
Use case: You want to see short-term vs medium-term vs long-term VWAP alignments.
Setup:
1. Switch to Manual Mode
2. VWAP 1: Last 5 trading days (blue)
3. VWAP 2: Last 10 trading days (orange)
4. VWAP 3: Last 20 trading days (purple)
5. Enable "Extend Calculation" for all
6. Set different background colors for visual separation
Interpretation:
• All VWAPs aligned upward = strong trend across all timeframes
• Price between VWAPs = finding equilibrium between different trader timeframes
• Short-term VWAP crossing long-term VWAP = momentum shift
• Price rejecting at higher-timeframe VWAP = that timeframe's traders defending their average
🎯 SCENARIO 4: HISTORICAL VWAP REFERENCE LEVELS (Manual Mode)
Use case: You want to see where the 1-month VWAP was at each month-end as static reference levels.
Setup:
1. Switch to Manual Mode
2. VWAP 1: Set to last month's start/end dates
3. VWAP 2: Set to 2 months ago start/end dates
4. VWAP 3: Set to 3 months ago start/end dates
5. Disable "Extend Calculation"
6. Enable "Extend Visual Line Only"
Interpretation:
• Each VWAP represents the volume-weighted average for that complete month
• These become static support/resistance levels
• Price returning to old monthly VWAPs = institutional memory/gap fill behavior
• Useful for identifying longer-term value areas
═══════════════════════════════════════════════════════════════════
🎨 CUSTOMIZATION OPTIONS
GENERAL SETTINGS
• Show/hide labels
• Line style: Solid, Dashed, or Dotted
• Standard deviation multiplier (impacts band width)
• Toggle standard deviation bands on/off
MANUAL MODE (Per VWAP)
• Custom start and end times
• Line color picker
• Background color picker (with transparency control)
• Extend calculation option
• Extend visual option
• Show/hide individual VWAPs
AUTO MODE
• Period type selection (Daily/Weekly/Monthly/Quarterly/Yearly)
• Period span (1-20 periods)
• Line color
• Background color (with transparency control)
═══════════════════════════════════════════════════════════════════
💡 TRADING APPLICATIONS
✓ Mean Reversion: Use deviation bands to identify stretched prices likely to return to VWAP
✓ Trend Confirmation: Price sustained above VWAP = bullish bias; below = bearish bias
✓ Support/Resistance: VWAP often acts as dynamic S/R, especially on higher volume periods
✓ Institutional Positioning: Multi-day/week VWAPs show where large players have established positions
✓ Entry Timing: Wait for pullbacks to VWAP in trending markets
✓ Stop Placement: Use VWAP ± standard deviation as volatility-adjusted stop levels
✓ Breakout Confirmation: Breakouts from consolidation with price reclaiming VWAP = stronger signal
✓ Multi-Timeframe Analysis: Compare short vs long-period VWAPs to gauge momentum alignment
═══════════════════════════════════════════════════════════════════
⚠️ IMPORTANT NOTES
• The indicator redraws on each bar to maintain accurate visual representation (uses `barstate.islast`)
• Maximum lookback is limited to 5000 bars for performance optimization
• Time range calculations work across all timeframes but are most effective on intraday to daily charts
• Standard deviation bands assume volume-weighted distribution; extreme events may violate assumptions
• Auto mode always calculates to current bar; use Manual mode for fixed historical periods
═══════════════════════════════════════════════════════════════════
This indicator is open-source. Feel free to examine the code, learn from it, and adapt it to your needs.
DayFlow VWAP Relay Forex Majors StrategySummary in one paragraph
DayFlow VWAP Relay is a day-trading strategy for major FX pairs on intraday timeframes, demonstrated on EURUSD 15 minutes. It waits for alignment between a daily anchored VWAP regime check, residual percentiles, and lower-timeframe micro flow before suggesting trades. The originality is the fusion of daily VWAP residual percentiles with a live micro-flow score from 1 minute data to switch between fade and breakout behavior inside the same session. Add it to a clean chart and use the markers and alerts.
Scope and intent
• Markets: Major FX pairs such as EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD
• Timeframes: One minute to one hour
• Default demo in this publication: EURUSD on 15 minutes
• Purpose: Reduce false starts by acting only when context, location and micro flow agree
• Limits: This is a strategy. Orders are simulated on standard candles only
Originality and usefulness
• Core novelty: Residual percentiles to daily anchored VWAP decide “balanced versus expanding day”. A separate 1 minute micro-flow score confirms direction, so the same model fades extremes in balance and rides range breaks in expansion
• Failure modes addressed: Chop fakeouts and unconfirmed breakouts are filtered by the expansion gate and micro-flow threshold
• Testability: Every input is exposed. Bands, background regime color, and markers show why a suggestion appears
• Portable yardstick: Stops and targets are ATR multiples converted to ticks, which transfer across symbols
• Open source status: No reused third-party code that requires attribution
Method overview in plain language
The day is anchored with a VWAP that updates from the daily session start. Price minus VWAP is the residual. Percentiles of that residual measured over a rolling window define location extremes for the current day. A regime score compares residual volatility to price volatility. When expansion is low, the day is treated as balanced and the model fades residual extremes if 1 minute micro flow points back to VWAP. When expansion is high, the model trades breakouts outside the VWAP bands if slope and micro flow agree with the move.
Base measures
• Range basis: True Range smoothed by ATR for stops and targets, length 14
• Return basis: Not required for signals; residuals are absolute price distance to VWAP
Components
• Daily Anchor VWAP Bands. VWAP with standard-deviation bands. Slope sign is used for trend confirmation on breakouts
• Residual Percentiles. Rolling percentiles of close minus VWAP over Signal length. Identify location extremes inside the day
• Expansion Ratio. Standard deviation of residuals divided by standard deviation of price over Signal length. Classifies balanced versus expanding day
• Micro Flow. Net up minus down closes from 1 minute data across a short span, normalized to −1..+1. Confirms direction and avoids fades against pressure
• Session Window optional. Restricts trading to your configured hours to avoid thin periods
• Cooldown optional. Bars to wait after a position closes to prevent immediate re-entry
Fusion rule
Gating rather than weighting. First choose regime by Expansion Ratio versus the Expansion gate. Inside each regime all listed conditions must be true: location test plus micro-flow threshold plus session window plus cooldown. Breakouts also require VWAP slope alignment.
Signal rule
• Long suggestion on balanced day: residual at or below the lower percentile and micro flow positive above the gate while inside session and cooldown is satisfied
• Short suggestion on balanced day: residual at or above the upper percentile and micro flow negative below the gate while inside session and cooldown is satisfied
• Long suggestion on expanding day: close above the upper VWAP band, VWAP slope positive, micro flow positive, session and cooldown satisfied
• Short suggestion on expanding day: close below the lower VWAP band, VWAP slope negative, micro flow negative, session and cooldown satisfied
• Positions flip on opposite suggestions or exit by brackets
What you will see on the chart
• Markers on suggestion bars: L for long, S for short
• Exit occurs on reverse signal or when a bracket order is filled
• Reference lines: daily anchored VWAP with upper and lower bands
• Optional background: teal for balanced day, orange for expanding day
Inputs with guidance
Setup
• Signal length. Residual and regime window. Typical 40 to 100. Higher smooths, lower reacts faster
Micro Flow
• Micro TF. Lower timeframe used for micro flow, default 1 minute
• Micro span bars. Count of lower-TF bars. Typical 5 to 20
• Micro flow gate 0..1. Minimum absolute flow. Raising it demands stronger confirmation and reduces trade count
VWAP Bands
• VWAP stdev multiplier. Band width. Typical 0.8 to 1.6. Wider bands reduce breakout frequency and increase fade distance
• Expansion gate 0..3. Threshold to switch from fades to breakouts. Raising it favors fades, lowering it favors breakouts
Sessions
• Use session filter. Enable to trade only inside your window
• Trade window UTC. Default 07:00 to 17:00
Risk
• ATR length. Stop and target basis. Typical 10 to 21
• Stop ATR x. Initial stop distance in ATR multiples
• Target ATR x. Profit target distance in ATR multiples
• Cooldown bars after close. Wait bars before a new entry
• Side. Both, long only, or short only
View
• Show VWAP and bands
• Color bars by residual regime
Properties visible in this publication
• Initial capital 10000
• Base currency Default
• request.security uses lookahead off everywhere
• Strategy: Percent of equity with value 3. Pyramiding 0. Commission cash per order 0.0001 USD. Slippage 3 ticks. Process orders on close ON. Bar magnifier ON. Recalculate after order is filled OFF. Calc on every tick OFF. Using standard OHLC fills ON.
Realism and responsible publication
No performance claims. Past results never guarantee future outcomes. Fills and slippage vary by venue. Shapes can move while a bar forms and settle on close. Strategies must run on standard candles for signals and orders.
Honest limitations and failure modes
High impact news, session opens, and thin liquidity can invalidate assumptions. Very quiet days can reduce contrast between residuals and price volatility. Session windows use the chart exchange time. If both stop and target are touched within a single bar, TradingView’s standard OHLC price-movement model decides the outcome.
Expect different behavior on illiquid pairs or during holidays. The model is sensitive to session definitions and feed time. Past results never guarantee future outcomes.
Legal
Education and research only. Not investment advice. You are responsible for your decisions. Test on historical data and in simulation before any live use. Use realistic costs.
Statistical Price Deviation Index (MAD/VWMA)SPDI is a statistical oscillator designed to detect potential price reversal zones by measuring how far price deviates from its typical behavior within a defined rolling window.
Instead of using momentum or moving averages like traditional indicators, SPDI applies robust statistics - a rolling median and Mean Absolute Deviation (MAD) - to calculate a normalized measure of price displacement. This normalization keeps the output bounded (from −1 to +1 by default), producing a stable and consistent oscillator that adapts to changing volatility conditions.
The second line in SPDI uses a Volume-Weighted Moving Average (VWMA) instead of a simple price median. This creates a complementary oscillator showing statistically weighted deviations based on traded volume. When both oscillators align in their extremes, strong confluence reversal signals are generated.
How It Works
For each bar, SPDI calculates the median price of the last N bars (default 100).
It then measures how far the current bar’s midpoint deviates from that rolling median.
The Mean Absolute Deviation (MAD) of those distances defines a “normal” range of fluctuation.
The deviation is normalized and compressed via a tanh mapping, keeping the oscillator in fixed boundaries (−1 to +1).
The same logic is applied to the VWMA line to gauge volume-weighted deviations.
How to Use
The blue line (Price MAD) represents pure price deviation.
The green line (VWMA Disp) shows the volume-weighted deviation.
Overbought (red) zones indicate statistically extreme upward deviation -> potential short-term overextension.
Oversold (green) zones indicate statistically extreme downward deviation -> potential rebound area.
Confluence signals (both lines hitting the same extreme) often mark strong reversal points.
Settings Tips
Lookback length controls how much historical data defines “normal” behavior. Larger = smoother, smaller = more sensitive.
Smoothing (RMA length) can reduce noise without changing the overall statistical logic.
Output scale can be set to either −1..+1 or 0..100, depending on your visual preference.
Alerts and color fills are fully customizable in the Style tab.
Summary:
SPDI transforms raw price and volume data into a statistically bounded deviation index. When both Price MAD and VWMA Disp reach joint extremes, it highlights probable market turning points - offering traders a clean, data-driven way to spot potential reversals ahead of time.
VWAP Retest + EMA9 Cross + Candle Pattern V2📈 VWAP Retest + EMA9 Cross + Candle Pattern Strategy_V2
Setup: This intraday momentum strategy combines 3 core elements:
• VWAP Retest: Price retests VWAP within a small buffer zone
• EMA9 Crossover: EMA9 crosses above VWAP within the last 3 bars
• Bullish Candle Pattern: At least one bullish signal — Hammer, Engulfing, or Momentum candle
A trade is triggered only during the US morning session (9:30–12:30 EST) and only if price is above yesterday’s high, suggesting strong momentum.
⚙️ Strategy Settings
• Initial Capital: $100,000
• Position Sizing: 10% of equity per trade
• Commission: 0.03% per trade
• Slippage: 1 tick
• Take Profit: +3% from entry
• Stop Loss: 0.5% below VWAP at entry
• Forced Exit: 1:00 PM EST
📊 Strategy Logic
• VWAP Retest Filter ensures entry is near a value zone.
• EMA9 Cross Confirmation aligns short-term momentum with volume-weighted price.
• Bullish Candle Patterns provide price action confirmation:
○ ✅ Hammer
○ ✅ Bullish Engulfing
○ ✅ Large momentum body
• Above Yesterday’s High (YH) acts as a bullish bias filter.
🧪 Backtest Results (Jan 2023 – Oct 2025)
• Total Trades: 120
• Win Rate: 52.5%
• Profit Factor: 1.18
• Max Drawdown: 1.22%
• Net P&L: +$1,064 (+1.06%)
Due to chart data limits, only part of the period may be visible on publication charts.
🔍 Chart Visuals
This strategy plots:
• VWAP (white) and EMA9 (orange)
• Candle pattern markers:
○ “H” = Hammer
○ “BE” = Bullish Engulfing
○ “M” = Momentum Candle
• “SETUP” label when all conditions are met
• YH/YL labels for context — previous day’s high/low
💡 Use Case
This setup is designed for intraday momentum scalping, ideal for traders who:
• Trade morning breakouts
• Use VWAP as a dynamic support/resistance
• Want clear, rule-based entries based on both trend and price action
Educational and research use - not financial advice.
Pivot Regime Anchored VWAP [CHE] Pivot Regime Anchored VWAP — Detects body-based pivot regimes to classify swing highs and lows, anchoring volume-weighted average price lines directly at higher highs and lower lows for adaptive reference levels.
Summary
This indicator identifies shifts between top and bottom regimes through breakouts in candle body highs and lows, labeling swing points as higher highs, lower highs, lower lows, or higher lows. It then draws anchored volume-weighted average price lines starting from the most recent higher high and lower low, providing dynamic support and resistance that evolve with volume flow. These anchored lines differ from standard volume-weighted averages by resetting only at confirmed swing extremes, reducing noise in ranging markets while highlighting momentum shifts in trends.
Motivation: Why this design?
Traders often struggle with static reference lines that fail to adapt to changing market structures, leading to false breaks in volatile conditions or missed continuations in trends. By anchoring volume-weighted average price calculations to body pivot regimes—specifically at higher highs for resistance and lower lows for support—this design creates reference levels tied directly to price structure extremes. This approach addresses the problem of generic moving averages lagging behind swing confirmations, offering a more context-aware tool for intraday or swing trading.
What’s different vs. standard approaches?
- Baseline reference: Traditional volume-weighted average price indicators compute a running total from session start or fixed periods, often ignoring price structure.
- Architecture differences:
- Regime detection via body breakout logic switches between high and low focus dynamically.
- Anchoring limited to confirmed higher highs and lower lows, with historical recalculation for accurate line drawing.
- Polyline rendering rebuilds only on the last bar to manage performance.
- Practical effect: Charts show fewer, more meaningful lines that start at swing points, making it easier to spot confluences with structure breaks rather than cluttered overlays from continuous calculations.
How it works (technical)
The indicator first calculates the maximum and minimum of each candle's open and close to define body highs and lows. It then scans a lookback window for the highest body high and lowest body low. A top regime triggers when the body high from the lookback period exceeds the window's highest, and a bottom regime when the body low falls below the window's lowest. These regime shifts confirm pivots only when crossing from one state to the other.
For top pivots, it compares the new body high against the previous swing high: if greater, it marks a higher high and anchors a new line; otherwise, a lower high. The same logic applies inversely for bottom pivots. Anchored lines use cumulative price-volume products and volumes from the anchor bar onward, subtracting prior cumulatives to isolate the segment. On pivot confirmation, it loops backward from the current bar to the anchor, computing and storing points for the line. New points append as bars advance, ensuring the line reflects ongoing volume weighting.
Initialization uses persistent variables to track the last swing values and anchor bars, starting with neutral states. Data flows from regime detection to pivot classification, then to anchoring and point accumulation, with lines rendered globally on the final bar.
Parameter Guide
Pivot Length — Controls the lookback window for detecting body breakouts, influencing pivot frequency and sensitivity to recent action. Shorter values catch more pivots in choppy conditions; longer smooths for major swings. Default: 30 (bars). Trade-offs/Tips: Min 1; for intraday, try 10–20 to reduce lag but watch for noise; on daily, 50+ for stability.
Show Pivot Labels — Toggles display of text markers at swing points, aiding quick identification of higher highs, lower highs, lower lows, or higher lows. Default: true. Trade-offs/Tips: Disable in multi-indicator setups to declutter; useful for backtesting structure.
HH Color — Sets the line and label color for higher high anchored lines, distinguishing resistance levels. Default: Red (solid). Trade-offs/Tips: Choose contrasting hues for dark/light themes; pair with opacity for fills if added later.
LL Color — Sets the line and label color for lower low anchored lines, distinguishing support levels. Default: Lime (solid). Trade-offs/Tips: As above; green shades work well for bullish contexts without overpowering candles.
Reading & Interpretation
Higher high labels and red lines indicate potential resistance zones where volume weighting begins at a new swing top, suggesting sellers may defend prior highs. Lower low labels and lime lines mark support from a fresh swing bottom, with the line's slope reflecting buyer commitment via volume. Lower highs or higher lows appear as labels without new anchors, signaling possible range-bound action. Line proximity to price shows overextension; crosses may hint at regime shifts, but confirm with volume spikes.
Practical Workflows & Combinations
- Trend following: Enter longs above a rising lower low anchored line after higher low confirmation; filter with rising higher highs for uptrends. Use line breaks as trailing stops.
- Exits/Stops: In downtrends, exit shorts below a higher high line; set aggressive stops above it for scalps, conservative below for swings. Pair with momentum oscillators for divergence.
- Multi-asset/Multi-TF: Defaults suit forex/stocks on 1H–4H; on crypto 15M, shorten length to 15. Scale colors for dark themes; combine with higher timeframe anchors for confluence.
Behavior, Constraints & Performance
Closed-bar logic ensures pivots confirm after the lookback period, with no repainting on historical bars—live bars may adjust until regime shift. No higher timeframe calls, so minimal repaint risk beyond standard delays. Resources include a 2000-bar history limit, label/polyline caps at 200/50, and loops for historical point filling (up to current bar count from anchor, typically under 500 iterations). Known limits: In extreme gaps or low-volume periods, anchors may skew; lines absent until first pivots.
Sensible Defaults & Quick Tuning
Start with the 30-bar length for balanced pivot detection across most assets. For too-frequent pivots in ranges, increase to 50 for fewer signals. If lines lag in trends, reduce to 20 and enable labels for visual cues. In low-volatility assets, widen color contrasts; test on 100-bar history to verify stability.
What this indicator is—and isn’t
This is a structure-aware visualization layer for anchoring volume-weighted references at swing extremes, enhancing manual analysis of regimes and levels. It is not a standalone signal generator or predictive model—always integrate with broader context like order flow or news. Use alongside risk management and position sizing, not as isolated buy/sell triggers.
Many thanks to LuxAlgo for the original script "McDonald's Pattern ". The implementation for body pivots instead of wicks uses a = max(open, close), b = min(open, close) and then highest(a, length) / lowest(b, length). This filters noise from the wicks and detects breakouts over/under bodies. Unusual and targeted, super innovative.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
ORBs, EMAs, SMAs, AVWAPThis is an update to a previously published script. In short the difference is the added capability to adjust the length of EMAs. Also added 3 customizable SMAs. Enjoy! Let me know what you think of the script please. This is only second one I have ever done. Through practice and people like @LuxAlgo and other Pinescripters this isn't possible. Tedious hrs with ChatGPT to correct nuances, who doesnt seem to learn from (insert pronoun) mistakes
This all-in-one indicator combines key institutional tools into a unified framework for intraday and swing trading. Designed for traders who use multi-session analysis and dynamic levels, it automatically maps out global session breakouts, moving averages, and volume-weighted anchors with high clarity.
Features include:
🕓 Tokyo, London, and New York ORBs (Opening Range Breakouts) — 30-minute configurable range boxes that persist until the next New York open.
📈 Anchored VWAP with Standard Deviation Bands — dynamically anchorable to session, week, or month for institutional-grade price tracking.
📊 Exponential Moving Averages (9, 20, 113, 200) — for short-, mid-, and long-term momentum structure.
📉 Simple Moving Averages (20, 50, 100) — fully customizable lengths, colors, and visibility toggles for trend confirmation.
🏁 Prior High/Low Levels (PDH/PDL, PWH/PWL, PMH/PML) — automatically plotted from previous day, week, and month, with labels placed at each session’s midpoint.
🎛️ Session-Aligned Time Logic — all time calculations use New York session anchors with DST awareness.
💡 Clean Visualization Options — every component can be toggled on/off, recolored, or customized for your workflow.
Best used for:
ORB break-and-retest setups
VWAP and EMA rejections
Confluence-based trading around key session levels
Multi-session momentum tracking
PRO Scalper(EN)
## What it is
**PRO Scalper** is an intraday price–action and liquidity map that helps you see where the market is likely to move **now**, not just where it has been.
It combines five building blocks that professional scalpers often watch together:
1. **Session Volume-Weighted Average Price (VWAP)** — the intraday “fair value” anchor.
2. **Opening Range** — the first minutes of the session that set the day’s balance.
3. **Trend filter** — higher-timeframe bias using **Exponential Moving Averages (EMA)** and optional **Average Directional Index (ADX)** strength.
4. **Two independent Supply/Demand zone engines** — zones are drawn from confirmed swing pivots, with midlines and **touch counters**.
5. **Order-flow style visuals**:
* **Delta bubbles** (green/red circles) show where buying or selling pressure was unusually strong, using a safe **delta proxy** (no external feeds).
* **Liquidity densities** (subtle rectangular bands) highlight clusters of large activity that often act as magnets or barriers and disappear when “eaten” by strong moves.
This mix gives you a **complete intraday picture**: the mean (VWAP), the day’s initial balance (Opening Range), the higher-timeframe push (trend filter), the nearby fuel or brakes (zones), and the live pressure points (bubbles and densities).
---
## Why these components
* **VWAP** tracks where the bulk of traded value sits. Price tends to rotate around it or accelerate away from it — a perfect compass for scalps.
* **Opening Range** frames the early auction. Many intraday breaks, fades and retests start at its boundaries.
* **EMA bias + ADX strength** separates trending conditions from chop, so you can keep only the zones that agree with the bigger push.
* **Pivot-based zones (two pairs at once)** are simple, objective and fast. Midlines help with confirmations; touch counters quantify how many times the zone was tested.
* **Bubbles and densities** add the “effort” layer: where the push appeared and where liquidity is concentrated. You see **where** a move is likely to continue or fail.
Together they reduce ambiguity: **context + level + effort** — all on one screen.
---
## How it works (plain language)
* **VWAP** resets each day and is calculated as the cumulative sum of typical price multiplied by volume divided by total volume.
* **Opening Range** is either automatic (a multiple of your chart timeframe) or a manual number of minutes. While it is forming, the highest high and lowest low are captured and plotted as the range.
* **Trend filter**
* **EMA Fast** and **EMA Slow** define directional bias.
* **ADX (optional)** adds “trend strength”: only when the Average Directional Index is above the chosen threshold do we treat the move as strong. You can source this from a higher timeframe.
* **Zones**
* There are **two independent pairs** of pivots at the same time (for example 10-left 10-right and 5-left 5-right).
* Each detected pivot creates a **Supply** (from a swing high) or **Demand** (from a swing low) box. Box depth = **zone depth × Average True Range** for adaptive sizing; the boxes **extend forward**.
* Midline (optional dashed line inside the box) is the “balance” of the zone.
* **“Only in trend”** mode can hide boxes that go against the higher-timeframe bias.
* The **touch counter** increases when price revisits the box. Labels show the pair name and the number of touches.
* **Bubbles**
* A safe **delta proxy** measures bar pressure (for example, range-weighted close vs open).
* A **quantile filter** shows only unusually large pressure: choose lookback and percentile, and the script draws a circle sized by intensity (green = bullish pressure, red = bearish).
* **Densities**
* The script marks heavy activity clusters as **subtle bands** around price (depth = fraction of Average True Range).
* If price **breaks** a density with volume above its moving average, the band **disappears** (“eaten”), which often precedes continuation.
---
## How to use — practical playbooks
> Recommended chart: crypto or index futures, one to five minutes. Use **one hour** or **fifteen minutes** for the higher-timeframe bias.
### 1) Trend pullback scalp (continuation)
1. Enable **Only in trend** zones.
2. In an uptrend: wait for a pullback into a **Demand** zone that overlaps with VWAP or sits just below the Opening Range midpoint.
3. Look for **green bubbles** near the zone’s bottom or a fresh **density** under price.
4. Enter on a candle closing **back above the zone midline**.
5. Stop-loss: below the bottom of the zone or a small multiple of Average True Range.
6. Targets: previous swing high, Opening Range high, fixed risk multiples, or VWAP.
Mirror the logic for downtrends using Supply zones, red bubbles and densities above price.
### 2) Reversion with liquidity sweep (fade)
1. Bias neutral or countertrend allowed.
2. Price **wicks through** a zone boundary (or an Opening Range line) and **closes back inside** the zone.
3. The bubble color often flips (absorption).
4. Enter toward the **inside** of the zone; stop beyond the sweep wick; first target = zone midline, second = opposite side of the zone or VWAP.
### 3) Opening Range break and retest
1. Wait for the Opening Range to complete.
2. A break with a large bubble suggests intent.
3. Look for a **retest** into a nearby zone aligned with VWAP.
4. Trade continuation toward the next zone or the session extremes.
### 4) Density “eaten” continuation
1. When a density band **disappears** on high volume, it often means the resting liquidity was consumed.
2. Trade in the direction of the break, toward the nearest opposing zone.
---
## Settings — quick guide
**Core**
* *ATR Length* — used for zone and density depths.
* *Show VWAP / Show Opening Range*.
* *Opening Range*: Auto (multiple of timeframe minutes) or Manual minutes.
**Trend Filter**
* *Mode*: Off, EMA only, or EMA with ADX strength.
* *Use higher timeframe* and its value.
* *EMA Fast / EMA Slow*, *ADX Length*, *ADX threshold*.
* *Plot EMA filter* to display the moving averages.
**Zones (two pairs)**
* *Pivot A Left / Right* and *Pivot B Left / Right*.
* *Zone depth × ATR*, *Extend bars*.
* *Show zone midline*, *Only in trend zones*.
* Labels automatically show the touch counters.
**Bubbles**
* *Show Bubbles*.
* *Quantile lookback* and *Quantile percent* (higher percent = stricter filter, fewer bubbles).
**Densities**
* *Metric*: absolute delta proxy or raw volume.
* *Quantile lookback / percent*.
* *Depth × ATR*, *Extend bars*, *Merge distance* (in ATR),
* *Break condition*: volume moving average length and multiplier,
* *Midline for densities* (optional dashed line).
---
## Tips and risk management
* This script **does not use external order-flow feeds**. Delta is a **proxy** suitable for TradingView; tune quantiles per symbol and timeframe.
* Do not trade every bubble. Combine **context (trend + VWAP + Opening Range)** with **level (zone)** and **effort (bubble/density)**.
* Set stop-losses beyond the zone or at a fraction of Average True Range. Predefine risk per trade.
* Backtest your rules with a strategy script before using real funds.
* Markets differ. Parameters that work on Bitcoin may not transfer to low-liquidity altcoins or stocks.
* Nothing here is financial advice. Scalping is high-risk; slippage and over-trading can quickly damage your account.
---
## What makes PRO Scalper unique
* Two **independent** zone engines run in parallel, so you can see both **larger structure** and **fine intraday levels** at the same time.
* Clean **“only in trend” rendering** — zones and midlines against the bias can be hidden, reducing clutter and hesitation.
* **Touch counters** convert “feel” into numbers.
* **Self-contained order-flow visuals** (bubbles and densities) that require no extra data sources.
* Careful defaults: subtle colors for densities, clearer zones, and responsive auto Opening Range.
---
(RU)
## Что это такое
**PRO Scalper** — это индикатор для внутридневной торговли, который показывает **контекст и ликвидность прямо сейчас**.
Он объединяет пять модулей, которыми профессиональные скальперы пользуются вместе:
1. **VWAP** — средневзвешенная по объему цена за сессию, «справедливая стоимость» дня.
2. **Opening Range** — первая часть сессии, задающая баланс дня.
3. **Фильтр тренда** — направление старшего таймфрейма по **экспоненциальным средним** и при желании по силе тренда **Average Directional Index**.
4. **Две независимые системы зон спроса/предложения** — зоны строятся от подтвержденных экстремумов (пивотов), имеют **среднюю линию** и **счетчик касаний**.
5. **Визуализация «ордер-флоу»**:
* **Пузыри дельты** (зеленые/красные круги) — места повышенного покупательного/продажного давления, рассчитанные через безопасный **прокси-дельты**.
* **Плотности ликвидности** (ненавязчивые прямоугольные ленты) — скопления объема, которые нередко притягивают цену или удерживают ее и исчезают, когда «разъедаются» сильным движением.
Итог — **полная картинка момента**: среднее (VWAP), баланс дня (Opening Range), старшая сила (фильтр тренда), ближайшие уровни топлива/тормозов (зоны), текущие точки усилия (пузыри и плотности).
---
## Почему именно эти элементы
* **VWAP** показывает, где сосредоточена стоимость; цена либо вращается вокруг него, либо быстро уходит — идеальный ориентир скальпера.
* **Opening Range** фиксирует ранний аукцион — от его границ часто начинаются пробои, возвраты и ретесты.
* **EMA + ADX** отделяют тренд от «пилы», позволяя оставлять на графике только зоны по направлению старшего таймфрейма.
* **Зоны от пивотов** просты, объективны и быстры; средняя линия помогает подтверждать разворот, счетчик касаний переводит субъективность в цифры.
* **Пузыри и плотности** добавляют слой «усилия»: где именно возник толчок и где сконцентрирована ликвидность.
Комбинация **контекста + уровня + усилия** уменьшает двусмысленность и ускоряет принятие решения.
---
## Как это работает (простыми словами)
* **VWAP** каждый день стартует заново: сумма «типичной цены × объем» делится на суммарный объем.
* **Opening Range** — автоматический (кратный минутам вашего таймфрейма) или вручную заданный период; пока он формируется, фиксируются максимум и минимум.
* **Фильтр тренда**
* Две экспоненциальные средние задают направление.
* **ADX** (по желанию) добавляет «силу». Источник можно взять со старшего таймфрейма.
* **Зоны**
* Одновременно работает **две пары** пивотов (например 10-лево 10-право и 5-лево 5-право).
* От пивота строится зона **предложения** (от максимума) или **спроса** (от минимума). Глубина зоны = **коэффициент × Average True Range**; зона тянется вперед.
* Внутри рисуется **средняя линия** (по желанию).
* Режим **«только по тренду»** скрывает зоны против старшего направления.
* **Счетчик касаний** увеличивается, когда цена снова входит в зону; подпись показывает пару и количество касаний.
* **Пузыри**
* Используется безопасный **прокси-дельты** — измерение «напряжения» внутри свечи.
* Через **квантильный фильтр** выводятся только необычно сильные места: настраиваются окно и процент квантиля; размер кружка — сила, цвет: зеленый покупатели, красный продавцы.
* **Плотности**
* Крупные активности отмечаются **ненавязчивыми прямоугольниками** (глубина — доля Average True Range).
* Если плотность **пробивается** объемом выше среднего, она **исчезает** — часто это предвещает продолжение.
---
## Как пользоваться — практические схемы
> Рекомендация: крипто или фьючерсы, таймфрейм 1–5 минут. Для старшего фильтра удобно взять **1 час** или **15 минут**.
### 1) Скальп на откат по тренду
1. Включите **«только по тренду»**.
2. В восходящем тренде дождитесь отката в **зону спроса**, желательно рядом с **VWAP** или серединой **Opening Range**.
3. Подтверждение — **зеленые пузыри** у нижней границы зоны или свежая **плотность** под ценой.
4. Вход после закрытия свечи **выше средней линии** зоны.
5. Стоп-лосс: за нижнюю границу зоны или небольшой множитель Average True Range.
6. Цели: предыдущий максимум, верх Opening Range, фиксированные R-множители, либо VWAP.
Для нисходящего тренда зеркально: зоны предложения, красные пузыри и плотности над ценой.
### 2) Контрдвижение с «выбиванием ликвидности»
1. Нейтральный или контртрендовый режим.
2. Цена **выносит хвостом** границу зоны (или линию Opening Range) и **закрывается обратно внутри**.
3. Цвет пузыря часто меняется (поглощение).
4. Вход внутрь зоны; стоп — за хвост выбивания; цели: средняя линия, противоположная граница зоны или VWAP.
### 3) Пробой Opening Range + ретест
1. Дождитесь завершения диапазона.
2. Сильный пробой с крупным пузырем — признак намерения.
3. Ищите **ретест** в зоне по тренду рядом с линией диапазона и VWAP.
4. Торгуйте продолжение к следующей зоне.
### 4) Продолжение после «съеденной» плотности
1. Когда прямоугольник плотности **исчезает** на повышенном объеме, это значит, что ликвидность поглощена.
2. Торгуйте в сторону пробоя к ближайшей противоположной зоне.
---
## Настройки — краткая шпаргалка
**Core**
— Длина Average True Range (для размеров зон и плотностей).
— Включение VWAP и Opening Range.
— Длина Opening Range: автоматическая (кратная минутам ТФ) или ручная.
**Trend Filter**
— Режим: выкл., только средние, либо средние + ADX.
— Источник со старшего таймфрейма и его значение.
— Длины средних, длина ADX и порог силы.
— Показать/скрыть линий средних.
**Zones (две пары одновременно)**
— Пара A: лев/прав; Пара B: лев/прав.
— Глубина зоны × Average True Range, продление по барам.
— Средняя линия, режим **«только по тренду»**.
— Подписи со счетчиком касаний.
**Bubbles**
— Вкл./выкл., окно поиска и процент квантиля (чем выше процент — тем реже пузыри).
**Densities**
— Метрика: абсолютная прокси-дельты или чистый объем.
— Окно/квантиль, глубина × Average True Range, продление,
— Порог объединения (в Average True Range),
— Условие «разъедания» по объему,
— Средняя линия плотности (по желанию).
---
## Советы и риски
* Индикатор **не использует внешние потоки ордер-флоу**. Дельта — **прокси**, подходящая для TradingView; подбирайте квантили под инструмент и таймфрейм.
* Не торгуйте каждый пузырь. Склейте **контекст (тренд + VWAP + Opening Range)** с **уровнем (зона)** и **усилием (пузырь/плотность)**.
* Стоп-лосс — за границей зоны или по Average True Range. Риск на сделку задавайте заранее.
* Перед реальными деньгами протестируйте правила в стратегии.
* Разные рынки ведут себя по-разному; настройки из Биткоина могут не подойти малоликвидным альткоинам или акциям.
* Это не инвестиционная рекомендация. Скальпинг — высокий риск; проскальзывание и переизбыток сделок быстро наносят ущерб капиталу.
---
## Чем уникален PRO Scalper
* Две **одновременные** системы зон показывают и **крупную структуру**, и **точные локальные уровни**.
* Режим **«только по тренду»** чистит экран от лишних уровней и ускоряет решение.
* **Счетчики касаний** дают количественную опору.
* **Самодостаточные визуализации усилия** (пузыри и плотности) — без сторонних источников данных.
* Аккуратная цветовая схема: плотности — мягко, зоны — ясно; Opening Range — адаптивный.
Пусть он станет вашей «картой местности» для быстрых и дисциплинированных решений внутри дня.
Mythical EMAs + Dynamic VWAP BandThis indicator titled "Mythical EMAs + Dynamic VWAP Band." It overlays several volatility-adjusted Exponential Moving Averages (EMAs) on the chart, along with a Volume Weighted Average Price (VWAP) line and a dynamic band around it.
Additionally, it uses background coloring (clouds) to visualize bullish or bearish trends, with intensity modulated by the price's position relative to the VWAP.
The EMAs are themed with mythical names (e.g., Hermes for the 9-period EMA), but this is just stylistic flavoring and doesn't affect functionality.
I'll break it down section by section, explaining what each part does, how it works, and its purpose in the context of technical analysis. This indicator is designed for traders to identify trends, momentum, and price fairness relative to volume-weighted averages, with volatility adjustments to make the EMAs more responsive in volatile markets.
### 1. **Volatility Calculation (ATR)**
```pine
atrLength = 14
volatility = ta.atr(atrLength)
```
- **What it does**: Calculates the Average True Range (ATR) over 14 periods (a common default). ATR measures market volatility by averaging the true range (the greatest of: high-low, |high-previous close|, |low-previous close|).
- **Purpose**: This volatility value is used later to dynamically adjust the EMAs, making them more sensitive in high-volatility conditions (e.g., during market swings) and smoother in low-volatility periods. It helps the indicator adapt to changing market environments rather than using static EMAs.
### 2. **Custom Mythical EMA Function**
```pine
mythical_ema(src, length, base_alpha, vol_factor) =>
alpha = (2 / (length + 1)) * base_alpha * (1 + vol_factor * (volatility / src))
ema = 0.0
ema := na(ema ) ? src : alpha * src + (1 - alpha) * ema
ema
```
- **What it does**: Defines a custom function to compute a modified EMA.
- It starts with the standard EMA smoothing factor formula: `2 / (length + 1)`.
- Multiplies it by a `base_alpha` (a user-defined multiplier to tweak responsiveness).
- Adjusts further for volatility: Adds a term `(1 + vol_factor * (volatility / src))`, where `vol_factor` scales the impact, and `volatility / src` normalizes ATR relative to the source price (making it scale-invariant).
- The EMA is then calculated recursively: If the previous EMA is NA (e.g., at the start), it uses the current source value; otherwise, it weights the current source by `alpha` and the prior EMA by `(1 - alpha)`.
- **Purpose**: This creates "adaptive" EMAs that react faster in volatile markets (higher alpha when volatility is high relative to price) without overreacting in calm periods. It's an enhancement over standard EMAs, which use fixed alphas and can lag in choppy conditions. The mythical theme is just naming—functionally, it's a volatility-weighted EMA.
### 3. **Calculating the EMAs**
```pine
ema9 = mythical_ema(close, 9, 1.2, 0.5) // Hermes - quick & nimble
ema20 = mythical_ema(close, 20, 1.0, 0.3) // Apollo - short-term foresight
ema50 = mythical_ema(close, 50, 0.9, 0.2) // Athena - wise strategist
ema100 = mythical_ema(close, 100, 0.8, 0.1) // Zeus - powerful oversight
ema200 = mythical_ema(close, 200, 0.7, 0.05) // Kronos - long-term patience
```
- **What it does**: Applies the custom EMA function to the close price with varying lengths (9, 20, 50, 100, 200 periods), base alphas (decreasing from 1.2 to 0.7 for longer periods to make shorter ones more responsive), and volatility factors (decreasing from 0.5 to 0.05 to reduce volatility influence on longer-term EMAs).
- **Purpose**: These form a multi-timeframe EMA ribbon:
- Shorter EMAs (e.g., 9 and 20) capture short-term momentum.
- Longer ones (e.g., 200) show long-term trends.
- Crossovers (e.g., short EMA crossing above long EMA) can signal buy/sell opportunities. The volatility adjustment makes them "mythical" by adding dynamism, potentially improving signal quality in real markets.
### 4. **VWAP Calculation**
```pine
vwap_val = ta.vwap(close) // VWAP based on close price
```
- **What it does**: Computes the Volume Weighted Average Price (VWAP) using the built-in `ta.vwap` function, anchored to the close price. VWAP is the average price weighted by volume over the session (resets daily by default in Pine Script).
- **Purpose**: VWAP acts as a benchmark for "fair value." Prices above VWAP suggest bullishness (buyers in control), below indicate bearishness (sellers dominant). It's commonly used by institutional traders to assess entry/exit points.
### 5. **Plotting EMAs and VWAP**
```pine
plot(ema9, color=color.fuchsia, title='EMA 9 (Hermes)')
plot(ema20, color=color.red, title='EMA 20 (Apollo)')
plot(ema50, color=color.orange, title='EMA 50 (Athena)')
plot(ema100, color=color.aqua, title='EMA 100 (Zeus)')
plot(ema200, color=color.blue, title='EMA 200 (Kronos)')
plot(vwap_val, color=color.yellow, linewidth=2, title='VWAP')
```
- **What it does**: Overlays the EMAs and VWAP on the chart with distinct colors and titles for easy identification in TradingView's legend.
- **Purpose**: Visualizes the EMA ribbon and VWAP line. Traders can watch for EMA alignments (e.g., all sloping up for uptrend) or price interactions with VWAP.
### 6. **Dynamic VWAP Band**
```pine
band_pct = 0.005
vwap_upper = vwap_val * (1 + band_pct)
vwap_lower = vwap_val * (1 - band_pct)
p1 = plot(vwap_upper, color=color.new(color.yellow, 0), title="VWAP Upper Band")
p2 = plot(vwap_lower, color=color.new(color.yellow, 0), title="VWAP Lower Band")
fill_color = close >= vwap_val ? color.new(color.green, 80) : color.new(color.red, 80)
fill(p1, p2, color=fill_color, title="Dynamic VWAP Band")
```
- **What it does**: Creates a band ±0.5% around the VWAP.
- Plots the upper/lower bands with full transparency (color opacity 0, so lines are invisible).
- Fills the area between them dynamically: Semi-transparent green (opacity 80) if close ≥ VWAP (bullish bias), red if below (bearish bias).
- **Purpose**: Highlights deviations from VWAP visually. The color change provides an at-a-glance sentiment indicator—green for "above fair value" (potential strength), red for "below" (potential weakness). The narrow band (0.5%) focuses on short-term fairness, and the fill makes it easier to spot than just the line.
### 7. **Trend Clouds with VWAP Interaction**
```pine
bullish = ema9 > ema20 and ema20 > ema50
bearish = ema9 < ema20 and ema20 < ema50
bullish_above_vwap = bullish and close > vwap_val
bullish_below_vwap = bullish and close <= vwap_val
bearish_below_vwap = bearish and close < vwap_val
bearish_above_vwap = bearish and close >= vwap_val
bgcolor(bullish_above_vwap ? color.new(color.green, 50) : na, title="Bullish Above VWAP")
bgcolor(bullish_below_vwap ? color.new(color.green, 80) : na, title="Bullish Below VWAP")
bgcolor(bearish_below_vwap ? color.new(color.red, 50) : na, title="Bearish Below VWAP")
bgcolor(bearish_above_vwap ? color.new(color.red, 80) : na, title="Bearish Above VWAP")
```
- **What it does**: Defines trend conditions based on EMA alignments:
- Bullish: Shorter EMAs stacked above longer ones (9 > 20 > 50, indicating upward momentum).
- Bearish: The opposite (downward momentum).
- Sub-conditions combine with VWAP: E.g., bullish_above_vwap is true only if bullish and price > VWAP.
- Applies background colors (bgcolor) to the entire chart pane:
- Strong bullish (above VWAP): Green with opacity 50 (less transparent, more intense).
- Weak bullish (below VWAP): Green with opacity 80 (more transparent, less intense).
- Strong bearish (below VWAP): Red with opacity 50.
- Weak bearish (above VWAP): Red with opacity 80.
- If no condition matches, no color (na).
- **Purpose**: Creates "clouds" for trend visualization, enhanced by VWAP context. This helps traders confirm trends—e.g., a strong bullish cloud (darker green) suggests a high-conviction uptrend when price is above VWAP. The varying opacity differentiates signal strength: Darker for aligned conditions (trend + VWAP agreement), lighter for misaligned (potential weakening or reversal).
### Overall Indicator Usage and Limitations
- **How to use it**: Add this to a TradingView chart (e.g., stocks, crypto, forex). Look for EMA crossovers, price bouncing off EMAs/VWAP, or cloud color changes as signals. Bullish clouds with price above VWAP might signal buys; bearish below for sells.
- **Strengths**: Combines momentum (EMAs), volume (VWAP), and volatility adaptation for a multi-layered view. Dynamic colors make it intuitive.
- **Limitations**:
- EMAs lag in ranging markets; volatility adjustment helps but doesn't eliminate whipsaws.
- VWAP resets daily (standard behavior), so it's best for intraday/session trading.
- No alerts or inputs for customization (e.g., changeable lengths)—it's hardcoded.
- Performance depends on the asset/timeframe; backtest before using.
- **License**: Mozilla Public License 2.0, so it's open-source and modifiable.
VWAP Entry Assistant (v1.0)Description:
Anchored VWAP with a lightweight assistant for VWAP reversion trades.
It shows the distance to VWAP, an estimated hit probability for the current bar, the expected number of bars to reach VWAP, and a recommended entry price.
If the chance of touching VWAP is low, the script suggests an adjusted limit using a fraction of ATR.
The VWAP line is white by default, and a compact summary table appears at the bottom-left.
Educational tool. Not financial advice. Not affiliated with TradingView or any exchange. Always backtest before use.
xVWAP (Multi-Source VWAP)This indicator lets you plot a true cross-symbol VWAP — volume-weighted average price taken from any symbol or from your current chart. It’s ideal for futures, micros/minis, indices, and correlated assets (e.g., MGC ↔ GC1!, MNQ ↔ NQ1!, ES ↔ SPX).
You can choose the source symbol, anchor period, and display up to three standard-deviation bands around VWAP.
In the chart, since I trade Micros, I used MGC1! (colored), then overlay it with the VWAP from GC1! (Grey).
ORBs, EMAs, AVWAPThis Pine Script (version 6) is a multi-session trading indicator that combines Opening Range Breakouts (ORBs), Exponential Moving Averages (EMAs), and an Anchored VWAP (AVWAP) system — all in one overlay script for TradingView.
Here’s a clear breakdown of its structure and functionality:
🕒 1. Session Logic and ORB Calculation
Purpose: Identify and plot the high and low of the first 30 minutes (default) for the Tokyo, London, and New York trading sessions.
Session Anchors (NY time):
Tokyo → 20:00
London → 03:00
New York → 09:30
(All configurable in inputs.)
ORB Duration: Default is 30 minutes (orbDurationMin), also user-configurable.
Resets:
London and NY ORBs reset at the start of each new New York trading day (17:00 NY time).
Tokyo ORB resets independently using a stored timestamp.
Process:
For each session:
While the time is within the ORB window, the script captures the session’s high and low.
Once the window closes, those levels remain plotted until reset.
Plot Colors:
Tokyo → Yellow (#fecc02)
London → Gray (#8c9a9c)
New York → Magenta (#ff00c8)
These form visible horizontal lines marking the prior session ranges — useful for breakout or retest trading setups.
📈 2. EMA System
Purpose: Provide trend and dynamic support/resistance guidance.
It calculates and plots four EMAs:
EMA Period Color Purpose
EMA 9 Short-term Green Fast signal
EMA 20 Short-term Red Confirms direction
EMA 113 Medium Aqua Trend filter
EMA 200 Long-term Orange Macro trend baseline
Each EMA is plotted directly on the price chart for visual confluence with ORB and VWAP levels.
⚖️ 3. Anchored VWAP (AVWAP)
Purpose: Display a volume-weighted average price anchored to specific timeframes or events, optionally with dynamic deviation or percentage bands.
Features:
Anchor Options:
Time-based: Session, Week, Month, Quarter, Year, Decade, Century
Event-based: Earnings, Dividends, Splits
VWAP resets when the chosen anchor condition is met (e.g., new month, new earnings event, etc.).
Bands:
Up to three levels of symmetric upper/lower bands.
Choose between Standard Deviation or Percentage-based widths.
Display Toggles:
Each band’s visibility is optional.
VWAP can be hidden on 1D+ timeframes (hideonDWM option).
Color Scheme:
VWAP: Fuchsia (magenta-pink) line
Bands: Green / Olive / Teal with light-filled zones
⚙️ 4. Technical Highlights
Uses ta.vwap() with built-in band calculations.
Handles instruments with or without volume (errors if missing volume).
Uses time-zone aware timestamps (timestamp(NY_TZ, …)).
Uses timeframe.change() to detect new anchors for the VWAP.
Employs persistent variables (var) to maintain session state across bars.
💡 In Practice
This indicator is designed for multi-session intraday traders who:
Trade Tokyo, London, or NY open breakouts or retests.
Use EMA stacking and crossovers for trend confirmation.
Use Anchored VWAP as a fair-value or mean-reversion reference.
Need clear visual structure across different market sessions.
It provides strong session separation, trend context, and volume-weighted price reference — making it ideal for discretionary or semi-systematic trading strategies focused on liquidity zones and session momentum.
VWAP + Multi-Condition RSI Signals + FibonacciPlatform / System
Platform: TradingView
Language: Pine Script® v6
Purpose: This script is an overlay indicator for technical analysis on charts. It combines multiple tools: VWAP, RSI signals, and Fibonacci levels.
1️⃣ VWAP (Volume Weighted Average Price)
What it does:
Plots the VWAP line on the chart, which is a weighted average price based on volume.
Can be anchored to different periods: Session, Week, Month, Quarter, Year, Decade, Century, or corporate events like Earnings, Dividends, Splits.
Optionally plots bands above and below VWAP based on standard deviation or a percentage.
Supports up to 3 bands with customizable multipliers.
Will not display if the timeframe is daily or higher and the hideonDWM option is enabled.
Visual on chart: A main VWAP line with optional shaded bands.
2️⃣ RSI (Relative Strength Index) Signals
What it does:
Calculates RSI with a configurable period.
Identifies overbought and oversold zones using user-defined levels.
Generates buy/sell signals based on:
RSI crossing above oversold → Buy
RSI crossing below overbought → Sell
Detects strong signals using divergences:
Bullish divergence: Price makes lower low, RSI makes higher low → Strong Buy
Bearish divergence: Price makes higher high, RSI makes lower high → Strong Sell
Optional momentum signals when RSI crosses 50 after recent overbought/oversold conditions.
Visual on chart:
Triangles for buy/sell
Different color triangles/circles for strong and momentum signals
Background shading in RSI overbought/oversold zones
Alerts: The script can trigger alerts when any of these signals occur.
3️⃣ Fibonacci Levels
What it does:
Calculates Fibonacci retracement and extension levels based on the highest high and lowest low over a configurable lookback period.
Plots standard Fibonacci levels: 0.146, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0
Plots extension levels: 1.272, 1.618, 2.0, 2.618
Helps identify potential support/resistance zones.
Visual on chart: Horizontal lines at each Fibonacci level, shaded with different transparencies.
Summary
This script is essentially a multi-tool trading indicator that combines:
VWAP with dynamic bands for trend analysis and price positioning
RSI signals with divergences for entry/exit points
Fibonacci retracement and extension levels for support/resistance
It is interactive and visual, providing both chart overlays and alert functionality for active trading strategies.
This code is provided for training and educational purposes only. It is not financial advice and should not be used for live trading without proper testing and professional guidance.
Anchored VWAP Polyline [CHE] Anchored VWAP Polyline — Anchored VWAP drawn as a polyline from a user-defined bar count with last-bar updates and optional labels
Summary
This indicator renders an anchored Volume-Weighted Average Price as a continuous polyline starting from a user-selected anchor point a specified number of bars back. It accumulates price multiplied by volume only from the anchor forward and resets cleanly when the anchor moves. Drawing is object-based (polyline and labels) and updated on the most recent bar only, which reduces flicker and avoids excessive redraws. Optional labels mark the anchor and, conditionally, a delta label when the current close is below the historical close at the anchor offset.
Motivation: Why this design?
Anchored VWAP is often used to track fair value after a specific event such as a swing, breakout, or session start. Traditional plot-based lines can repaint during live updates or incur overhead when frequently redrawn. This implementation focuses on explicit state management, last-bar rendering, and object recycling so the line stays stable while remaining responsive when the anchor changes. The design emphasizes deterministic updates and simple session gating from the anchor.
What’s different vs. standard approaches?
Baseline: Classic VWAP lines plotted from session open or full history.
Architecture differences:
Anchor defined by a fixed bar offset rather than session or day boundaries.
Object-centric drawing via `polyline` with an array of `chart.point` objects.
Last-bar update pattern with deletion and replacement of the polyline to apply all points cleanly.
Conditional labels: an anchor marker and an optional delta label only when the current close is below the historical close at the offset.
Practical effect: You get a visually continuous anchored VWAP that resets when the anchor shifts and remains clean on chart refreshes. The labels act as lightweight diagnostics without clutter.
How it works (technical)
The anchor index is computed as the latest bar index minus the user-defined bar count.
A session flag turns true from the anchor forward; prior bars are excluded.
Two persistent accumulators track the running sum of price multiplied by volume and the running sum of volume; they reset when the session flag turns from false to true.
The anchored VWAP is the running sum divided by the running volume whenever both are valid and the volume is not zero.
Points are appended to an array only when the anchored VWAP is valid. On the most recent bar, any existing polyline is deleted and replaced with a new one built from the point array.
Labels are refreshed on the most recent bar:
A yellow warning label appears when there are not enough bars to compute the reference values.
The anchor label marks the anchor bar.
The delta label appears only when the current close is below the close at the anchor offset; otherwise it is suppressed.
No higher-timeframe requests are used; repaint is limited to normal live-bar behavior.
Parameter Guide
Bars back — Sets the anchor offset in bars; default two hundred thirty-three; minimum one. Larger values extend the anchored period and increase stability but respond more slowly to regime changes.
Labels — Toggles all labels; default enabled. Disable to keep the chart clean when using multiple instances.
Reading & Interpretation
The polyline represents the anchored VWAP from the chosen anchor to the current bar. Price above the line suggests strength relative to the anchored baseline; price below suggests weakness.
The anchor label shows where the accumulation starts.
The delta label appears only when today’s close is below the historical close at the offset; it provides a quick context for negative drift relative to that reference.
A yellow message at the current bar indicates the chart does not have enough history to compute the reference comparison yet.
Practical Workflows & Combinations
Trend following: Anchor after a breakout bar or a swing confirmation. Use the anchored VWAP as dynamic support or resistance; look for clean retests and holds for continuation.
Mean reversion: Anchor at a local extreme and watch for approaches back toward the line; require structure confirmation to avoid early entries.
Session or event studies: Re-set the anchor around earnings, macro releases, or session opens by adjusting the bar offset.
Combinations: Pair with structure tools such as swing highs and lows, or with volatility measures to filter chop. The labels can be disabled when combining multiple instances to maintain chart clarity.
Behavior, Constraints & Performance
Repaint and confirmation: The line is updated on the most recent bar only; historical values do not rely on future bars. Normal live-bar movement applies until the bar closes.
No higher timeframe: There is no `security` call; repaint paths related to higher-timeframe lookahead do not apply here.
Resources: Uses one polyline object that is rebuilt on the most recent bar, plus two labels when conditions are met. `max_bars_back` is two thousand. Arrays store points from the anchor forward; extremely long anchors or very long charts increase memory usage.
Known limits: With very thin volume, the VWAP can be unavailable for some bars. Very large anchors reduce responsiveness. Labels use ATR for vertical placement; extreme gaps can place them close to extremes.
Sensible Defaults & Quick Tuning
Starting point: Bars back two hundred thirty-three with Labels enabled works well on many assets and timeframes.
Too noisy around the line: Increase Bars back to extend the accumulation window.
Too sluggish after regime changes: Decrease Bars back to focus on a shorter anchored period.
Chart clutter with multiple instances: Disable Labels while keeping the polyline visible.
What this indicator is—and isn’t
This is a visualization of an anchored VWAP with optional diagnostics. It is not a full trading system and does not include entries, exits, or position management. Use it alongside clear market structure, risk controls, and a plan for trade management. It does not predict future prices.
Inputs with defaults
Bars back: two hundred thirty-three bars, minimum one.
Labels: enabled or disabled toggle, default enabled.
Pine version: v6
Overlay: true
Primary outputs: one polyline, optional labels (anchor, conditional delta, and a warning when insufficient bars).
Metrics and functions: volume, ATR for label offset, object drawing via polyline and chart points, last-bar update pattern.
Special techniques: session gating from the anchor, persistent state, object recycling, explicit guards against unavailable values and zero volume.
Compatibility and assets: Designed for standard candlestick or bar charts across liquid assets and common timeframes.
Diagnostics: Yellow warning label when history is insufficient.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino






















