Skip to main content
AuctionFoundry
Menu

INDICATOR MANUAL

Anchored VWAP indicator with bandsMulti-Anchor VWAP & Deviation Bands [AFD] · full manual · published to TradingView

Compare price with up to three independently anchored VWAP layers and descriptive deviation envelopes.

84 documented settingsPublished on TradingView · Aug 1, 2026

Start here

What the indicator does, the questions it can help answer, and its fresh-install defaults.

Each layer owns its anchor, price input, color, band multiples, and visibility. Session, Week, Month, Quarter, Year, and Manual timestamp are forward anchors known when they occur.

Prior-session extremes and confirmed swing pivots are retro anchors. Their curve appears only when the historical anchor becomes identifiable, then extends back to that anchor; it draws late rather than moving a curve that was already visible.

Bands can use anchored standard deviation, ATR, percent of VWAP, or standard error. Confluence shading compares the anchored averages themselves—not their deviation bands—and only reports when two enabled averages are within the selected tolerance. It is not a forecast or signal.

Fresh-install defaults9 documented defaults

Swipe or scroll horizontally to see every column.

Multi-Anchor VWAP & Deviation Bands fresh-install defaults
AreaDefaultResult
Layer 1On · Session · Close · yellowDraws a session-anchored VWAP with the manual 1.0× first band.
Layer 2On · Week · Close · cyanAdds a weekly VWAP with the manual 1.0× first band.
Layer 3Off · Month · Close · purpleKeeps the third independent layer configured but hidden.
Bars includedRegular + extended hoursUses every displayed chart bar and labels the ordinary bar set RTH+ETH.
Drawing engineFull history · 1,000-bar draw depthPlots ordinary paths and caps drawn retro or current-window segments.
Band basisStandard deviationMeasures price dispersion around each anchored average.
Lines and fillsDotted · width 1 · fills offDraws the VWAP and band paths without shaded band interiors.
Confluence and labelsConfluence on · 8 points · labels onShades the gap between nearby anchored averages and labels line identity at a 10-bar offset.
Dynamic alertVWAP or band crossMakes confirmed realtime-bar crosses eligible for the script’s alert() call.

How it works

How the indicator turns chart data into the states and drawings you see.

Independent anchor resolution

Every enabled layer resolves its own forward or retro anchor. A newer qualifying anchor starts that layer’s next window without changing the other layers.

Volume weighting and fallback disclosure

Usable volume weights each included bar. A bar with missing or non-positive volume receives a weight of one, and the label discloses whether the window is wholly or partly unweighted.

Four band bases

Standard deviation and standard error use the anchored window; ATR uses the selected chart-bar lookback; percent of VWAP scales from the average itself. A layer’s three multiples can be Manual, Fibonacci inner, or Fibonacci outer.

Retro backfill and draw depth

A prior-session or confirmed-swing anchor is known late. The script draws the catch-up segment from the resolved anchor to confirmation and states when the selected draw depth clipped it.

Bar-set filtering

Regular hours only excludes intraday extended-session bars from the VWAP and changes Session and Prior-session anchor boundaries. Above one day it has no effect and the label says so.

Confluence shading

The optional shade compares enabled anchored averages using ticks, points, currency, or percent of price, then fills the gap between each qualifying pair. It is unavailable in Current window only mode because that mode draws paths instead of exposing the plots required for fill geometry.

Confirmed-bar dynamic alert

On a realtime bar close, the script can compose one alert message naming the layer, anchor, and VWAP or band crossed. Historical crossings do not send that alert.

Output and state reference8 documented states

Swipe or scroll horizontally to see every column.

