What it visualizes
Basis and ATR bands with fills, optional candle tint, stretch/extreme/return-inside markers and a dashboard for Bias, Position, Volatility, Stretch, Slope and Width Rank.
FreeOpen sourcePine Script v6
Combine an EMA basis and ATR-scaled inner, outer and extreme bands with slope, price location, channel width and distance from the basis. Read channel context without turning it into a signal.
The EMA basis anchors inner, outer and extreme ATR bands. ATR-normalized basis slope drives Bias; band location drives Position; recent min–max width rank drives Volatility; distance from the basis drives Stretch.
Basis and ATR bands with fills, optional candle tint, stretch/extreme/return-inside markers and a dashboard for Bias, Position, Volatility, Stretch, Slope and Width Rank.
EMA slope is normalized by ATR and compared with positive and negative thresholds. Close is classified against each band, while signed basis distance and recent width rank remain separate measures.
The channel expands and contracts with ATR; it is not a fixed-distance envelope.
Bias and band position classify Inside, Trend Zone, Pullback, Upper/Lower Stretch and Extreme.
Width Rank is compared with thresholds for Quiet, Normal and Expanded. It is a recent min–max rank, not a statistical percentile.
Add the public script to a chart and identify every drawing in the default configuration first. Change only one input at a time.
Open the public Keltner Channel ATR Stretch page and add it to a TradingView chart. No SG Group account is required.
Overlapping lines, bands, backgrounds or tables can be duplicate drawings of the same kind of information. Never treat visual overlap by itself as stronger evidence or signal agreement. Bollinger Bands, another Keltner channel, VWAP deviation bands and moving averages can place similar bases and envelopes at nearby prices. Isolate the inner, outer and extreme bands before interpreting them.
Do not turn one value or color into a conclusion. Check the condition, persistence and relationship to price in order.
Bullish or Bearish classifies EMA slope, not the direction of the next bar.
Read band location and basis distance together; an outside print does not guarantee a reversal.
Quiet or Expanded describes channel width and does not predict what comes next.
A sign classification of ATR-normalized EMA slope, not a price forecast.
Current location relative to the basis and inner bands, interpreted with Bias.
A distance state between an outer band and the extreme band.
Price is beyond the extreme band; no reversal probability is implied.
Channel-width classification based on Width Rank.
Current position between the recent minimum and maximum width; not a percentile.
The labels below match the published script’s English Inputs panel. Defaults reflect the public source at the time of review and may change in a later TradingView update.
On small screens, each input is reformatted as a readable stacked card.
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Source | close | Selects the price series used for the basis, stretch and state classification. |
Basis EMA Length | 20; min: 1 | Sets the length of the EMA basis. |
ATR Length | 20; min: 1 | Sets the ATR length used to determine channel width. |
ATR Multiplier | 1.5; min: 0.1; step: 0.1 | Sets the outer-band distance from the basis in ATR units. |
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Inner Zone Ratio | 0.5; range: 0.0-1.0; step: 0.05 | Sets inner-band distance as a fraction of the outer half-width. |
Extreme Zone Ratio | 1.5; min: 1.0; step: 0.1 | Sets extreme-band distance as a multiple of the outer half-width. |
Slope Lookback | 5; min: 1 | Sets the number of bars used to measure basis slope. |
Slope Threshold (ATR) | 0.25; min: 0.0; step: 0.05 | Sets the minimum ATR-normalized slope required for a directional bias. |
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Width Rank Lookback | 100; min: 2 | Sets the window used to rank channel width against its recent min-max range. |
Quiet Threshold | 20; range: 0-100; step: 1 | Labels Width Rank as Quiet below this threshold. |
Expanded Threshold | 80; range: 0-100; step: 1 | Labels Width Rank as Expanded above this threshold. |
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Confirmed bars only | true | Evaluates markers and alerts on closed bars while the dashboard remains live. |
Show stretch markers | true | Shows markers for outer-band stretches and extreme stretches. |
Show return-inside markers | true | Shows markers when price returns inside after an outside move. |
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Show Inner Channel | true | Shows the inner channel bands. |
Show Extreme Channel | false | Shows the wider extreme reference bands. |
Show Fill | true | Shows the channel fills. |
Color Bars | false | Colors chart bars according to trend bias. |
Show Dashboard | true | Shows the compact state dashboard. |
Dashboard Position | Top Right; options: Top Right | Bottom Right | Top Left | Bottom Left | Selects the dashboard anchor position. |
| Input label | Default / options | What it controls and when to adjust it |
|---|---|---|
Basis | #f5a623 | Sets the EMA basis color. |
Outer Bands | #2962ff | Sets the outer-band color. |
Inner Bands | #5b9cf6 | Sets the inner-band color. |
Extreme Bands | #9598a1 | Sets the extreme-band color. |
Bullish Tint | #26a69a | Sets the bullish state tint. |
Bearish Tint | #ef5350 | Sets the bearish state tint. |
Neutral Tint | #787b86 | Sets the neutral state tint. |
Dashboard Text Size | Normal; options: Small | Normal | Sets dashboard text size. |
Dashboard Background | #131722 | Sets the dashboard background color. |
Dashboard Header Background | #2a2e39 | Sets the dashboard header background color. |
Dashboard Label Text | #b2b5be | Sets dashboard label-text color. |
Dashboard Value Text | color.white | Sets dashboard value-text color. |
Dashboard Border | #434651 | Sets the dashboard border color. |
Dashboard Background Transparency | 15; range: 0-90 | Controls regular dashboard-background transparency. |
Dashboard State Cell Transparency | 18; range: 0-85 | Controls the transparency of state-colored value cells. |
Alerts are state, touch or transition events defined in the public source. They are not trade instructions.
This tool is for analysis and visualization. It is not investment advice, a trade recommendation, a forecast, or a promise of profit or accuracy. Results depend on inputs, symbol, timeframe, and data feed. You remain responsible for every trading decision.
Stretch and Extreme are distance states. Price can remain outside or continue moving.
Both price and ATR changes affect width and Stretch. Equal readings across symbols or timeframes need not mean equal conditions.
It is a recent min–max position, not a statistical percentile, and Quiet does not guarantee a later expansion.
Keep Bias, Position and Volatility as separate axes. Do not convert a band touch by itself into an entry, target or stop.
Clarify Bias, Position, Stretch, Width Rank and the meaning of an outside print.
Yes. It is a free, open-source indicator published by SG Group on TradingView. Review TradingView’s terms and the conditions attached to the public script before reuse or redistribution.
Start with the published defaults and observe the drawings and state changes first. Then change one input at a time for the symbol, timeframe and data feed so you can identify what caused each visual change.
Yes, but similar lines, bands, backgrounds and tables can overlap and obscure their source. Isolate each indicator first and hide duplicate components. Visual overlap alone is not stronger evidence or signal agreement.
No. It is analysis and visualization context consistent with the public description. It does not provide entries, exits, targets, stops, price forecasts, or promises of profit, win rate or accuracy.
No. Extreme is an ATR-band distance classification. Price can remain outside in a trend, and the label does not instruct a reversal entry, target or stop.
This guide is grounded in SG Group’s live catalogue, the script’s published TradingView description, and the user-facing inputs in its open source. Labels and defaults can change after a script update.