kcw
Keltner Channels Width (percentage)
kcw(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
KCW = ((kc_upper - kc_lower) / kc_middle) * 100
Examples
kcw_value = kcw(close, 20, 2.0);
kcw_value < 10; # Narrow channels (low volatility, potential breakout)
kcw_value > 30; # Wide channels (high volatility)
# Squeeze detection (compare with Bollinger Bands Width)
kc_width = kcw(close, 20, 2.0);
bb_width = bb_width(close, 20, 2.0);
kc_width < bb_width; # Squeeze condition
Returns
float
Range
length and atr_length follow the same bounds as kc_upper/kc_lower; matype forwards to all three nested calls, atr_length/atr_matype/bandstyle forward only to kc_upper/kc_lower
Notes
Width expressed as a percentage for cross-asset comparisons; often paired with bb_width for squeeze detection
See Also
References
TradingView: ta.kcw(source, length, mult, useTrueRange); derived from Keltner Channels