# Volume Zone Oscillator

Volume Zone Oscillator is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Implements Khalil and Steckler's Volume Zone Oscillator: a 14-period EMA of close-signed volume divided by an EMA of total volume, bounded between -100 and +100. The published zone framework is drawn in the pane (regime boundaries at +5 and -5, overbought and oversold at 40 and -40, extremes at 60 and -60), with eight alerts covering regime starts, zone entries, and fades.

- Indicator in the LuxAlgo Library, by LuxAlgo, published May 21, 2026.
- Access: free.
- Concepts: [Volume Zone Oscillator](https://www.luxalgo.com/library/concept/volume-zone-oscillator/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=bzabgqk6iz7j9pmkvsuvhfig
- Page: https://www.luxalgo.com/library/indicator/volume-zone-oscillator/

**Volume Zone Oscillator** is the definitive clean build of Khalil and Steckler's bounded volume gauge. Per the [Volume Zone Oscillator](https://www.luxalgo.com/library/concept/volume-zone-oscillator/) construction, each bar's full volume is credited to buyers on up closes and sellers on down closes, and a 14-period EMA of that signed series is divided by a 14-period EMA of total volume, times 100, bounding the reading between -100 and +100. The line prints bullish above zero and bearish below with a gradient fill, against the complete published level framework: regime boundaries at ±5, overbought/oversold at ±40, extremes at ±60.

## How to Trade the Volume Zone Oscillator?

- **VZO holding above the Bullish Regime level (+5)**: turnover concentrating on up closes, a buyer-controlled tape.
- **VZO holding below the Bearish Regime level (-5)**: sellers control the volume flow; between the two is neutral churn.
- **Visits beyond ±40**: stretched volume pressure that tends to fade in ranging markets. The fade back through the level has its own alerts.
- **Readings beyond ±60**: volume flow this one-sided is rarely sustained and often precedes exhaustion of the move that produced it.

Eight alert conditions cover regime starts, overbought/oversold entries, the fades back out, and both extremes.

## Volume Zone Oscillator Settings

- **Length** (default 14): EMA length for both signed and total volume; longer favors the regime-filter read, shorter makes overbought/oversold visits more frequent.
- **Bullish Regime** (default 5) and **Bearish Regime** (default -5): the boundaries around zero separating controlled tape from churn.
- **Overbought** (default 40) and **Oversold** (default -40): the stretch levels, most meaningful in ranges.
- **Extreme Overbought** (default 60) and **Extreme Oversold** (default -60): the exhaustion watch levels.
- Style inputs set the colors of the oscillator, regime lines, level lines, and zero line.

## Frequently Asked Questions

### How does VZO relate to the Price Zone Oscillator?

The [Price Zone Oscillator](https://www.luxalgo.com/library/indicator/price-zone-oscillator/) applies the same signed-EMA ratio to closing price instead of volume. The two were introduced as companions. Reading them together asks whether price direction and volume concentration agree.

### Why is the oscillator pinned beyond an extreme?

A persistent trend keeps close-signed volume one-sided, and bounded oscillators can sit past their levels for long stretches. The ±40 read is a ranging-market tool; in trends, lean on the regime levels.

### What if my symbol has no volume data?

The build detects a chart with zero cumulative volume and displays a notice instead of a flat line. The oscillator requires a volume feed to mean anything.

## Related indicators

- [Oscillator Matrix](https://www.luxalgo.com/library/indicator/luxalgo-oscillator-matrix/) (Money Flow Index): markdown at https://www.luxalgo.com/library/indicator/luxalgo-oscillator-matrix.md
- [LuxAlgo - Screener (OSC)](https://www.luxalgo.com/library/indicator/luxalgo-screener-osc/) (Money Flow Index): markdown at https://www.luxalgo.com/library/indicator/luxalgo-screener-osc.md
- [Delta ZigZag](https://www.luxalgo.com/library/indicator/delta-zigzag/) (Weis Wave Volume): markdown at https://www.luxalgo.com/library/indicator/delta-zigzag.md
- [Price Zone Oscillator](https://www.luxalgo.com/library/indicator/price-zone-oscillator/) (Volume & Order Flow): markdown at https://www.luxalgo.com/library/indicator/price-zone-oscillator.md
- [OBV Divergence](https://www.luxalgo.com/library/indicator/obv-divergence/) (Volume & Order Flow): markdown at https://www.luxalgo.com/library/indicator/obv-divergence.md
- [Smart Money Index](https://www.luxalgo.com/library/indicator/smart-money-index/) (Volume & Order Flow): markdown at https://www.luxalgo.com/library/indicator/smart-money-index.md
- [Trade Volume Index](https://www.luxalgo.com/library/indicator/trade-volume-index/) (Volume & Order Flow): markdown at https://www.luxalgo.com/library/indicator/trade-volume-index.md
- [Volume Flow Indicator](https://www.luxalgo.com/library/indicator/volume-flow-indicator/) (Volume & Order Flow): markdown at https://www.luxalgo.com/library/indicator/volume-flow-indicator.md

---

Source: https://www.luxalgo.com/library/indicator/volume-zone-oscillator/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
