Two traders watch the same ES chart in the same minute, both have VWAP on, and each calls out a different price. Neither is wrong. Their indicators are anchored in different places, and that alone moves the line. This guide covers the VWAP settings that actually change what you see, and the ones you can leave alone.
We assume you already know what the indicator measures and why it resets daily. If not, the formula and the reasoning are in the VWAP trading guide.
Which open it counts from
VWAP accumulates from the session open. The catch is that a CME future has two defensible opens, and your platform picks one for you unless you tell it otherwise.
- From the cash open, 9:30 ET, when the US stock market starts trading. The line only accumulates regular-hours volume.
- From the electronic open, the previous afternoon. The line drags the entire overnight session with it.
Overnight ES volume is thin, but it trades for many hours and often in a price band the day session never revisits. By the time the cash market opens, a full-session VWAP is already weighed down by that history and takes time to shake it off. The cash-anchored line starts clean. On a gap day the two sit points apart and spend the morning marking levels that do not agree.
Which one? For US index futures, the cash open, because the volume that respects VWAP arrives with it. The deeper reason matters more than the choice though: a level is only worth something if you measure it the same way the traders on the other side do. Pick one and stop switching. In crypto, which has no session, the setting becomes picking a reference hour and sticking to it, the same logic as the session volume profile.
What price the calculation uses
VWAP does not weight each bar’s close, it weights a representative price, and platforms differ on which. The TradingView VWAP documentation states it plainly under the source input: “By default, the source is hlc3, but hl2 is another common option”. High plus low plus close over three by default, with the high-low midpoint as the common alternative.
Changing it moves very little. It matters for a different reason: when your line does not match a colleague’s, this is the second suspect after the anchor. Leave it on hlc3, which is what almost everyone assumes.
Anchor period: session, week, month
The reset is not fixed. That same indicator exposes a period input which, in the words of its documentation, “specifies the Anchor, i.e. how frequently the VWAP calculation will be reset”, with these values: Session, Week, Month, Quarter, Year, Decade, Century, Earnings, Dividends and Splits.
Of those ten, futures traders reading flow use three. Session is the intraday standard and your default. Week gives the week’s average price and works as higher-timeframe context. Month is a slow swing reference.
Do not confuse this with anchored VWAP. The anchor period resets on the calendar, always in the same place: every Monday, every 1st. Anchored VWAP starts wherever you decide, at a high, at a news spike, at the start of a range. If what you want is the average price since a specific event, you need the anchored version, not a weekly period that may have reset in the middle of the move you were measuring.
Does the chart timeframe change VWAP?
It should not, because the trades that crossed are the same whatever bar size you look at. On screen it shifts a little. The platform does not walk trade by trade: it takes each bar, computes its representative price and weights it by that bar’s volume. Grouping introduces error. Picture a five-minute bar with only three trades in it (numbers invented on purpose so you can follow the arithmetic):
| Trade | Price | Contracts |
|---|---|---|
| 1 | 6,300.00 | 200 |
| 2 | 6,302.00 | 100 |
| 3 | 6,301.00 | 700 |
The true volume-weighted average of those three trades is 6,300,900 / 1,000 = 6,300.90. But the bar’s high is 6,302, its low 6,300 and its close 6,301, so its hlc3 is exactly 6,301.00, and that is what goes into the accumulator alongside the 1,000 contracts. A tenth of a point of drift in one bar. The more a bar groups, the more that error grows.
The hard timeframe rule comes from the same documentation: “VWAP makes sense only when the Anchor Period is higher than the chart timeframe”. Run a session anchor on daily candles and the indicator resets on every bar and draws nothing usable. For intraday flow on the ES, anything from 1 to 15 minutes works.
How many deviation bands to show
Bands ship with three deviations and the temptation is to keep them all. With 1σ and 2σ you cover normal trade location and stretched conditions, where nearly every decision gets made. Keep the third only if you hunt extremes, and dim it. What each one means operationally is in VWAP bands. Remember they inherit the anchor: change your reference open while the bands compute from another one and you are measuring dispersion around a centre that is not yours.
VWAP through the rollover
Almost nobody checks this, and it produces strange readings four times a year. On rollover days volume splits between the dying contract and the new one, and VWAP knows nothing about it:
- On the new contract, the accumulator starts with very little volume. The line jumps on every trade and represents no consensus until the bulk of the business has moved over.
- On the old contract, VWAP still has volume behind it, but it is the volume of traders closing out, not of traders positioning for tomorrow.
- On a stitched continuous chart, the price jump between contracts enters the calculation as if it were a real move.
Through the transition, do not trust levels to VWAP. Wait until the new contract has a full session of normal volume.
When a correctly configured line still misleads
Setting it up right does not immunise you against a bad read. There are three moments when VWAP says less than it appears to, and none of them is fixed in the settings dialog:
- The first minutes of the session. With little volume accumulated, the line hugs price and follows it everywhere. A VWAP touch at 9:35 does not mean what one at 14:00 means, because at that hour VWAP is basically price.
- Holiday and half sessions. Thin volume lets any medium-sized block drag the line. The level exists, but the consensus you normally assume behind it does not.
- After a large gap. A full-session VWAP stays tethered to overnight value that has stopped being relevant.
In all three the fix is the same, confirm with order flow what happens when price reaches the level instead of trading the touch itself. How that is done is in VWAP strategies.
Reference setup for the ES
| Setting | Value |
|---|---|
| Session anchor | Cash open (9:30 ET) |
| Anchor period | Session |
| Price source | hlc3 |
| Chart timeframe | 1 to 15 minutes |
| Visible deviations | 1σ and 2σ (3σ dimmed) |
| Through rollover | Do not trust levels until the new contract carries volume |
With that in place VWAP stops being a line that shows up on its own and becomes a level you know the origin of. The session context around it is in futures trading sessions, and the comparison against the other common dynamic reference is in VWAP vs moving average.
Frequently Asked Questions
What time does VWAP reset on ES futures?
It depends on your anchor. Anchored to regular hours, it resets at the US cash open, 9:30 ET. Left on the full electronic session, it resets at the previous afternoon’s open and carries the whole overnight. Both are valid configurations, and they draw different lines.
Why does my VWAP not match another trader’s?
Three reasons, in order of likelihood: you have different session anchors, you use different price sources (hlc3 versus hl2), or your data comes from different feeds. The first explains almost every case and is the only one that produces differences of several points.
Does VWAP change with the chart timeframe?
Slightly. The calculation groups by bar, so the more volume each bar packs, the further it drifts from the true trade-weighted average. The hard rule is a different one: the anchor period must be higher than the chart timeframe, or the indicator resets on every bar.
How many VWAP bands should I display?
Two, 1σ and 2σ. They cover normal trade location and stretched conditions, where almost every decision gets made. The 3σ band only helps if you are hunting extremes, and it is worth dimming so it does not compete with the rest of the chart.