Skip to content

    Klinger Oscillator: Formula, Settings and Volume Examples

    Quick answer

    Klinger Oscillator (KVO) explained: who built it, the 34/55/13 defaults, formula differences, how it compares with OBV and CMF, and its false signals.

    19 June 2026
    13 min read
    2,580 words

    The Klinger Oscillator, also called KVO, compares a faster and a slower exponential moving average of a price-and-volume measure. An exponential moving average, or EMA, gives more weight to recent values. Common lengths are 34 and 55, with a 13-period signal line. Line crosses and divergence, where price and the indicator move in opposing directions, describe observations without establishing a chance of profit. Published platform formulas differ, so identify the version on your chart before matching a hand calculation.

    What the lines actually measure

    KVO is the fast EMA minus the slow EMA of Volume Force. Volume Force is a derived input combining price direction with volume; its exact construction depends on the implementation. A positive oscillator means its fast average exceeds its slow average. It does not measure rupees entering an account, identify an institution or separate actual buyer-initiated trades from seller-initiated trades.

    The signal line is a smoothed version of the oscillator. A crossover means the oscillator has moved from one side of that line to the other. A zero-line cross instead compares the fast and slow Volume Force averages. They describe different relationships, so a crossover above the signal line need not also be a cross above zero.

    Klinger Volume Oscillator (KVO): origin and defaults

    Klinger Oscillator and Klinger Volume Oscillator (KVO) are two names for the same indicator. TradingView's help page says it was first developed and introduced by Stephen Klinger. The defaults it lists are a 34-period and a 55-period exponential moving average of Volume Force, with a 13-period moving average as the signal line. The oscillator is the 34-period average minus the 55-period average.

    The same page describes the aim as reading longer-term money flow while still showing short-term moves, because the line is built from volume as well as price. That is a description of the design, not evidence that the readings pay off.

    Why different Klinger calculations may disagree

    Sources: CQG, TradingView and Chartlang source code; checked 16 October 2026. This compares published definitions, not a side-by-side live chart test.
    Primary referencePublished Volume Force conventionPractical consequence
    CQG product documentationPositive volume when the current high-low-close average rises; otherwise negative volume.This is a signed-volume version without a cumulative-range multiplier.
    TradingView help-page equationVolume × [2 × ((dm ÷ cm) − 1)] × trend × 100.The printed equation has no absolute-value operation.
    Chartlang public implementationVolume × absolute value of [2 × ((dm ÷ cm) − 1)] × trend × 100.The absolute-value operation changes the sign compared with the printed TradingView bracket when that bracket is negative.

    These references conflict on the input calculation. An identical indicator name and identical average lengths therefore do not establish identical readings. The examples below name their convention. They should not be described as a confirmed match to every broker or charting platform.

    The cumulative-range version, step by step

    Absolute value means a number’s size with its minus sign removed. For that version in the table, take H as the bar high, L as low, C as close and V as volume. A bar is one chart period. Compare H + L + C with the preceding bar to set a rising or falling trend sign. Dividing both sums by the same constant would not change which is larger.

    • dm is the current high minus low.
    • cm accumulates previous cm plus current dm while the trend sign stays the same.
    • When the sign changes, cm becomes previous dm plus current dm.
    • Volume Force is V × absolute value of [2 × ((dm ÷ cm) − 1)] × trend × 100.
    • The implementation retains the previous trend sign for equal price sums. It emits zero Volume Force for its initial seed bar or an unusable zero cumulative range.

    That equal-sum rule is another implementation detail: TradingView’s written description puts an unchanged price sum in the negative-trend branch. Keep equality handling and initialisation consistent when reproducing a series. Also keep the parentheses intact; changing where the subtraction sits changes the calculation.

    Worked example: a rising bar and a trend reversal

    Use these fictional bars, with prices in arbitrary quote units and volume as an assumed share count. These are teaching values without an actual security or trading date. For the first bar, assume only the seed state exists, with its daily range retained for the following bar.

    Made-up teaching inputs. Price sums and arithmetic checked 16 October 2026.
    BarHighLowCloseH + L + CVolume
    Seed10399101303Not used in the next calculation
    Rising1041001033071,000
    Falling10399100302800

    The rising bar has dm = 104 − 100 = 4. The seed range is 103 − 99 = 4. With no established earlier trend, cm starts here as 4 + 4 = 8. The trend sign is +1 because 307 exceeds 303. The absolute-value multiplier is |2 × ((4 ÷ 8) − 1)| = 1. Volume Force is therefore 1,000 × 1 × 1 × 100 = 100,000.

    The falling bar has dm = 103 − 99 = 4. Its sum, 302, is below 307, so the trend changes to −1 and cm resets to the preceding dm plus current dm: 4 + 4 = 8. With illustrative volume of 800, Volume Force becomes 800 × 1 × (−1) × 100 = −80,000.

    Under CQG’s documented signed-volume definition, those same rising and falling bars instead contribute +1,000 and −800 before smoothing. Under the TradingView equation exactly as printed, the first worked bracket is negative and the rising bar’s force would be −100,000. This comparison shows why a convention must be named; it does not establish which output the live TradingView study plots.

    From Volume Force to an oscillator reading

    A Volume Force result is not yet the Klinger line. The chosen force series must pass through both EMAs, and the oscillator then needs its signal average. Short toy data cannot recreate an established chart’s entire averaging history.

    For a separate made-up smoothing example, suppose the current force is 100,000, the preceding fast EMA is 60,000 and the preceding slow EMA is 50,000. Using the conventional EMA weight of 2 ÷ (period + 1), the updated fast EMA is approximately 62,285.71 and the updated slow EMA 51,785.71. Subtract their unrounded values to get an oscillator reading of 10,500. These assumed prior averages illustrate one update; they were not derived from the toy bars.

    Crossovers, divergence and false signals

    Bullish divergence describes price making a lower low while the oscillator makes a higher low. Bearish divergence reverses that comparison. These are chart observations, not price forecasts. TradingView’s own limitations section says divergence can appear too early, fail to produce a reversal or be absent when a reversal occurs. Zero-line crosses can also fail to hold.

    An unfinished bar can change its high, low, close and volume before the period ends. If comparing observations, specify whether you used completed bars. Changing the timeframe also changes the data grouped into each bar; the same length setting then covers a different elapsed horizon.

    For an Indian index comparison, identify exactly which series supplied volume. Cash-index data, a particular futures month and an option contract are different inputs. Do not describe an index oscillator as measured institutional cash flow without evidence of the data being used.

    Risk management and stop placement around Klinger signals

    The oscillator gives no price level. A stop has to come from somewhere else: a recent swing low or high, or a distance you size from your risk limit. Decide it before the trade, and do not move it because the indicator is still positive.

    A crossover found on a closed bar means you act on the next bar, so the fill can be well away from the price at the signal. Build that gap into your planned loss. Log the planned stop, the actual fill and the exit, then review how often the signal moved against you straight away.

    Settings and a useful observation record

    The familiar 34/55/13 setting is a reference convention, not a proven optimum for Nifty, Bank Nifty or any other instrument. Record the formula version, fast and slow lengths, signal length, symbol, timeframe and data source with any observation. A later screenshot without those details can be impossible to reproduce.

    The MACD calculator explains another moving-average difference; its inputs are price-based rather than this Volume Force series. Compare the concepts with Chaikin Money Flow and the RSI guide without treating agreement as a tested success rate.

    Klinger settings for intraday, swing and positional charts

    No published source proves one set of lengths is best for a style of trading. What you can say is how the lengths behave. Shorter fast and slow lengths make the line swing more often and cross its signal line more often, so you see more crossovers and more false ones. Longer lengths smooth the line and delay each cross.

    The 34/55/13 row is the TradingView default (checked 28 October 2026). The 20/40/10 row is a made-up test setting, not a recommendation.
    StyleExample lengths to test (fast / slow / signal)What to watch for
    Intraday, 5 to 15 minute bars20 / 40 / 10Many crosses; check each against the volume source you use
    Swing, daily bars34 / 55 / 13The published default; fewer, slower crosses
    Positional, weekly bars34 / 55 / 13 on weekly barsFew readings; the same lengths cover a much longer time span

    Change one length at a time and write down what changed. In your journal, tag trades by the setting on the chart. After a few dozen trades you can compare the tags with your own results instead of trusting a number from a forum post.

    Combining Klinger with RSI, MACD and moving averages

    TradingView's help page says the oscillator is best used with other indicators, because its own signals are often false. A common way to combine them is to give each tool a separate job.

    • Trend filter: a long moving average. TradingView's page describes an uptrend as price above a 100-period moving average with the oscillator above or moving toward zero.
    • Momentum check: the RSI or MACD. If the oscillator crosses above its signal line while RSI is falling, the two disagree, and you can note the conflict instead of forcing a read.
    • Entry timing: the page says Klinger preferred a long after the oscillator dipped below zero and then crossed back above the signal line. Treat this as one documented reading, not a rule that works.

    MACD and Klinger both subtract two moving averages, but MACD uses price alone and Klinger uses Volume Force. When they agree, you have two views of the same move. When they disagree, you can wait or reduce size. The MACD calculator shows how the price-only version is built.

    Whatever you combine, fix the rules before the session: which signal needs to appear, where the stop goes, and what makes you skip the trade. Then log each trade with the indicators that were on screen, so you can see later whether the extra filter changed anything.

    Klinger vs OBV and Chaikin Money Flow

    All three are volume tools, but they handle volume differently. On-balance volume (OBV), created by Joe Granville in 1963 according to the LuxAlgo library, adds a bar's whole volume when the close is above the previous close and subtracts it when the close is lower. Its absolute level is arbitrary; people look at its slope and swings.

    Chaikin Money Flow (CMF) ignores close-to-close direction. It uses where the close sits inside the bar's high-low range, multiplies that by volume, and sums over a window, with a common window of 20 periods. Klinger sits between them: it uses price direction and range to build Volume Force, then smooths it twice.

    Summary of the LuxAlgo OBV entry and the TradingView-hosted CMF library notes, checked 28 October 2026.
    ToolVolume treatmentOutput
    OBVWhole bar volume added or subtracted by close directionRunning total, no fixed scale
    CMFVolume weighted by close position in the bar's rangeOscillates between -1 and +1
    Klinger (KVO)Volume Force, then fast minus slow EMAOscillator around zero with a signal line

    None of these is better in general. Pick one, learn its failure cases, and avoid stacking all three as if they were separate evidence. They all come from the same price and volume series. See our Chaikin Money Flow guide for the second tool.

    Using Klinger on Nifty and Bank Nifty charts

    A volume indicator needs a volume series. A spot index such as Nifty 50 is a calculated number, so a chart of the index itself may show no volume or a figure supplied by the data vendor. Many traders switch to the futures contract of the current month for volume. Futures volume then covers only that contract, and it shifts when you roll to the next month, which can create a jump in the indicator.

    Before you trust a reading, check on your charting platform which symbol the volume comes from, and write it down with the setting. In TradingView, Klinger is added from the indicators menu by searching for its name. Other broker charts may or may not offer it, so check your own platform, and confirm the exact version of the study, since its formula may differ from the ones compared above.

    Klinger Oscillator questions

    Sources

    Related Topics

    Klinger oscillatorKlinger volume oscillatorKVO formulavolume force

    Related Articles