Anchored VWAP (swing high) Indicator: Formula, Settings and How to Read It
Anchored VWAP (swing high) accumulates a volume-weighted average price starting from the bar that made the highest high within a lookback window. It gives the average price paid by everyone who has traded since that peak.
Senzoukria · Indicators · Updated September 2026
Anchored VWAP (swing high) ships with the Senzoukria desktop app, in the VWAP & bands group of the indicator catalogue. It is drawn on the price chart.
What Anchored VWAP (swing high) measures
The anchor is the bar carrying the highest high of the last N bars; when several bars share that high, the most recent one wins, so the line starts at the latest retest of the level. From the anchor onward the indicator sums typical price times bar volume and divides by accumulated volume, using the same typical-price convention as the other VWAPs. Nothing is drawn before the anchor, because the anchor is where the calculation begins rather than a point applied retroactively, and nothing is drawn while accumulated volume is still zero. The line does not reset at session boundaries: crossing sessions is precisely what distinguishes an anchored VWAP from a session VWAP.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
VWAP ancré à un extrême de swing — moteur commun aux deux défs. ancre = barre du plus haut (`high`) / plus bas (`low`) des N dernières barres ; égalité → DERNIÈRE occurrence (le retest le plus récent, même règle que `lastSwingLeg`) ; VWAP[i] = Σ_{j=ancre..i} tp_j·vol_j / Σ vol_j, tp = (H+L+C)/3 (`typicalPrice` — la convention VWAP du repo). Avant l'ancre → null (l'ancre est le début du calcul, pas un point de départ rétroactif). Σvolume encore nul → null (0/0 n'est pas un prix). Moins de N barres chargées → RIEN : « l'extrême des 200 dernières barres » n'est pas « l'extrême des 40 barres chargées » (règle du catalogue). PAS de reset de session : un VWAP ancré traverse les sessions par définition — c'est ce qui le distingue de `session-vwap-bands`. */ function anchoredSwingVwap( bars: readonly FootprintBar[], lookback: number, pick: "high" | "low", ): Array<number | null> { const n = Math.max(1, Math.floor(lookback)); const out: Array<number | null> = new Array(bars.length).fill(null); if (bars.length < n) return out; const start = bars.length - n; let anchor = start; let best = pick === "high" ? bars[start].high : bars[start].low; for (let i = start; i < bars.length; i++) { const v = pick === "high" ? bars[i].high : bars[i].low; if (pick === "high" ? v >= best : v <= best) { best = v; anchor = i; } } let pv = 0; let vol = 0; for (let i = anchor; i < bars.length; i++) { const w = bars[i].totalVolume; if (w > 0) { pv += typicalPrice(bars[i]) * w; vol += w; } out[i] = vol > 0 ? pv / vol : null; } return out; } /** VWAP ancré au PLUS HAUT des N dernières barres (cf. `anchoredSwingVwap` pour la formule, l'égalité d'extrêmes et les dégradations). Lecture : au-dessus de cette ligne, les acheteurs entrés depuis le sommet sont en gain moyen. Défaut N=200.
How to read it
- Above the line, buyers who entered after the high are on average holding a position at a better price than the current quote; below it, the reverse. It is a statement about average cost, not about what anyone will do next.
- The line falls away from the anchor as trade accumulates below the high, and its slope flattens as more volume builds up — late volume moves it less than early volume.
- Price approaching the line from below after an extended decline is approaching the average entry of everyone who bought since the peak. Whether anything happens there is visible in the footprint, not in the line.
- Because the line runs through overnight sessions, it carries information no session-anchored average has: it survives the reset.
- If the line disappears, check the bar count: with fewer than N bars loaded, the indicator draws nothing rather than anchoring to the wrong extreme.
Parameters and defaults
Lookback defaults to 200 bars and accepts 2 to 5000. It controls only where the anchor is looked for: a short lookback re-anchors often and follows local peaks, while a long one holds onto a significant high for much longer. Color is cosmetic.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Lookback | number | 200 | 2 – 5000 |
What it does not show
The anchor is not fixed — the moment a new high prints inside the window, the anchor jumps and the entire line is recomputed, so a line that looked stable can be replaced in one bar. If fewer than N bars are loaded the indicator produces nothing at all, because the highest high of the 40 bars you have is not the highest high of the 200 you asked for. The calculation uses total bar volume and never separates buyer-initiated from seller-initiated trade, so it describes average cost and not pressure. It also depends on volume from your market data feed, billed by the provider separately from the application.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Rolling VWAP — VWAP & bands
- Session VWAP + σ bands — VWAP & bands
- Anchored VWAP (session open) — VWAP & bands
- Anchored VWAP — VWAP & bands
- Fibonacci Pivots — VWAP & bands
- Woodie Pivots — VWAP & bands
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What does an anchored VWAP from the swing high show?
- It shows the volume-weighted average price of all trade since the highest bar in the lookback window. Read simply, it is the average entry price of participants who traded after the peak. Price trading above it means that population is, on average, better positioned than the current quote.
- What happens to the line when a new high is made?
- The anchor moves to the new highest bar and the whole series is recalculated from there, so the previous line is replaced rather than continued. On tied highs the most recent bar is used as the anchor. A longer lookback reduces how often this happens but does not prevent it.
- Does anchored VWAP from the high reset at the session open?
- No. An anchored VWAP crosses session boundaries by definition — that is what separates it from a session VWAP, which restarts at every open. The only thing that restarts this line is a change of anchor caused by a new extreme inside the lookback.