Percentage Volume Oscillator (PVO)
The Percentage Volume Oscillator (PVO) is a momentum indicator for volume. It measures the relative difference between two volume-based moving averages. Similar to the MACD and PPO indicators, the PVO consists of three components: the main oscillator, a smoothed signal line, and a histogram line that represents the difference between those values.
The PVO closely resembles the PPO. Both indicators measure the difference between two moving averages as a percentage of the slower moving average, offering a relative scale for comparing momentum values across history or across instruments. However, while the PPO measures the relative momentum of price, the PVO measures the relative momentum of volume.
Traders often analyze the PVO along with price action and price momentum indicators to identify high- and low-volume movements, and to help confirm breakouts or other signals based on relative volume changes.
Calculation

At its core, the Percentage Volume Oscillator uses the same formula as the PPO. The only difference in the PVO's formula is that it calculates moving averages of volume instead of price values. The calculation is as follows:
PVO = (Fast Volume MA − Slow Volume MA) / Slow Volume MA × 100Signal = Moving average of PVOHistogram = PVO − SignalWhere:
- Fast Volume MA is the volume-based moving average with the lowest length
- Slow Volume MA is the volume-based moving average with the highest length
The indicator plots the PVO and signal values as lines, and the histogram values as color-coded columns. It also displays a horizontal zero line to distinguish positive and negative values.
Because the PVO measures the momentum of volume instead of prices, its interpretation differs from that of the PPO or MACD:
- A PVO value above 0 means that the fast MA of volume is greater than the slow MA, indicating above-average volume or market participation. A PVO value below 0 means the opposite.
- A histogram value above 0, or the PVO moving above the signal line, suggests that the short-term average volume is increasing. A histogram value below 0, or the PVO moving below the signal line, suggests the opposite.
Inputs

Fast length
The length value for the fast moving average.
Slow length
The length value for the slow moving average.
Signal length
The length value for the moving average of the PVO (signal line).
Oscillator MA type
Specifies the type for the fast and slow averages in the PVO calculation. Select "EMA" to use two exponential moving averages, or "SMA" to use simple moving averages instead.
Signal MA type
Specifies which type of moving average the indicator applies to the PVO to calculate the signal line. Select "EMA" for an exponential moving average, or "SMA" for a simple moving average.
Timeframe
Sets the timeframe that the indicator uses for its calculations. The "Wait for timeframe closes" checkbox below determines whether the indicator shows results only when a bar on the specified timeframe closes. See the Leveraging multi-timeframe analysis article to learn more.