FOUNDING ACCESS IS FULL·Founder onboarding is closed.Get launch updates →
← All indicators
FreeIndicators·ThinkorSwim

Volume Zone Oscillator

Volume-weighted momentum to confirm moves.

How to install in ThinkorSwim

  1. In ThinkorSwim, open a chart, then go to Studies → Edit Studies.
  2. Click Create, clear the editor, and paste the code.
  3. Name it, click Apply, then OK, and it draws on your chart.

How to Use — WeTradePro Volume Zone Oscillator (VZO)

Measures whether volume is flowing into up-bars or down-bars, on a clean +/- scale with overbought/oversold zones. Educational, not advice.

What it is (one line)

An oscillator that signs each bar's volume by its close direction, smooths it, and divides by smoothed total volume — positive means buyers are doing the heavy lifting, negative means sellers, with zones for overbought/oversold and bull/bear regimes.

Who it's for & best timeframe

Trader typeHow you use itBest timeframeNotes
Day traderTime pullback entries within an intraday regime5-min – 15-minUse the +/-15 regime, fade the +/-40 zones
Swing traderBest fit — confirm trend health and catch volume-flow reversalsDailyCrosses of +/-15 mark regime shifts
Position traderGauge long-term accumulation vs distributionDaily / WeeklySustained positive VZO = healthy uptrend

Best overall: Daily chart for swing trading. The +15 / -15 lines define the regime; the +40 / -40 zones flag when a move is stretched and ripe for a pause or pullback.

What you see (lower panel)

  • VZO line (color-coded): red in the overbought zone, green in oversold, light green in bull regime, pink in bear regime, gray when balanced.
  • Dashed guides: +40/-40 (overbought/oversold), +15/-15 (bull/bear regime), and the zero line (buyers/sellers balanced).
  • Labels: the VZO value and the current regime/zone.

How to use it

  1. Define the regime. VZO above +15 = bull regime (favor longs); below -15 = bear regime (favor shorts); between = neutral/chop.
  2. Trade pullbacks with the regime. In a bull regime, a dip in VZO back toward zero that turns up = a buy-the-dip signal *with* volume flow.
  3. Fade the extremes carefully. +40 = buyers stretched (overbought), -40 = sellers stretched (oversold) — look for exhaustion/reversal, but only counter-trend with confirmation.
  4. Watch zero crosses. A cross of zero is the first hint volume flow is changing hands; the +/-15 cross confirms the new regime.
  5. Hunt divergences. Price new high, VZO lower high = buying conviction fading.

Settings (inputs)

  • length (14) — EMA length for both signed and total volume. Shorter = faster/noisier.
  • obLevel / osLevel (40 / -40) — overbought / oversold zones.
  • bullLevel / bearLevel (15 / -15) — regime boundaries.

Best on

  • Liquid, trending stocks and ETFs. Works on any symbol since it uses the chart's own volume. Cleanest on names with steady volume; choppy on erratic small-caps.

Common mistakes

  • Shorting just because VZO hit +40 — overbought can stay overbought in a strong trend; need price confirmation.
  • Ignoring the regime — taking longs while VZO is in bear regime fights the volume flow.
  • Too-short `length` — whipsaws across the zones. 14 is a balanced default.
  • Using it as a standalone buy/sell trigger — it's a flow/conviction gauge, best paired with price structure.

Video script outline (for your WeTradePro tutorial)

  1. Hook: "Is volume pushing this thing up or holding it down? VZO answers."
  2. How it signs volume by close direction, then smooths it.
  3. The regime lines: +15 bull, -15 bear, 0 balanced.
  4. Buy-the-dip in a bull regime: VZO dips toward zero and turns.
  5. The extremes: +40/-40 stretched, watch for exhaustion.
  6. Divergences: price up, VZO making lower highs.
  7. Recap + "import link in description."

Educational analysis, not financial advice.

← Back to all 103 indicators