Klinger DM
Per-bar volume pressure signed by close direction; raw and unsmoothed, so it jumps from bar to bar.
KlingerDM multiplies each one-minute bar's volume by a candle term, the absolute value of 2 * (close - open) / (high - low) - 1, then signs it by the close against the previous close: +1 if higher, -1 if lower, 0 if unchanged. The output is one unsmoothed number per bar. It is not the standard Klinger Volume Oscillator, which smooths its force with moving averages, so the name promises more than the code delivers. Values jump from bar to bar; read them as bar-level volume pressure, not a price level.
How to read it
- The line sits in its own pane below the price, centered on zero, in share volume scaled by the candle term.
- Positive bars closed above the previous bar's close; negative bars closed below it. A bar that closed unchanged reads exactly zero.
- On SPY one-minute bars, 90% of values sit between about -96,000 and +95,000, and the most extreme bars reached about -8.9 million and +7.3 million.
- The line barely follows price (correlation with close is about zero), so judge runs of same-sign bars that grow in size, not the height of one bar.
What it outputs
- Volume pressure
- Per-bar volume times the candle term, signed by close direction: positive when the close rose from the previous bar, negative when it fell, zero when unchanged.
Pitfalls
- The candle term is not directional: it is 3 for a bar that opens at its high and closes at its low, but 1 for the reverse. A big red bar that closes above the prior close can outscore a big green one.
- It is not the standard Klinger Volume Oscillator. The standard smooths this force with two moving averages and uses high, low and close for the trend; this uses close only, with no smoothing.
- Many bars read exactly zero, because the value is zero whenever the close equals the previous close. Spikes are large: the largest bar reached 7.3 million against a typical band near 95,000.