Charts See the terminal

Klinger Oscillator (KVO)

The gap between a fast and a slow average of volume signed by the direction of typical price, with a signal line, so shifts in volume pressure show up around a zero line.

Live KVO preview · BTC/USDT · Binance

What is KVO?

The Klinger Oscillator gives each bar's volume a sign from the direction of typical price, the average of high, low and close. It then takes a fast and a slow exponential average of that signed volume and plots the difference, with a signal line that is an average of the difference. Because it subtracts one average from another instead of adding everything up, it swings around zero rather than drifting off in one direction.

This is the simplified form of the Klinger Oscillator, built on signed volume. It does not use the more involved volume force formula with trend and range terms. It shows a change in the balance of volume, and it does not predict price.

How to use KVO

  • Above or below zero. Above zero, recent signed volume has been more positive than the longer average; below zero, more negative.
  • Signal line crosses. The oscillator crossing above its signal line means the shift towards positive volume is accelerating; crossing below means it is fading. Crosses are frequent and many are noise.
  • Against price. Price making new highs while the oscillator makes lower highs means the volume behind the move is weakening relative to before.
  • Scale. The values are in volume units, so the size of a reading only means something on the same market and timeframe.

These are ways to read the lines, not entry signals on their own.

Settings

SettingDefaultWhat it changes
Short Length34 Bars in the fast average of signed volume. Lower makes the oscillator more reactive. Minimum 1.
Long Length55 Bars in the slow average of signed volume. The oscillator is fast minus slow, so the gap between the two lengths controls how quickly it swings. Minimum 1.
Signal Length13 Bars in the average of the oscillator used as the signal line. Lower hugs the oscillator more closely. Minimum 1.

Adjust the three lengths in the indicator settings.

Calculation

Each bar's volume is signed by whether typical price (hlc3) rose or fell, then smoothed twice with exponential averages:

signed volume = volume    if hlc3 - previous hlc3 >= 0
              = -volume   otherwise
KVO = EMA(signed volume, 34) - EMA(signed volume, 55)
signal = EMA(KVO, 13)

An unchanged typical price counts as up, so that bar's volume is added rather than subtracted. The very first bar on the chart has no previous typical price to compare with and is signed negative. It is an artefact of the start of the data and fades out of both averages quickly.

Each exponential average starts from the simple average of its first values, so the oscillator appears once the slow average has 55 bars and the signal line 12 bars after that. A dashed line marks zero.

Limitations

  • Direction only. The sign comes from whether typical price rose or fell, not by how much. A tiny rise counts the bar's full volume as positive.
  • It lags. Two layers of averaging, 34 and 55 bars plus a 13-bar signal, mean turns show up late.
  • Many signal crosses. In ranging markets the oscillator and its signal line cross repeatedly without follow-through.
  • Volume quality varies. Crypto volume differs between exchanges and can include wash trading, which feeds straight into the averages.
  • The live candle moves. The current bar's typical price and volume change until it closes, and so can its sign.

Frequently asked questions

The Klinger Oscillator is the difference between a fast and a slow exponential average of volume, where each bar's volume is positive if typical price rose and negative if it fell. A signal line, an average of the oscillator, is drawn with it. It oscillates around zero and is used to see shifts in volume pressure.

Watch which side of zero it is on, how it crosses its signal line, and whether it agrees with price. Above zero and rising means positive volume is building against the longer average. A cross below the signal line means that build-up is slowing. Divergences from price are context, not timing.

Yes. The indicator declares three inputs: Short Length, default 34, Long Length, default 55, and Signal Length, default 13, each with a minimum of 1. Open the indicator's settings on the chart to change them.

No. Altrady Charts uses the simplified form, which signs volume by the change in typical price. The original volume force formula adds trend and range terms that this version does not use, so values will not match an implementation of that formula.

No. Closed bars are not revised. The current bar's values move while that bar is live and settle when it closes. As with any exponential average, loading older history recalculates the starting point, so values near the very start of the loaded range can shift.

Use the Add to chart button at the top of this page. It opens BTC/USDT on Binance in the Altrady Charts terminal with the built-in Klinger Oscillator already applied. On any other market, open the indicator picker on the chart and choose Klinger Oscillator from the Volume group.

Add to chart