Multi-Anchor VWAP & Deviation Bands outputs and states
Output or stateWhen it appearsMeaning
LAYER 1 / 2 / 3 VWAPEnabled layer with resolved anchorVolume-weighted average from that layer’s active anchor.
DEVIATION BANDEnabled band with usable basisVWAP plus or minus the selected multiple of the global band basis.
RETROHistorical anchor resolves after its originCatch-up path appears at confirmation and extends back to the anchor.
CONFLUENCE SHADETwo enabled VWAPs fall within toleranceDescriptive proximity between anchored-average contexts.
PRIOR WINDOW VWAPOptional completed prior windowFlat reference at the preceding window’s closing VWAP.
UNWEIGHTEDMissing or non-positive volumeOne or more bars used equal weight instead of volume.
CLIPPEDRequired drawn path exceeds draw depthVisible segment does not reach the resolved anchor.
DYNAMIC ALERTEligible cross on confirmed realtime barMessage names the layer, anchor, and crossed reference.

Settings

The 84-input reference follows the seven indicator settings groups: three layer groups, Engine, Lines & fills, Line labels, and Alerts. Conditional controls remain dimmed until their parent option makes them applicable.

📈 Layer 118 inputs

Swipe or scroll horizontally to see every column.

📈 Layer 1 settings and defaults
SettingControlDefaultChoices, limits & availability
Layer 1 enabledl1EnabledInputToggleOn—
Anchorl1AnchorInputChoice / textSessionSession · Week · Month · Quarter · Year · Manual timestamp · Prior-session high · Prior-session low · Confirmed swing high · Confirmed swing low | Conditional
Source pricel1SourceInputChoice / textCloseHLC3 · Close · HL2 | Conditional
Manual anchor timel1ManualTimeInputDate / timetimestamp("1 Jan 2026 00:00 +0000")Conditional
Swing length (bars)l1SwingLengthInputWhole number10Min 2 · Max 100 | Conditional
Colorl1ColorInputColor#FFEB3BConditional
Override band colorl1BandColorOnInputToggleOffConditional
Band line colorl1BandColorInputColor#FFF59DConditional
Override text colorl1OverrideInputToggleOffConditional
VWAP textl1VwapTextInputColorWhiteConditional
band textl1BandTextInputColorSilverConditional
Band multiplesl1PresetInputChoice / textManualManual · Fibonacci inner · Fibonacci outer | Conditional
Band 1l1Band1OnInputToggleOnConditional
x multiplel1Band1MultInputDecimal1.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 2l1Band2OnInputToggleOffConditional
x multiplel1Band2MultInputDecimal2.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 3l1Band3OnInputToggleOffConditional
x multiplel1Band3MultInputDecimal3.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
📈 Layer 218 inputs

Swipe or scroll horizontally to see every column.

📈 Layer 2 settings and defaults
SettingControlDefaultChoices, limits & availability
Layer 2 enabledl2EnabledInputToggleOn—
Anchorl2AnchorInputChoice / textWeekSession · Week · Month · Quarter · Year · Manual timestamp · Prior-session high · Prior-session low · Confirmed swing high · Confirmed swing low | Conditional
Source pricel2SourceInputChoice / textCloseHLC3 · Close · HL2 | Conditional
Manual anchor timel2ManualTimeInputDate / timetimestamp("1 Jan 2026 00:00 +0000")Conditional
Swing length (bars)l2SwingLengthInputWhole number10Min 2 · Max 100 | Conditional
Colorl2ColorInputColor#00E5FFConditional
Override band colorl2BandColorOnInputToggleOffConditional
Band line colorl2BandColorInputColor#80DEEAConditional
Override text colorl2OverrideInputToggleOffConditional
VWAP textl2VwapTextInputColorWhiteConditional
band textl2BandTextInputColorSilverConditional
Band multiplesl2PresetInputChoice / textManualManual · Fibonacci inner · Fibonacci outer | Conditional
Band 1l2Band1OnInputToggleOnConditional
x multiplel2Band1MultInputDecimal1.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 2l2Band2OnInputToggleOffConditional
x multiplel2Band2MultInputDecimal2.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 3l2Band3OnInputToggleOffConditional
x multiplel2Band3MultInputDecimal3.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
📈 Layer 318 inputs

Swipe or scroll horizontally to see every column.

