What Is the Klinger Oscillator?

The Klinger oscillator was developed by Stephen Klinger to determine the long-term trend of money flow while remaining sensitive enough to detect short-term fluctuations. The indicator compares the volume flowing through a security with the security's price movements and then converts the result into an oscillator. The Klinger oscillator shows the difference between two moving averages which are based on more than price. Traders watch for divergence on the indicator to signal potential price reversals. Like other oscillators, a signal line can be added to provide additional trade signals.

Klinger Oscillator

Key Takeaways

  • The Klinger oscillator is based on a complex formula which is then averaged over a shorter exponential moving average (EMA) and a longer EMA. When the shorter EMA is above the longer EMA, the oscillator is above zero. When the shorter EMA is below the longer EMA the oscillator will be below zero.
  • Common EMA lengths are 34 and 55. If a signal line is applied, it is typically a 13-period EMA of the Klinger oscillator.
  • Signal line crossovers and divergence are two of the main ways to use to the Klinger oscillator.

Formula for the Klinger Oscillator

Klinger Oscillator=34 Period EMA of VF55 Period EMA of VFwhere:Volume Force (VF)=Volume[2(dmcm1)]Trend100Trend=+1 if (high+low+close)>(high1+low1+close1)Trend=1 if above is < or =dm=highlowcm=cm1+dm if Trend=Trend1cm=dm1+dm if TrendTrend1\begin{aligned} &Klinger~Oscillator=34~Period~EMA~of~VF - 55~Period~EMA~of~VF\\ &\textbf{where:}\\ &Volume~Force~(VF)=Volume*[2*(\frac{dm}{cm}-1)]*Trend*100\\ &Trend=+1~if~(high+low+close)>(high_{-1}+low_{-1}+close_{-1})\\ &Trend=-1~if~above~is~<~or~=\\ &dm=high-low\\ &cm=cm_{-1}+dm~if~Trend=Trend_{-1}\\ &cm=dm_{-1}+dm~if~Trend \neq Trend_{-1}\\ \end{aligned}Klinger Oscillator=34 Period EMA of VF55 Period EMA of VFwhere:Volume Force (VF)=Volume[2(cmdm1)]Trend100Trend=+1 if (high+low+close)>(high1+low1+close1)Trend=1 if above is < or =dm=highlowcm=cm1+dm if Trend=Trend1cm=dm1+dm if TrendTrend1

Calculating the Klinger Oscillator

  • Note volume for the period, as well as the high, low and close prices.
  • Compare this to the prior period to determine if Trend is positive to negative.
  • Calculate dm using the current period's high and low.
  • Calculate cm using dm and the prior cm value. For the first calculation use dm in place of the prior cm value if necessary.
  • Calculate for volume force (VF).
  • Calculate the 34- and 55-period EMAs of VF.
  • Klinger used the following formula for the EMA:

EMA=(CA)+(EB)where:C=current period’s VFA=2/(X+1), where X is the moving average period (34 or 55)E=prior period’s EMA\begin{aligned} &EMA = (C * A) + (E * B)\\ &\textbf{where:}\\ &C=\text{current period's VF}\\ &A = 2/(X+1)\text{, where }X\text{ is the moving average period (34 or 55)}\\ &E = \text{prior period's }EMA\\ &B=1-A \end{aligned}EMA=(CA)+(EB)where:C=current period’s VFA=2/(X+1), where X is the moving average period (34 or 55)E=prior period’s EMA


The Klinger Oscillator is fairly complex to calculate, but it's based on the idea of force volume, which accounts for volume, trend (positive or negative), and temp (based on multiple inputs and if/then statements). Using this data, the oscillator is created by looking at the difference between two exponential moving averages of force volume involving different time frames (typically 34 and 55). The idea is to show how the volume flowing through a security is impacting its long-term and short-term price direction.

A signal line (13-period moving average) is used to trigger buy or sell signals. This technique is very similar to signals that are created with other indicators such as the moving average convergence divergence (MACD). While these are the basic signals generated by these indicators, it's important to note that these techniques may generate a lot of trading signals that may not be as effective in sideways markets.

When an asset is in an overall uptrend—such as when it is above its 100-period moving average and the Klinger is above zero or moving above zero—traders could buy when the Klinger oscillator moves above the signal line from below.

Klinger noted that when a stock was in an uptrend, and then dropped to unusually low levels below zero, and then moved above its signal line, this was a favorable long position to take.

When an asset is in an overall downtrend, traders could sell or short-sell when the Klinger oscillator moves below the signal line from above. Klinger noted this was especially noteworthy when the indicator had seen an uncharacteristic spike above zero.

The zero line is also used by some traders to mark the transition from uptrend to downtrend, or vice versa. While such signals won't always agree with price movements, a move above zero helps confirm a rising price, while a drop below zero helps confirm a falling price.

The Klinger oscillator also uses divergence to identify when the indicator's inputs are not confirming the direction of the price move. It's a bullish sign when the value of the indicator is heading upward while the price of the security continues to fall. It is a bearish signal when the price is rising but the indicator is falling. Divergence can be coupled with signal line crossovers to generate trades. For example, if a bearish divergence forms, a sell or short-sell could be initiated the next time the Klinger crosses below the signal line.

Traders will use tools such as trendlines, moving averages, and other indicators to confirm trade signals. In addition, traders may use the oscillator in conjunction with chart patterns, such as price channels or triangles, as a way to confirm a breakout or breakdown. Crossovers occur frequently, as do divergences, so the indicator is best used in conjunction with these other technical trading methods.


The following chart shows an example of the Klinger Oscillator on the SPDR S&P 500 ETF (SPY).

Klinger Oscillator Chart Example

In the above chart, the Klinger Oscillator appears below the price chart and consists of the reading and the signal line. In late-January, the crossover of the Klinger Oscillator below the signal line would have created a timely sell signal that would have enabled traders to exit near the peak of the rally.

A strong bullish divergence also pointed to an eventual price rise. In April the price dropped back toward the February low, yet the Klinger made a significantly higher low and continued to rise, indicating a build up in buying pressure. While the overall direction of the Klinger, and the divergence, was helpful in this case, crossover signals were frequent and of little use.

Comparison to On Balance Volume

The Klinger oscillator uses price and volume to create two EMAs. The indicator then shows the difference between these two EMAs. A signal line is then added to provide additional trade signals. On Balance Volume is simpler in that it is a running total of positive or negative volume. Positive volume is added to the running total if the current close is above the prior close, or volume is subtracted from the running total if the current close is below the prior close.


Crossovers and divergence, the two main functions of the oscillator, are prone to providing many false signals.

Signal line crossovers are so frequent that it is hard to filter out which ones are worth trading and which ones aren't. Zero line crossovers also have issues, as the indicator may criss-cross the zero line multiple times before moving in a sustained direction, or the indicator may fail to move with the price resulting in a missed trading opportunity.

Divergence can be useful, but often occurs too early, resulting in the trader missing a large chunk of the trend, or the divergence fails to result in a price reversal at all. Also, divergence is not present at all price reversals, so it is not a reliable tool for spotting all possible price reversals.

Use the Klinger oscillator only in conjunction with other technical indicators or price action analysis.