Price tells you where a stock went. Volume tells you how hard the market pushed to get it there. The Klinger oscillator tries to put both into one line, so you can see whether the force behind a move is building or quietly draining away. We like it for one reason above all: it often flags a tired trend before the price chart makes it obvious.
This guide walks through how the indicator is built, what the numbers inside it actually do, how to read it on an Indian stock, and where it lets you down. There are worked examples with simple arithmetic you can check yourself on a calculator.
In this article
- What the Klinger oscillator measures
- How the Klinger oscillator formula works
- Worked example 1: trend, dm and cm on a few bars
- Worked example 2: why the two EMAs create the signal
- Reading the Klinger oscillator on a chart
- Worked example 3: turning a Klinger signal into a trade plan
- Where the Klinger oscillator struggles
- Settings and practical tips
- A quick checklist before you act on a Klinger signal
What the Klinger oscillator measures
Stephen Klinger developed the indicator to track the long-term flow of money into and out of a security while still reacting to short-term swings in volume, as the Wikipedia entry on volume analysis summarises. Many charting platforms list it as the Klinger Volume Oscillator, or KVO.
The core idea is something Klinger called volume force. Every bar gets a volume force value that combines three things: how much traded, which way the bar’s overall price level moved, and how wide the bar’s range was relative to the recent run of bars in the same direction. The oscillator itself is simply the gap between a faster and a slower average of that volume force.
If you’ve used the accumulation/distribution line or the money flow index, you’re already in the same family. The Klinger version is different because it compares two averages of its volume measure, which makes it behave more like an oscillator that swings around zero than a running total that drifts.
How the Klinger oscillator formula works
TradingView’s help page on the Klinger oscillator lays out the calculation in these steps:
- Trend (T): add the high, low and close of today’s bar. If that sum is greater than yesterday’s high + low + close, the trend is +1. If it is lower or equal, the trend is -1.
- dm: today’s high minus today’s low. Plain bar range.
- cm: a cumulative range. If today’s trend matches yesterday’s, cm is yesterday’s cm plus today’s dm. If the trend flipped, cm restarts as yesterday’s dm plus today’s dm.
- Volume force (VF): V × [2 × ((dm/cm) − 1)] × T × 100, where V is the bar’s volume.
- Klinger oscillator (KO): the 34-period EMA of VF minus the 55-period EMA of VF.
- Signal line: a 13-period moving average of KO, used for crossover signals.
The EMA in Klinger’s method uses the familiar smoothing weight of 2 / (period + 1). So the 34-period average gives the newest value a weight of 2/35, and the 55-period average gives it 2/56.
One honest caveat. Different platforms code the volume force step slightly differently, so the raw values you see on two terminals for the same stock may not match. That matters less than it sounds. What you trade off is direction, crossovers and divergence, not the absolute number.
Worked example 1: trend, dm and cm on a few bars
Let’s take a hypothetical stock. These are made-up prices for practice, not real market data.
| Day | High (₹) | Low (₹) | Close (₹) | H+L+C | Trend | dm | cm | dm/cm |
|---|---|---|---|---|---|---|---|---|
| 1 | 512 | 500 | 508 | 1,520 | – | 12 | – | – |
| 2 | 518 | 506 | 515 | 1,539 | +1 | 12 | 12 (seed) | 1.00 |
| 3 | 521 | 511 | 519 | 1,551 | +1 | 10 | 22 | 0.45 |
| 4 | 520 | 507 | 509 | 1,536 | −1 | 13 | 23 | 0.57 |
| 5 | 514 | 503 | 506 | 1,523 | −1 | 11 | 34 | 0.32 |
Walk through it slowly. Day 2’s sum of 1,539 beats Day 1’s 1,520, so the trend is +1. There’s no earlier cm, and TradingView’s guide says you can use dm in place of the previous cm for the first calculation, so we seed cm at 12.
Day 3 is still an up bar (1,551 against 1,539). Trend unchanged, so cm keeps adding: 12 + 10 = 22. Day 4 flips. The sum falls to 1,536, the trend turns -1, and cm restarts as yesterday’s dm plus today’s: 10 + 13 = 23. Day 5 stays down, so cm accumulates again to 23 + 11 = 34.
Notice what dm/cm does. As a run of same-direction bars gets longer, cm grows and the ratio shrinks. That ratio is the piece of the formula that adjusts each bar’s volume for where it sits inside the current swing. Then volume and the trend sign get multiplied in to produce volume force for that bar.
A rising stock with a falling Klinger line is a stock where each new high is being bought with less conviction. That is the warning most traders miss.
Worked example 2: why the two EMAs create the signal
Now the averaging. Again, hypothetical numbers. Say yesterday the 34-period EMA of volume force stood at 1,20,000 and the 55-period EMA at 1,50,000. Today a heavy up day prints a volume force of 4,50,000.
- New 34-EMA = (4,50,000 × 2/35) + (1,20,000 × 33/35) = about 1,38,857.
- New 55-EMA = (4,50,000 × 2/56) + (1,50,000 × 54/56) = about 1,60,714.
- KO = 1,38,857 − 1,60,714 = about −21,857.
The faster average moved up by roughly 18,857 while the slower one moved up by roughly 10,714. One strong session narrowed the gap, but it didn’t flip the oscillator positive. That’s the design working as intended. A single big-volume bar nudges the line; it takes a sustained shift in volume force to push KO through zero and keep it there.
The 13-period signal line is slower still. So when KO crosses its signal line, you’re seeing the recent volume force pull away from its own short-term average. That is the trigger most traders watch.
Reading the Klinger oscillator on a chart
There are three readings that matter. Use them in this order of importance.
1. Divergence
TradingView describes divergence as the main thing to look for. If KO climbs while price falls, that’s read as bullish, because volume force is improving under a weak price. If KO falls while price keeps rising, that’s bearish. On Indian midcaps that rally on thin delivery, this bearish version shows up a lot. The stock prints a fresh high, but the oscillator’s peak is lower than last time.
2. Signal-line crossovers with the trend
The same source frames the uptrend case like this: the asset is above its 100-period moving average and KO is above zero or heading there. A cross of KO above its signal line from below is the buy-side trigger. In a downtrend, a cross below the signal line from above is the sell-side trigger. The source also notes that Klinger himself favoured the setup where a stock in an uptrend sees the oscillator dip below zero and then turn back up through its signal line. In plain terms, buy the pullback when volume force recovers, not the breakout when everyone’s already in.
If you want a refresher on why the 100-period line acts as a trend filter, our guide to technical analysis for Indian stocks covers moving averages as filters in more detail.
3. Zero-line position
Above zero means the faster average of volume force is above the slower one. Below zero means the opposite. On its own it’s a context reading, not a trade. Think of it as which side of the field the game is being played on.
Worked example 3: turning a Klinger signal into a trade plan
An indicator is only half a plan. Here’s how we’d frame a trade around the pullback setup, using hypothetical numbers once more.
Say a large-cap stock is trading above its 100-day moving average. Over a week it pulls back, KO dips just below zero, and then today KO crosses back above its 13-period signal line. The stock closes at ₹509. The pullback’s swing low is ₹494.
- Entry: ₹509.
- Stop: just under the swing low, at ₹494. Risk per share = ₹15.
- Account size: ₹5,00,000, risking 1% per trade = ₹5,000.
- Position size: ₹5,000 ÷ ₹15 = 333 shares (rounded down).
- Capital deployed: 333 × ₹509 = ₹1,69,497.
The stop sits where the idea is wrong, not at a round number. If the swing low breaks, the pullback has turned into something bigger and the volume force recovery was a false start. You exit. The oscillator doesn’t set your stop. Price structure does.
And the exit on the winning side? Many swing traders trail the stop under each new higher low and watch for a bearish divergence on KO as the cue to tighten. That keeps the indicator in its proper job: telling you about conviction, not predicting targets.
Where the Klinger oscillator struggles
TradingView’s own write-up is blunt about the weak spots, and we agree with them.
- False divergences are common. A divergence can sit there for weeks while the trend just keeps going. Divergence says momentum is fading. It doesn’t say when price will turn.
- Zero-line chop. In sideways markets KO can cross zero repeatedly without any follow-through. Every cross looks like a signal and almost none of them are.
- Premature warnings. Even a correct divergence can arrive early enough that acting on it costs you the last leg of a move.
- Silence on real moves. The source also notes the indicator can be slow to respond even when price changes. A gap on news can leave KO lagging for a few sessions.
There’s an India-specific wrinkle too. Volume on NSE includes intraday churn that never turns into delivery. A stock can show huge volume on a day when most of it was squared off by the close. Klinger’s formula doesn’t know the difference. So on stocks where intraday trading dominates, we’d sanity-check a strong KO reading against the delivery percentage shown on the exchange’s security-wise data before trusting it.
Treat the Klinger line as a witness, not a judge. It tells you whether volume agrees with price. The decision still belongs to price structure and your stop.
Settings and practical tips
- Stick with 34, 55 and 13 at first. Those are the standard periods in the source. Tweak them only after you’ve seen how the default behaves on the stocks you trade.
- Use daily bars for swing trades. On very short intraday bars, volume is noisy and KO whipsaws more.
- Pair it with a trend filter. The 100-period moving average condition is part of how the method is described. Skipping it removes the guardrail that keeps you from buying crossovers in a falling stock.
- Compare with one other volume tool. If the accumulation/distribution line and KO both diverge from price, the warning carries more weight than either alone. Our piece on the Chande momentum oscillator shows how to layer a pure price-momentum read on top.
- Ignore illiquid counters. On thinly traded smallcaps a single block deal can swing volume force wildly. The indicator works best where volume is steady.
A quick checklist before you act on a Klinger signal
- Is price above (for longs) or below (for shorts) its 100-period moving average?
- Has KO crossed its 13-period signal line in the direction of that trend?
- Is there a recent swing low or high that gives you a logical stop?
- Does the position size keep your loss at the stop within your per-trade limit?
- Is there a divergence on the opposite side that argues against the trade?
If you can answer the first four with a yes and the fifth with a no, the signal is worth a closer look. If not, wait. There’s always another setup.
The Klinger oscillator won’t make anyone a better trader on its own. What it does well is answer a narrow question: is the money behind this move growing or shrinking? Ask it that, and only that, and it earns its place on the chart.
Disclaimer: This article is for education only and is not investment advice. The prices and indicator values in the examples are hypothetical and used only to explain the method. Trading in equities and derivatives involves risk; please consult a SEBI-registered adviser before making investment decisions.

Leave a Reply
Join the conversation
Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.
Sign up to comment Log in