The institutional-grade VWAP system built for retail traders who need to read the market the way the big money does. Everything in one overlay. Nothing you don't need.
VWAP — Volume Weighted Average Price — is the single most important price reference institutional traders use to determine whether the market is buying or selling throughout the day. It is not a momentum indicator. It is not a trend line. It is the true average price of everything that traded, weighted by how much volume moved at each level. When price is above VWAP, buyers are in control. Below VWAP, sellers are in control. That's the entire foundation.
This indicator stacks two VWAP calculations — one anchored to the current trading session and one anchored to the current week — on top of each other, with statistical deviation bands, a live ATR dashboard, an ATR range envelope locked to the open, and session-bounded HiLo rails. All on one chart. All with one toggle system. Built the way Level Beast operates: precise, clean, zero noise.
This controls what price data the VWAP calculation uses as its input. VWAP needs a single price value per bar to weight against volume. Different source types give you slightly different reads on where the "true" average price landed. This is your fast experimentation dial — you can flip through options in real time and watch the VWAP shift.
Training point: Always start on hlc3. That's the standard. If a student asks "why not close?" — the answer is: close ignores where price actually went during the bar. HLC3 tells the VWAP the full story of what happened.
This is your daily VWAP. It resets every single trading session — every new day, it starts fresh from zero and builds up as volume accumulates throughout that day. At 9:31 AM it has almost no data in it, so it's thin and reactive. By 3:59 PM it has a full day's worth of volume behind it and it's become a heavyweight price reference. This is the primary VWAP you trade against during the session.
Training point: Session VWAP is the anchor. Everything else in this indicator supports it. If price is holding above session VWAP into the afternoon, that's a bullish structure. If it breaks and holds below, that's a bearish structure. This is the read.
This is your weekly VWAP. It resets once per week — every Monday (or the first trading day of the week), it starts over and accumulates volume for the entire week. This is a slower-moving, heavier reference level. It tells you where the market's weekly center of gravity is. The weekly VWAP doesn't move much intraday — it drifts. That drift is meaningful.
Together, session and weekly VWAP create a two-layer structure: the weekly gives you the big picture (where is the week's money actually centered?), and the session tells you where today's money is centered relative to that. When they're stacked close together, you have confluence. When they're apart, one of them is telling you something the other isn't.
Toggles the session VWAP line itself on or off. This is your main daily price reference line. Turn it off only if you're isolating the weekly VWAP for study — there is no reason to trade without it visible.
These are the standard deviation bands around the session VWAP. Each one represents how far price has statistically moved away from the VWAP during this session, measured in standard deviations of the price data weighted by volume.
Band 1σ — The first band out. Most price action during a normal session stays within this band. If price is sitting on 1σ, it's at a normal edge. Not extreme, but directionally meaningful. This is where most entries and support/resistance reads happen.
Band 2σ — The second band. Getting here means price has moved significantly relative to the session's average. This is where the market is showing real commitment to a direction. Breaks of 2σ are not normal — they mean something changed.
Band 3σ — The third band. Reaching 3σ is a statistical outlier event within the session. Price very rarely gets here. When it does, it usually means either a capitulation event happened or a massive one-directional move is underway. This is your extreme-move flag.
Training point: The bands fill in between them with color. The deeper the fill, the more extreme the move. A student's eye should always be asking: "Where is price relative to these bands right now?" That single question tells you everything about where we are in the session's range structure.
Toggles the weekly VWAP line. This moves slower than the session VWAP. It's the week's center of gravity line. Keep it on to see the relationship between where the day is trading and where the week is centered.
Identical logic to the session bands, but calculated against the weekly VWAP. These bands are wider because they cover an entire week of price action and volume. A break of weekly 2σ is a much bigger deal than a break of session 2σ — it means the entire week's price structure is being challenged. These bands provide the macro context that the session bands operate inside of.
This controls how the band width is calculated. This is one of the most important conceptual switches in the indicator. The two modes produce fundamentally different band behaviors.
Training point: Standard Deviation is the default and the recommended mode for all Level Beast subscribers. The bands should move with the market's actual behavior. When a student sees the bands compress on a low-volatility morning and then expand when the move happens, that's the indicator doing its job — telling them the market just shifted gears.
These are the multipliers that scale each band. Mult 1 at 1.0 means the first band is exactly 1 standard deviation away from VWAP. Mult 2 at 2.0 means the second band is 2 standard deviations out. You can adjust these — for example, setting Mult 1 to 1.5 pulls the first band further out. The defaults of 1, 2, 3 are the standard statistical intervals and should stay where they are for training purposes.
In the top-right corner of the chart, a small table displays live ATR (Average True Range) values. ATR is the market's expected daily range — how far price is statistically expected to move in a given period. This table gives you three different ATR reads at a glance, plus a utilization percentage. It answers one question: "How much range does the market have left today?"
This is the first row in the table. It pulls the ATR from the daily timeframe, calculated over 14 periods (the standard). This number tells you the market's expected full-day range based on the last 14 trading days. It does not change throughout the day — it's locked to the daily bar. This is your baseline. When someone asks "what's the expected range today?" this is the answer.
This is the second row in the table. Same ATR calculation, but pulled from a specific intraday timeframe (set by the next input). This gives you the ATR as it looks on, say, the 15-minute chart. It updates every time a new 15-minute bar closes. This is a faster, more current read on volatility than the daily — it reacts to what's happening right now in the session.
This sets which timeframe the Anchored ATR pulls from. Default is 15 minutes. Change it to 5, 30, or 60 depending on how granular you want that intraday volatility read. The 15-minute default is the Level Beast standard — it's the sweet spot between being too reactive (5min) and too slow (60min).
This is the third row in the table. It calculates ATR directly on whatever timeframe your chart is currently set to — if you're on a 5-minute chart, it's the 5-minute ATR. If you're on a 1-hour chart, it's the 1-hour ATR. The label says "NOW" because it's always tied to your current chart timeframe. This is your real-time, in-the-moment volatility read.
Training point: The three ATR rows give you a zoom stack. Daily = the big picture expected range. Anchored (15min) = how volatility is behaving this session. Chart (NOW) = what volatility looks like on the exact timeframe you're trading. All three in one glance.
This is the fourth and bottom row in the table. It answers the single most important intraday question: "What percentage of today's expected range has already been used?"
The math is simple: (Session High − Session Low) ÷ Daily ATR × 100. If the daily ATR is 50 points and the session has already moved 35 points from high to low, utilization reads 70%. The market has used 70% of its expected range.
The color codes tell the story at a glance. Green means below 75% — the market has range left, there's room to move. Yellow means 75–100% — the market is approaching its expected range and is starting to run out of gas. Red means over 100% — the market has exceeded its normal range. This is an extended move. Reversals become more statistically likely, or something fundamental just changed the day's structure.
Training point: This is one of the most powerful reads in the Level Beast system. A subscriber glancing at the table and seeing red utilization knows immediately: "The market has already moved more than expected today. I need to adjust my expectations." Green utilization early in the session means the big move hasn't happened yet.
This controls how frequently the utilization percentage updates. It's set to 5 minutes by default. Here's why this matters: if you're on a 1-hour chart and price hits a new session low at minute 3 of that hour, you wouldn't see the utilization update until the hourly bar closes — 57 minutes later. By setting this to 5 minutes, the utilization pulls the session high and low from 5-minute bars. It updates every 5 minutes, no matter what timeframe you're viewing. You get a near-real-time read without needing to be on a 5-minute chart.
Training point: 5 minutes is the Level Beast default and the optimal balance. Going to 1 minute would update more often but adds significant processing load for almost no practical benefit — price would have to hit a new extreme and reverse within a single 5-minute window for the difference to matter in a real trade.
This draws two horizontal lines on the chart — one above and one below the session open — and fills the space between them. The upper line is Session Open + Daily ATR. The lower line is Session Open − Daily ATR. These lines do not move during the day. They lock at the open and hold.
This is the market's expected daily range envelope drawn from where the day started. It's saying: "Based on the last 14 days of history, this is how far up and how far down the market statistically expects to move from where it opened today." If price stays within this envelope all day, it was a normal day. If it breaks out, something bigger is happening.
When you zoom out across multiple days, these envelopes stair-step — each day locks to its own open at its own level. You can visually see how the expected range shifted from day to day.
Training point: The envelope and the ATR utilization table work together. The envelope shows you where the boundaries are visually on the chart. The utilization table tells you how close to those boundaries you are numerically. Use both.
When this is off, the envelope width is automatically calculated from the Daily ATR (14). When you turn it on, a second input appears — "Manual ATR Value" — and you type in your own number. That number replaces the calculated ATR for the envelope width only. Nothing else in the indicator changes.
When would you use this? If you've done your own pre-market analysis and determined that today's expected range is different from what the 14-period ATR suggests — maybe there's a Fed announcement, earnings, or a known catalyst — you can manually override the envelope to match your pre-market assessment. This is a power-user feature for traders who do their own range planning before the open.
The HiLo Rails are two stair-stepped lines — one tracking the average high and one tracking the average low — calculated from the anchor timeframe (default 30 minutes), but only using data from the current session. They reset every day at the anchor point and rebuild as the session progresses.
Early in the session, these rails are thin — only a few bars of data have come in. As the day moves forward and more 30-minute bars close, the average fills out and the rails stabilize. They step flat between anchor-bar closes, then jump to the new value when the next bar closes. That staircase behavior is intentional — it shows you exactly when each new data point came in and what it moved the average to.
These rails give you a session-specific range reference. They're not contaminated by yesterday's data. They're not pulling in overnight noise. They are purely today's average high and average low, built bar by bar from the anchor point forward.
This sets what timeframe the HiLo Rails pull their high and low data from. Default is 30 minutes. Each closed 30-minute bar contributes one high and one low value to the running average. Change this to 15 for a more reactive rail, or 60 for a smoother one. 30 minutes is the Level Beast standard — enough data points to build a meaningful average within a single session without being too noisy.
This is where the rails reset each day. This setting exists because not every instrument starts its real trading at the same time, and not every chart's "session open" is meaningful for the trader's instrument.
Training point: Session Open for stocks. Custom Time for futures. That's the rule. If a subscriber is on ES or NQ, they switch to Custom Time and type in the pit open time. If they're on SPY or any stock, they leave it on Session Open and never touch it.
This is the time input that only matters when Anchor Mode is set to "Custom Time." Type the time in HH:MM format — for example, 09:30 for the regular session open, or 06:00 if your instrument's real volume starts at 6 AM. The indicator reads this in whatever timezone your chart is displaying, so match what you see on the chart.
When enabled, a small dot appears at each point where the rail steps to a new value. This makes it visually obvious exactly when each new 30-minute bar closed and what it moved the average to. Without the dots, you just see the flat staircase lines — the dots add precision to the visual by marking every transition point.
| Setting | Default | Group |
|---|---|---|
| VWAP Source Type | Price: hlc3 | Source |
| Session Anchor Enabled | ON | Anchors |
| Weekly Anchor Enabled | ON | Anchors |
| Show Session VWAP | ON | Session Visibility |
| Session Band 1σ | ON | Session Visibility |
| Session Band 2σ | ON | Session Visibility |
| Session Band 3σ | ON | Session Visibility |
| Show Weekly VWAP | ON | Weekly Visibility |
| Weekly Band 1σ | ON | Weekly Visibility |
| Weekly Band 2σ | ON | Weekly Visibility |
| Weekly Band 3σ | ON | Weekly Visibility |
| Band Mode | Standard Deviation | Bands |
| Mult 1 | 1.0 | Bands |
| Mult 2 | 2.0 | Bands |
| Mult 3 | 3.0 | Bands |
| Daily ATR Length | 14 | ATR Display |
| Anchored ATR Length | 14 | ATR Display |
| Anchored ATR Timeframe | 15 | ATR Display |
| Chart ATR Length (NOW) | 14 | ATR Display |
| Show ATR Utilization % | ON | ATR Display |
| Utilization Anchor TF | 5 | ATR Display |
| Show ATR Envelope | ON | ATR Envelope |
| Use Manual ATR Override | OFF | ATR Envelope |
| Manual ATR Value | 0.0 | ATR Envelope |
| Show HiLo Rails | ON | HiLo Rails |
| HiLo Anchor Timeframe | 30 | HiLo Rails |
| Anchor Mode | Session Open | HiLo Rails |
| Custom Time (HH:MM) | 09:30 | HiLo Rails |
| Show Step Dots | ON | HiLo Rails |
Every feature defaults to ON. A new subscriber drops this indicator on their chart and immediately sees the full picture — session VWAP, weekly VWAP, all bands, the ATR table, the envelope, the rails. They don't have to figure out what to turn on. The indicator is ready to trade the moment it loads.
Most retail VWAP indicators default to close. That's wrong. Close ignores the range. HLC3 tells the VWAP the full story of what happened during each bar. Setting it as the default means every Level Beast subscriber is calculating VWAP the same way, which makes training, discussion, and trade-plan sharing consistent across the entire community.
Defaulting to Standard Deviation means the bands compress on quiet days and expand on volatile days automatically. A subscriber doesn't need to manually adjust band width based on market conditions. The indicator does it for them. This is the institutional approach built into the default.
A subscriber on a 1-hour chart still gets a utilization reading that refreshes every 5 minutes. They don't have to switch to a 5-minute chart to see it. The 5-minute anchor timeframe default gives them near-real-time range tracking without the processing overhead of a 1-minute anchor. It just works.
Most Level Beast subscribers trade stocks or SPX options. Session Open mode is correct for all of them — zero configuration, automatic resets, clean rails from the start of real data. The Custom Time option exists for the futures traders who need it, but it doesn't clutter the experience for everyone else. The default covers 90% of users perfectly.
Every ATR calculation in the indicator defaults to 14 periods. This is the industry standard. It means when a Level Beast subscriber says "the daily ATR is X," every other subscriber looking at the same instrument sees the same number. Consistency in the data = consistency in the trade plans, the reports, and the community discussion.
By defaulting the manual override to OFF, the envelope width is always driven by the actual daily ATR. It's objective, automatic, and requires no input from the trader. The manual override is there for advanced pre-market planning, but it doesn't interfere unless someone deliberately turns it on. The default keeps the indicator honest and data-driven.
Everything a Level Beast trader needs to read the session — VWAP structure, band positioning, expected range, range utilization, and daily boundaries — is in one overlay. No stacking of three or four separate indicators. No hunting across multiple panels. The entire read is right there. That's the Level Beast philosophy: institutional-level analysis delivered with zero clutter.