📈 Layer 3 settings and defaults
SettingControlDefaultChoices, limits & availability
Layer 3 enabledl3EnabledInputToggleOff—
Anchorl3AnchorInputChoice / textMonthSession · Week · Month · Quarter · Year · Manual timestamp · Prior-session high · Prior-session low · Confirmed swing high · Confirmed swing low | Conditional
Source pricel3SourceInputChoice / textCloseHLC3 · Close · HL2 | Conditional
Manual anchor timel3ManualTimeInputDate / timetimestamp("1 Jan 2026 00:00 +0000")Conditional
Swing length (bars)l3SwingLengthInputWhole number10Min 2 · Max 100 | Conditional
Colorl3ColorInputColor#AA00FFConditional
Override band colorl3BandColorOnInputToggleOffConditional
Band line colorl3BandColorInputColor#EA80FCConditional
Override text colorl3OverrideInputToggleOffConditional
VWAP textl3VwapTextInputColorWhiteConditional
band textl3BandTextInputColorSilverConditional
Band multiplesl3PresetInputChoice / textManualManual · Fibonacci inner · Fibonacci outer | Conditional
Band 1l3Band1OnInputToggleOnConditional
x multiplel3Band1MultInputDecimal1.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 2l3Band2OnInputToggleOffConditional
x multiplel3Band2MultInputDecimal2.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
Band 3l3Band3OnInputToggleOffConditional
x multiplel3Band3MultInputDecimal3.0Min 0.0 · Max 10.0 · Step 0.1 | Conditional
⚙️ Engine5 inputs

Swipe or scroll horizontally to see every column.

⚙️ Engine settings and defaults
SettingControlDefaultChoices, limits & availability
Bars includedsessionFilterInputChoice / textRegular + extended hoursRegular + extended hours · Regular hours only
Current window onlycurrentWindowOnlyInputToggleOff—
Draw depth (bars)retroDepthInputWhole number1000Min 50 · Max 5000 · Step 50
Band basisbandBasisInputChoice / textStandard deviationStandard deviation · ATR · Percent of VWAP · Standard error
ATR lengthatrLengthInputWhole number14Min 1 · Max 500 | Conditional
🎨 Lines & fills16 inputs

Swipe or scroll horizontally to see every column.

🎨 Lines & fills settings and defaults
SettingControlDefaultChoices, limits & availability
VWAP linevwapStyleInputChoice / textLineLine · Line with breaks · Step line · Step line with diamonds · Circles · Cross
dashvwapDashInputChoice / textDottedSolid · Dashed · Dotted | Conditional
widthvwapWidthInputWhole number1Min 1 · Max 10
Band linesbandStyleInputChoice / textLineLine · Line with breaks · Step line · Step line with diamonds · Circles · Cross
dashbandDashInputChoice / textDottedSolid · Dashed · Dotted | Conditional
widthbandWidthInputWhole number1Min 1 · Max 10
Band transparencybandTranspInputWhole number55Min 0 · Max 100
Fill inside band 1fillBand1InputToggleOffConditional
band 1 to 2fill1To2InputToggleOffConditional
band 2 to 3fill2To3InputToggleOffConditional
Fill transparencyfillTranspInputWhole number85Min 0 · Max 100 | Conditional
Prior window's closing VWAPshowPriorInputToggleOffConditional
Shade layer confluenceshowConfluenceInputToggleOnConditional
withinconfluenceTolInputDecimal8.0Min 0.01 · Max 1000.0 · Step 0.1 | Conditional
confluenceUnitInputconfluenceUnitInputChoice / textPointsTicks · Points · Currency · Percent of price | Conditional
shadeconfluenceColorInputColor#FFFFFF · 82% transparentConditional
🏷️ Line labels8 inputs

Swipe or scroll horizontally to see every column.

