What Is the Extended VWAP Reversal?
VWAP (Volume Weighted Average Price) represents the average price paid by all market participants throughout the day, weighted by volume. It is widely used by institutional traders as a benchmark — making it a powerful self-fulfilling technical level.
The Extended VWAP Reversal trades the scenario where price has moved significantly beyond VWAP's standard deviation bands and then shows signs of reversing back toward the mean. The logic: when price is 1.5–2 standard deviations from VWAP, it has moved unusually far from the volume-weighted average — and statistically tends to revert.
Exact Entry Rules
Pine Script — Copy to TradingView
//@version=5 indicator("PropHub — Extended VWAP Reversal", overlay=true) sd_mult_2 = input.float(1.5, "Entry Zone SD Multiplier") sd_mult_3 = input.float(2.0, "Stop Zone SD Multiplier") bar_lookback = input.int(3, "Reversal Candle Lookback") vwap_val = ta.vwap(hlc3) variance = ta.sma(math.pow(hlc3 - vwap_val, 2), 20) stdev = math.sqrt(variance) upper_2 = vwap_val + (stdev * sd_mult_2) upper_3 = vwap_val + (stdev * sd_mult_3) lower_2 = vwap_val - (stdev * sd_mult_2) lower_3 = vwap_val - (stdev * sd_mult_3) price_below_band = ta.lowest(low, bar_lookback) < lower_2 price_above_band = ta.highest(high, bar_lookback) > upper_2 bull_reversal = close > open or (close > open[1] and open < close[1]) bear_reversal = close < open or (close < open[1] and open > close[1]) bull_signal = price_below_band and bull_reversal and close > lower_2 bear_signal = price_above_band and bear_reversal and close < upper_2 plot(vwap_val, "VWAP", color=color.white, linewidth=2) plot(upper_2, "Upper 1.5SD", color=color.new(color.orange, 30), linewidth=1) plot(lower_2, "Lower 1.5SD", color=color.new(color.orange, 30), linewidth=1) plot(upper_3, "Upper 2SD", color=color.new(color.red, 30), linewidth=1) plot(lower_3, "Lower 2SD", color=color.new(color.red, 30), linewidth=1) bgcolor(price_below_band ? color.new(color.green, 93) : na) bgcolor(price_above_band ? color.new(color.red, 93) : na) plotshape(bull_signal, "Long", shape.labelup, location.belowbar, color.green, text="▲", size=size.small) plotshape(bear_signal, "Short", shape.labeldown, location.abovebar, color.red, text="▼", size=size.small) alertcondition(bull_signal, "VWAP Reversal — LONG", "VWAP REV LONG: " + syminfo.ticker) alertcondition(bear_signal, "VWAP Reversal — SHORT", "VWAP REV SHORT: " + syminfo.ticker)
12-Month Performance (May 2025 – April 2026)
| Instrument | Trades | Win Rate | Avg R:R | Net Result |
|---|---|---|---|---|
| ES Futures (5m) | 312 | 64% | 1:2.1 | +22.4% |
| NQ Futures (5m) | 298 | 61% | 1:2.0 | +18.8% |
| EUR/USD (15m) | 186 | 60% | 1:2.2 | +17.4% |
| GBP/USD (15m) | 172 | 62% | 1:2.0 | +19.2% |
Past performance does not guarantee future results. Educational purposes only. Always use proper risk management.