OPEN-SOURCE SCRIPT

Volume Zone Oscillator and Price Zone (VZO/PZO) [NeoButane]

Updated
"Volume Precedes Price is the conceptual idea for the oscillator."

"The main idea of the VZO was to try to change the OBV to look like an oscillator rather than an indicator, also to include time; primarily to identify which zone the volume is located in during a specific period[.]"

How to read this indicator:
  • Positive reading -> bullish
  • Negative reading -> bearish
  • -60 or 60 is seen as the limit of the oscillator range, and a pullback should be expected from there.
  • Plus and minus signs have been added to the top and bottom for VZO and PZO, with an adjustable threshold to trigger.


Alert conditions have been added to this indicator for ease of use.

Volume Zone Oscillator, write-up by the author (recommended reading)
http:capitalsynergy.com/resources/IFTA09VZO.pdf

Volume Zone Oscillator, uses and formula
https:investopedia.com/articles/active-trading/072815/how-interpret-volume-zone-oscillator.asp

Price Zone Oscillator, uses and formula
https:investopedia.com/terms/p/price-zone-oscillator.asp
Release Notes
- Option to change the overly bright background fill (to light, dark or none)
- Option to completely remove rows
Release Notes
> -> >=
Release Notes
Update notes:
-Added changeable source (where previously close was the only option)
-Removed PZO label alerts
-Moved VZO label alerts to the bottom of the indicator for visibility
-Changed + to mean oversold and - to mean overbought
-Removed 100/-100 levels
-Colors are mildly different


snapshot
The reason for adding a changeable source is that a daily close that is positive vs. negative doesn't paint the price action that played out intraday. While not perfect, hl2 and hlc3 as a source seem to do a much better job; however, since nobody uses VZO with hl2 as source it would be wise to either check both sources or only use close to understand what other people are seeing.
Release Notes
- Consolidated label/alarm threshold triggers
- Clarified names of the alarms; you should more often than not be looking to use "VZO Overbought" or "VZO Oversold"
Release Notes

- Now with a RSI normalized to (100) - 100.

- +/- signs removed in favor of highlights. If you prefer the older version, it's located within the script.
Release Notes
Version 2.1
- Added a moving average filter to price source. Its usage is mainly for lower timeframes where VZO jitters too much to be useful.

Possible values are none (default), Hull, exponential, and simple. There is an option to change its length. Keep in mind that longer values mean it is a smoother average but introduces heavy lag into the oscillator.

If you do decide to use a MA filter, it would be wise to stick to the same MA type and length. Cases where you would want to use different types are on different timeframes and different categories of trade.

- Removed RSI oscillator
boo this
Centered OscillatorsMoving AveragesneobutanepzosmaVolumevzozone

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


My published indicators: tradingview.com/u/NeoButane/

Sorry if I haven't replied to your message yet, I'm a bit backlogged :)
Also on:

Disclaimer