FreeIndicators·ThinkorSwim
Volume Zone Oscillator
Volume-weighted momentum to confirm moves.
How to install in ThinkorSwim
- In ThinkorSwim, open a chart, then go to Studies → Edit Studies.
- Click Create, clear the editor, and paste the code.
- 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 type | How you use it | Best timeframe | Notes |
|---|---|---|---|
| Day trader | Time pullback entries within an intraday regime | 5-min – 15-min | Use the +/-15 regime, fade the +/-40 zones |
| Swing trader | Best fit — confirm trend health and catch volume-flow reversals | Daily | Crosses of +/-15 mark regime shifts |
| Position trader | Gauge long-term accumulation vs distribution | Daily / Weekly | Sustained 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
- Define the regime. VZO above +15 = bull regime (favor longs); below -15 = bear regime (favor shorts); between = neutral/chop.
- 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.
- Fade the extremes carefully. +40 = buyers stretched (overbought), -40 = sellers stretched (oversold) — look for exhaustion/reversal, but only counter-trend with confirmation.
- Watch zero crosses. A cross of zero is the first hint volume flow is changing hands; the +/-15 cross confirms the new regime.
- 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)
- Hook: "Is volume pushing this thing up or holding it down? VZO answers."
- How it signs volume by close direction, then smooths it.
- The regime lines: +15 bull, -15 bear, 0 balanced.
- Buy-the-dip in a bull regime: VZO dips toward zero and turns.
- The extremes: +40/-40 stretched, watch for exhaustion.
- Divergences: price up, VZO making lower highs.
- Recap + "import link in description."
Educational analysis, not financial advice.
← Back to all 103 indicators