VolumeExpert Curated · Playbook

VWAP

Volume Weighted Average Price

A volume-weighted running average that institutional traders use as a fair-value reference and dynamic intraday support/resistance.

VWAP is a volume-weighted running average of price, calculated cumulatively from the session open. Institutional traders use it as an execution benchmark; retail traders use it as a dynamic fair-value level. Above VWAP = intraday strength; below = weakness. Resets each session; not designed for multi-day trading.

VWAP is the cumulative sum of price × volume divided by the cumulative sum of volume, recalculated from each session's open. Unlike a simple moving average, VWAP weighs every bar by its volume — so high-volume bars pull the line more than thin ones.

Institutional desks use VWAP as a benchmark for execution quality and as a bias level for the day. Retail traders use it as a dynamic support/resistance line: above VWAP signals intraday strength, below signals weakness. VWAP works best on intraday timeframes (1m–1h) and resets each session — it's not designed for multi-day position trading.

Entry ideas

How do I enter trades using VWAP?

03ideas
01Entry idea

VWAP bounce with confirmation

A trend-continuation long that buys clean pullbacks to the day's volume-weighted fair value.

02Entry idea

VWAP reclaim

A regime-shift long that catches the moment intraday strength returns.

03Entry idea

Above-VWAP strength hold

A momentum-continuation long that buys sustained intraday strength.

Exit ideas

When should I exit a VWAP trade?

03ideas
01Exit idea

VWAP breach exit

A simple, reactive exit that closes when intraday support gives way.

02Exit idea

VWAP rejection candle

A proactive exit that captures rejection at VWAP from above.

03Exit idea

VWAP slope flip

A regime-change exit that triggers when the volume-weighted bias turns down.

Utilities

What else is VWAP good for?

02ideas
01Utility

VWAP trend bias

A bias filter that keeps intraday trades aligned with the volume-weighted regime.

02Utility

Volume-spike confluence

A confirmation filter that requires every signal to come with above-average volume.

How do I read VWAP?

  • Price above VWAP = the average buyer (weighted by volume) is in profit, signalling intraday bullish bias.
  • Price below VWAP = average buyer is at a loss, signalling intraday bearish bias.
  • Slope direction matters: a rising VWAP throughout the session means buyers controlled flow. A falling VWAP means sellers did.
  • VWAP often acts as dynamic intraday support and resistance: bounces off VWAP from above are common in uptrending sessions.
  • Distance from VWAP gauges 'stretch': price 1% above VWAP on a fast move is overextended for most assets and timeframes — expect mean-reversion toward the line.
  • VWAP resets at session open. The first 30–60 minutes of any session produce noisy VWAP readings since not enough volume has been weighted yet.

What are the default VWAP settings?

ParameterDefaultWhen to adjust
AnchorSession openVWAP resets each new trading session by default. Anchored VWAP variants reset at custom points (e.g., earnings, breakout bars) for swing-trading use cases.
SourceHLC3 (typical price)Standard formula uses (high + low + close) / 3. Some platforms allow plain close; results differ slightly.
Bands (optional)±1 / ±2 std devMany traders plot volatility bands around VWAP (similar to Bollinger) for stretch detection. Standard: ±1 and ±2 standard deviations.
TimeframeIntraday onlyVWAP is designed for intraday charts (1m–1h). On daily charts, each session's VWAP is essentially a single point — meaningless.

How do I code VWAP in Pine Script?

//@version=5
indicator("VWAP Example", overlay=true)

src = input.source(hlc3, title="Source")

vwapValue = ta.vwap(src)

plot(vwapValue, title="VWAP", color=color.orange, linewidth=2)

Pine's ta.vwap() automatically resets at the start of each session — no manual cumulative tracking needed. The default source hlc3 (typical price) matches the textbook VWAP formula. Plot it on the price pane (overlay=true) so the line draws directly through the candles. For more advanced anchored VWAP, use ta.vwap(src, anchor) with a custom anchor condition.

How is VWAP calculated?

VWAP weights each bar's price by its volume, accumulating both totals from the session open and dividing at every bar.

  1. 1.For each bar, compute the typical price: (high + low + close) / 3.
  2. 2.Multiply typical price by the bar's volume — this is the price-volume product.
  3. 3.Sum the price-volume products from the session open to the current bar.
  4. 4.Sum the volumes over the same period.
  5. 5.VWAP = sum(price × volume) / sum(volume). Reset both sums to zero at the start of each new session.