🏷️ Line labels settings and defaults
SettingControlDefaultChoices, limits & availability
Label the linesshowLabelsInputToggleOn—
PlacementlabelPlacementInputChoice / textOn the lineOn the line · Above the line · Below the line | Conditional
Offset (bars)labelOffsetInputWhole number10Min 0 · Max 500 | Conditional
Show anchorlabelShowAnchorInputToggleOffConditional
Show deviation bandlabelShowBandInputToggleOnConditional
Show pricelabelShowPriceInputToggleOffConditional
Show bar setlabelShowBarSetInputToggleOnConditional
Show change vs prior windowlabelShowPriorInputToggleOffConditional
🔔 Alerts1 input

Swipe or scroll horizontally to see every column.

🔔 Alerts settings and defaults
SettingControlDefaultChoices, limits & availability
Alert onalertModeInputChoice / textVWAP or band crossVWAP or band cross · VWAP cross · Band cross · Off

Alerts and limitations

What can notify you, what can change the output, and what the indicator cannot establish.

Alerts

Limits to keep visible

  • Retro anchors are delayed by definition. A prior-session extreme or confirmed swing cannot be identified at its origin in realtime.
  • Draw depth can clip a long retro catch-up or Current window only curve; the label discloses the clip instead of silently presenting it as complete.
  • Regular hours only depends on the chart and exchange session model. It does nothing above one day and may not represent the session convention a trader intends.
  • Missing or non-positive volume falls back per bar to equal weight. The result is then not wholly volume-weighted and is labeled accordingly.
  • ATR bands use every chart bar even when Regular hours only excludes some bars from the VWAP. The two calculations can therefore use different bar sets.
  • Standard-error bands use a plain included-bar count, not a volume-weighted effective sample size. Their width is descriptive and does not establish confidence or probability.
  • Current window only disables fills, prior-window VWAP, and confluence shading because those features require plotted rather than drawn paths.
  • Dynamic alerts use the inputs captured when the TradingView alert is created. Recreate the alert after changing its settings.

Troubleshooting

Start with what you see on the chart. Each answer explains the likely cause and the first setting, timeframe, or data condition to check.

Why did a VWAP curve suddenly fill in older bars?

That layer uses an anchor the script can identify only after a prior-session extreme or swing is confirmed. Once confirmed, it draws the missing history back to the anchor. Use a session, calendar, or manual-time anchor if you need the line to begin without that confirmation delay.

Why does the label say unweighted?

At least one included bar had missing or non-positive volume, so the script gave that bar equal weight instead. Check whether the symbol and feed provide reliable volume. The label warns that the curve is not fully volume-weighted.

Why did the confluence shading disappear?

Current window only mode turns confluence shading off. Shading also disappears when the enabled anchored averages move farther apart than your tolerance. Check that mode first, then compare the distance with the Confluence tolerance.

Why does Regular hours only seem to do nothing?

The filter matters on intraday charts that contain separate regular- and extended-hours bars. It has no effect above one day and may look unchanged on feeds without extended hours. Test it on an intraday chart with extended hours visible.

Why can’t I find a named VWAP alert condition?

This indicator sends one dynamic alert rather than separate named conditions. In TradingView, choose Any alert() function call and set Alert on to VWAP cross, Band cross, or both before creating the alert.

Risk disclosure

Auction Foundry LLC provides educational charting tools and general market commentary only. This is not investment, financial, legal or tax advice, and nothing here is a recommendation, offer or solicitation to buy or sell any instrument. Auction Foundry is not registered with the SEC as an investment adviser, nor with the CFTC as a commodity trading advisor, and is not an NFA member.

Trading involves risk, including loss of principal. Losses can exceed a modeled stop and, for leveraged or margin products, can exceed the amount initially deposited or invested. Indicators can be wrong, delayed or unsuitable for your circumstances, and past or hypothetical results do not predict future results. Free access does not change any of this. Consider your objectives and consult a licensed professional before acting. Using these tools does not create an advisory or brokerage relationship.

Auction Foundry LLC is an independent publisher and is not affiliated with, endorsed by, or sponsored by TradingView, Inc. “TradingView” is a trademark of TradingView, Inc., used here only to identify the platform our scripts are published on. Scripts are published to TradingView as a community author on the same terms as any other author.

Read the full Risk Disclosure for the dated, versioned document this summarizes.