The Klinger Oscillator (KO), developed by Stephen Klinger, is a volume-based momentum oscillator designed to detect long-term money flow trends while remaining sensitive to short-term fluctuations. It compares volume flowing through a security to price action via a proprietary “volume force” (VF) series, then shows the difference between two exponential moving averages (EMAs) of VF. Traders use KO crossovers, a signal line and divergence between price and KO to spot potential entries, exits and reversals.
Source: Investopedia —
Formula for the Klinger Oscillator (compact)
– KO = EMA34(VF) − EMA55(VF)
– Signal line = typically a 13-period EMA of KO
Where VF (Volume Force) is calculated from price and volume. In practice VF is built from:
– dm = H − L (daily/period range)
– Trend = +1 if (H + L + C) > (Hprev + Lprev + Cprev), otherwise Trend = −1
– cm accumulates dm while Trend stays the same (cm = cm_prev + dm); cm resets to dm when Trend flips
– VF = V × [2 × (dm/cm − 1)] × Trend × 100
And the EMA formula used for the KO EMAs:
– EMA(today) = (VF(today) × α) + (EMA(yesterday) × (1 − α)), where α = 2 / (N + 1) and N is 34 or 55.
(Notes: charting platforms implement the cm accumulation and Trend rules internally. The above is the conventional way the VF and KO are described; confirm exact implementation with your platform or code library.)
How to calculate the Klinger Oscillator — step by step
1. Prepare price and volume series: for each period you need High, Low, Close and Volume.
2. For each period compute dm = High − Low.
3. Determine Trend for each period:
• Trend = +1 if (H + L + C) > (Hprev + Lprev + Cprev)
• Trend = −1 if (H + L + C) ≤ (Hprev + Lprev + Cprev)
4. Maintain cm (cumulative measure):
• If Trend is the same as previous period’s Trend, cm = cm_prev + dm
• If Trend changed, cm = dm (reset)
5. Compute Volume Force (VF) for each period:
• VF = Volume × [2 × (dm / cm − 1)] × Trend × 100
6. Compute two EMAs of VF:
• EMA34(VF) with N = 34 periods (α = 2/(34+1))
• EMA55(VF) with N = 55 periods (α = 2/(55+1))
7. KO = EMA34(VF) − EMA55(VF) for each period.
8. (Optional) Signal line = 13-period EMA of KO (or 13-period SMA in some variations).
Interpretations for price direction and signals
– Crossovers with the signal line:
• Bullish: KO crosses above its signal line (often used as buy trigger).
• Bearish: KO crosses below its signal line (often used as sell/short trigger).
– Zero line:
• KO > 0 generally indicates net bullish flow (short-term VF is stronger than long-term VF).
• KO 0 and KO > signal → bullish bias; consider a long entry if price trend agrees and risk rules are set.
Settings and timeframe guidance
– Default settings: 34/55 for the VF EMAs and 13 for the signal line are standard.
– If you want faster signals: shorten EMAs (e.g., 21/34) but expect more noise.
– For slower, more reliable signals: lengthen EMAs (e.g., 55/89) but expect delayed responses.
– Always re-optimize parameters to your instrument and timeframe and verify robustness via backtesting.
Implementation notes
– Most charting platforms (TradingView, MetaTrader, Thinkorswim, etc.) include a Klinger Oscillator indicator; use built-in versions for convenience and to avoid formula pitfalls.
– If coding from scratch, pay careful attention to the cm accumulation rule and Trend definition; small mistakes change outputs materially.
Risk management and testing
– Backtest your entry/exit rule set across multiple market regimes (trending, choppy) and instruments.
– Use position sizing and stop-loss discipline — KO signals can produce false breakouts and whipsaws.
– Combine KO signals with price structure for higher-probability trades.
Conclusion
The Klinger Oscillator is a sophisticated volume-based momentum tool that compares short- and long-term money flow via EMAs of a Volume Force series. It can be a valuable part of a trader’s toolkit—especially for spotting divergences and volume-confirmed trend shifts—but it generates many signals and can produce false positives. Use KO in conjunction with trend filters, price action, other indicators and strict risk management; backtest the settings and rules before trading live.
Reference
– Investopedia: “Klinger Oscillator” —
– provide a short pseudocode implementation of KO,
– create a simple Excel template for computing KO from OHLCV data, or
– show an annotated chart example (you can upload a chart or tell me your timeframe/symbol).