When does VWAP fail?

VWAP is purpose-built for intraday trading and breaks down outside that context.

Multi-day position trading. VWAP resets each session, so a multi-day swing trade has no single VWAP reference — each new session draws a new line. For multi-day analysis, use moving averages or anchored VWAP from a specific event.

The first 30–60 minutes of any session. Early-session VWAP is dominated by the first few volume-weighted bars and swings wildly until enough trades accumulate. Most professional desks ignore VWAP in the first half-hour.

Low-liquidity windows. Pre-market, after-hours, and overnight crypto sessions often have thin volume that distorts VWAP — the line follows whichever direction the few trades push it.

Pair VWAP with a higher-timeframe trend filter (e.g., daily 50 EMA direction) to know whether intraday VWAP signals align with the broader regime.

What mistakes do traders make with VWAP?

  • Using VWAP on daily or weekly charts. VWAP is designed for intraday — it resets each session. On daily charts, you're seeing a single point per session, which conveys no information. Stick to 1m–1h timeframes.
  • Trading VWAP signals in the first 30 minutes. Early-session VWAP is unreliable because it's based on too few volume-weighted bars. Wait until enough volume has accumulated — typically the first 30–60 minutes.
  • Treating VWAP as a 'true' fair value. VWAP is the volume-weighted average price for the day — that's what's been transacted, not what's fair. Use it as a flow-and-positioning benchmark, not an intrinsic-value notion.
  • Ignoring volume. VWAP's whole point is volume-weighting. Trades made when volume is anemic (pre-market, lunch hour) carry less weight, but they still nudge VWAP. Combine with a volume filter (current vs 20-bar avg) for confirmation.
  • Using VWAP alone on illiquid instruments. Thin volume distorts the average — a single large block trade can shift VWAP meaningfully. On low-liquidity assets, prefer moving averages.

How does VWAP compare to similar tools?

IndicatorWhen to prefer
EMA (20–50)Moving averages do not reset at session boundaries — better for swing trading where the holding period spans multiple sessions. VWAP is purely intraday.
Bollinger BandsBollinger Bands give volatility-adjusted price levels around any timeframe; VWAP is volume-weighted but not volatility-adjusted. Use BB for context on multi-day charts, VWAP for intraday flow.
Anchored VWAPAnchored VWAP (resets at a chosen event, not session) extends VWAP logic to multi-day swing trades. Use for events like earnings prints, breakout bars, or major news. Standard VWAP is daily-only.

VWAP FAQ

Why does VWAP only work for intraday trading?

VWAP cumulates price × volume from the session open and resets at the next session. Over multiple days, each session has its own VWAP — there's no single line. For multi-day analysis, use a moving average or 'anchored VWAP' that resets at a specific event (earnings, breakout) instead of automatically each session.

Should I use VWAP or a 50 EMA on intraday charts?

VWAP is volume-weighted and session-anchored; it reflects where the average institutional buyer entered. A 50 EMA is time-weighted and continuous across sessions. Use VWAP for execution benchmarks and intraday support/resistance. Use 50 EMA for trend direction across multiple sessions.

What does it mean when price is above VWAP?

Price above VWAP means the average volume-weighted buyer is in profit for the session — bullish bias. Below VWAP means the average buyer is at a loss — bearish bias. Many institutional algorithms use VWAP as their 'don't pay above this' execution ceiling, so the line often acts as a real support/resistance level.

Does VWAP work on crypto?

Yes, but with caveats. Crypto trades 24/7 — there's no clear 'session open.' Most platforms anchor VWAP to UTC midnight by default, which is arbitrary. For crypto-specific analysis, anchored VWAP from meaningful events (a breakout, a swing high/low) is more useful than time-anchored VWAP.

Continue exploring

Related indicators in the Playbook

Browse all 8 indicators

About these ideas

Each entry, exit, and utility rule in the Playbook is hand-picked from established trading literature, validated against historical backtests, and reviewed by the PineWiz team. We add new ideas as we encounter them and refresh existing ones when market behavior or default settings shift. Last review: .

Educational content. Not financial advice.