kc_upper

Keltner Channels Upper Band

kc_upper(source, length, mult, matype="ema", atr_length=..., atr_matype="wilder", bandstyle="atr")

Parameters

Name Type Description
source field Price field for the middle line (typically close)
length int Period for the middle line MA
mult float Multiplier for band width

Formula

KC Upper = MA(source, length) + mult * range_value

Examples

kc_up = kc_upper(close, 20, 2.0);  # Standard KC upper
kc_up = kc_upper(close, 20, 2.0, matype="sma");  # SMA-based middle
kc_up = kc_upper(close, 20, 2.0, atr_length=14);  # Different ATR period
kc_up = kc_upper(close, 20, 2.0, atr_matype="ema");  # EMA-smoothed ATR
kc_up = kc_upper(close, 20, 2.0, bandstyle="range");  # Raw high - low band, no smoothing
close > kc_up;  # Price above upper band (breakout)

Returns

float

Range

length is bound by matype's MA family (2-210 ema default, 2-105 wilder, 2-400 windowed sma/wma), capped at the 2-105 wilderma ATR ceiling unless atr_length overrides it; atr_length independently must be 2-105

Notes

TradingView default pairs EMA middle with ATR bands; atr_length lets the band smoothing diverge from the middle line; bandstyle="range" reproduces the original 1960s Keltner formulation

See Also

kc_lower, kc_middle, kcw

References

TradingView: part of ta.kc(); original Keltner used SMA/range, modern (Linda Bradford Raschke) uses EMA/ATR