⬡ INDICATOR · DAY TRADING · 10 MIN READ

VWAP: the institutional indicator of day trading.

The volume weighted average price — the benchmark big players use to measure whether they bought well. Understand why it matters intraday and how to trade with it.

By the RoboTraderIA Team· updated May 2026· intermediate level

While most retail traders watch ordinary moving averages, institutions watch the VWAP. Why? Because an ordinary average treats every price the same, but the VWAP weights by volume — it shows where the real money actually traded. It is day trading's most important and least understood indicator. Let's change that.

01What the VWAP is

VWAP stands for Volume Weighted Average Price . It computes the day's average price, but giving more weight to the prices where more volume traded. Unlike an ordinary moving average, which only looks at price, the VWAP answers: "what was the average price the money actually paid today?".

An important trait: the VWAP resets every day. It accumulates from the session open, so in the morning it swings a lot and gradually "settles" as the day goes on and volume builds up.

The difference that matters: imagine a day where price shot quickly through R$ 100 (little volume) but traded for a long time at R$ 95 (heavy volume). An ordinary average would weight both equally. The VWAP would say the day's "fair price" is much closer to R$ 95 — because that is where the real money changed hands.

VWAP above VWAP = buying bias below VWAP = selling bias pullback to VWAP = re-entry
The VWAP (gold) works as the day's equilibrium line. Above it, buying bias; pullbacks to it in a trend become re-entry zones.

02Why institutions use it

When a fund has to buy millions in shares over the course of a day, it does not want to "overpay". The metric they use to judge whether they executed well is the VWAP: buying below the day's VWAP is considered good execution; selling above it as well. Managers are literally evaluated on this.

The practical consequence for you: because so much big money uses the VWAP as a benchmark, it becomes a self-fulfilling support/resistance level. Price reacts to the VWAP because the big players act around it.

03How to trade with the VWAP

1. Filter for the day's bias

The simplest and most powerful use: price above the VWAP = buying bias for the day (favor longs); below = selling bias (favor shorts). Many day traders only trade in the direction of the VWAP side price is on.

2. Dynamic support/resistance

In an intraday uptrend, price rises, pulls back to the VWAP and resumes. That pullback is a classic re-entry zone — you get in near the VWAP with a stop just below. In a downtrend, the reverse.

3. Intraday mean reversion

On sideways days, price tends to come back to the VWAP when it strays too far. Combined with VWAP bands (standard deviations around it), it becomes a reversion strategy.

Honest limitations: the VWAP is an intraday tool — it resets every day and makes no sense for swing trading. Early in the session, with little volume accumulated, it is unstable and gives poor signals. And it requires reliable volume data, which in decentralized Forex is limited (it works better on stocks, futures and crypto, where volume is centralized).

04Coding the VWAP

Pine Script (TradingView)
//@version=5
indicator("VWAP com viés", overlay=true)

// VWAP is already built into Pine and resets every session
vwap = ta.vwap(hlc3)

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

// color the background according to the bias
viesComprador = close > vwap
bgcolor(viesComprador ? color.new(color.green, 93) : color.new(color.red, 93))

// alert on a pullback to VWAP in an uptrend
if viesComprador and ta.crossunder(low, vwap) == false and close > vwap and low <= vwap * 1.001
    alert("Preço recuou ao VWAP em tendência de alta")
Python (intraday calculation)
import pandas as pd

def calcular_vwap(df):
    # df must cover ONE trading session (VWAP resets daily)
    preco_tipico = (df["high"] + df["low"] + df["close"]) / 3
    pv = preco_tipico * df["volume"]
    return pv.cumsum() / df["volume"].cumsum()

df["vwap"] = calcular_vwap(df)

# bias of the day
ultimo = df.iloc[-1]
if ultimo["close"] > ultimo["vwap"]:
    print("Viés comprador — preço acima do VWAP")
else:
    print("Viés vendedor — preço abaixo do VWAP")

Careful in Python: the VWAP has to be computed per session (it resets every day). If you pass in a DataFrame with several days, group by date first (df.groupby(df.index.date)) and compute each day's VWAP separately.

The VWAP is strong on the mini index and mini dollar futures

See how to apply it to day trading on Brazil's B3 exchange, where centralized volume makes it reliable.

See the B3 guide →

05Frequently asked questions

What is the VWAP?

Volume Weighted Average Price — the average price weighted by the volume traded during the day. It gives more weight to the prices where more volume traded, reflecting the session's "fair price". It resets every day.

Why do institutions use the VWAP?

They use it as an execution benchmark: buying below the VWAP is good execution, and so is selling above it. Managers are evaluated by comparing their executions to the VWAP. That is why it becomes self-fulfilling support/resistance.

How do I trade the VWAP in day trading?

As a bias filter (above = buying, below = selling) and as dynamic support/resistance — pullbacks to the VWAP in a trend are re-entry zones. On sideways days, it works for intraday mean reversion.

Is the VWAP useful for swing trading?

No. It is an intraday tool that resets every day. For swing trading, use ordinary moving averages (such as the 50 and the 200). The VWAP loses its meaning over horizons longer than a single session.

Does the VWAP work in Forex?

Only to a limited extent. Forex is decentralized and has no consolidated true volume, so the VWAP is less reliable. It shines on stocks, futures (the mini index/dollar contracts) and crypto, where volume is centralized and real.

Read also

🎁 Get the free trading bot (with the Quotex, Deriv and IQ Option APIs)

Open source bot + ready-made API code. You edit it by chatting with ChatGPT/Claude — no programming. Free, no spam.

👉 Want the ready-made bot instead? Go to botbinaryoptions.com →