Bands around a VWAP are only meaningful if the spread is weighted the same way the centre is. The vwap bands indicator accumulates squared typical price against volume as it goes, so its deviation reflects where trade actually happened rather than treating every bar alike.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Main price chart |
| Plots | 7: VWAP, Upper 1SD, Lower 1SD, Upper 2SD, Lower 2SD, Reversion Buy, Reversion Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the VWAP Bands Indicator draws on the chart
Five lines and two marks over price.
`VWAP` traces gold at width 3.
`Upper 1SD` and `Lower 1SD` trace dodger blue.
`Upper 2SD` and `Lower 2SD` trace orange red.
`Reversion Buy` prints lime under the candle.
`Reversion Sell` prints red above it.
- VWAP: line, gold, width 3
- Upper 1SD: line, dodger blue, width 1
- Lower 1SD: line, dodger blue, width 1
- Upper 2SD: line, orange red, width 1
- Lower 2SD: line, orange red, width 1
- Reversion Buy: arrow, lime, width 2, arrow code 233
- Reversion Sell: arrow, red, width 2, arrow code 234

How the VWAP Bands Indicator calculates its values
Running totals
Three sums accumulate together. Typical price times volume, volume alone, and typical price squared times volume. The first two give the centre and the third feeds the spread.
A weighted deviation
This is what separates it. Deviation comes out of those same volume-weighted sums, so a bar with heavy trade widens the bands more than a quiet one does.
Anchoring the day
`SessionStartHour` `0` resets every total. Without that reset the sums would run the whole chart and the bands would stop responding to anything recent.
How to read the signals
Gold is the volume-weighted average price so far.
`Dev1` `1.0` marks the inner pair.
`Dev2` `2.0` marks the outer pair.
Bands are widest early and settle as volume builds.
A mark comes from re-entering the outer band, not touching it.
`ShowReversalArrows` hides the marks if you only want levels.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Messages here follow a close returning inside the outer band. `EnableAlerts` decides whether any go out and starts on beside `EnablePopup`. `EnablePushNotify`, `EnableEmail` and `EnableSound` with `SoundFile` all wait until you switch them on.
Every VWAP Bands Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
SessionStartHour |
Session anchor hour (server time). Hour every total resets, `0`. | 0 |
Dev1 |
Inner band deviations (1 SD). Inner pair distance in deviations, `1.0`. | 1.0 |
Dev2 |
Outer band deviations (2 SD). Outer pair distance, `2.0`. | 2.0 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ShowReversalArrows |
Mean-reversion arrows off 2SD band. Draw the re-entry marks, `true`. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Whether re-entry messages go out, `true`. | on |
EnablePopup |
Shows one in a MetaTrader box, `true`. | on |
EnablePushNotify |
Sends one to your phone, `false`. | off |
EnableEmail |
Mails one out, `false`. | off |
EnableSound |
Sounds one on the desktop, `false`. | off |
SoundFile |
Clip the re-entry sound uses, `”alert.wav”`. | alert.wav |

Settings that fit your chart
A daily anchor needs a session with several bars in it. EURUSD H1 is the reference chart, where the bands settle by mid morning. Drop to M5 and you watch them form all day. On daily bars the anchor makes the whole idea meaningless.
When the VWAP Bands Indicator fails
Tick volume stands in for real traded volume.
Early session bands are wide on very little data.
Re-entering a band is not the same as a reversal.
The anchor hour reads the broker clock.
Copy the compiled VWAP Bands Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the VWAP Bands Indicator for MT4 and MT5
The zip holds the compiled VWAP Bands Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
How does Dev2 differ from an ordinary deviation?
It is weighted by volume. The squared typical price accumulates against volume alongside the centre, so heavy bars widen the bands more than quiet ones, which an ordinary standard deviation would never do.
What does SessionStartHour 0 reset?
All three running totals. Without that reset they would accumulate across the whole chart, and after a few thousand bars a new one would barely shift either the centre or the spread.
What triggers a Reversion Buy mark?
A close coming back inside the lower outer band after finishing below it. The mark is about re-entry rather than the touch itself, which means it arrives a bar later but with the stretch already ending.
Why are the bands so wide early in a session?
Because the totals are still small. A handful of bars carry all the weight after the anchor resets, so the deviation is unstable until enough volume has accumulated to steady it.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the VWAP Bands Indicator as one input. Always backtest before trading live.
Category: this is part of our Volatility collection. Browse more Volatility for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- Learn more about the underlying method in Rollover (foreign exchange) on Wikipedia.
- For wider market background, see Irrational Exuberance at StockCharts ChartSchool.
