OPEN-SOURCE SCRIPT
Updated

ATR% | Volatility Normalizer

148
This indicator measures true volatility by expressing the Average True Range (ATR) as a percentage of price. Unlike basic ATR plots, which show raw values, this version normalizes volatility to make it directly comparable across instruments and timeframes.

How it works:

Uses True Range (High–Low plus gaps) to capture actual market movement.

Normalizes by dividing ATR by the chosen price base (default: Close).

Multiplies by 100 to output a clean ATR% line.

Smoothing is flexible: choose from RMA, SMA, EMA, or WMA.

Optional Feature:
For comparison, you can toggle an auxiliary line showing the average absolute close-to-close % move, highlighting the difference between simplified and true volatility.

Why use it:

Track regime shifts: identify when volatility expands or contracts in % terms.

Compare volatility across different markets (equities, crypto, forex, commodities).

Integrate into risk management: position sizing, stop placement, or volatility filters for entries.

Interpretation:

Rising ATR% → expanding volatility, potential breakouts or unstable ranges.

Falling ATR% → contracting volatility, possible consolidation or range-bound conditions.

Sudden spikes → market “shocks” worth paying attention to.
Release Notes
This script provides a normalized volatility framework by plotting:

1. ATR% (True ATR ÷ Price × 100)

  • Uses True Range (high–low, gaps, closes).
  • Normalized as % of price for easier comparison across instruments and timeframes.


2. Avg |ΔClose%|

  • The average absolute close-to-close % change.
  • A simplified volatility proxy to contrast with ATR%.


How it works

  • The script calculates both series over a user-defined period (default 14 bars).
  • ATR smoothing can be chosen (RMA, SMA, EMA, WMA).
  • By comparing ATR% against Avg |ΔClose%|, the script highlights whether volatility is dominated by intraday ranges (ATR% > Avg |ΔClose%|) or by close-to-close moves (ATR% ≈ Avg |ΔClose%|).


How to use it

  • Expansion regime (ATR% > Avg |ΔClose%| by wide margin): signals increased intraday/gap volatility. Trend traders should allow wider stops or reduce size; mean reversion traders should be cautious.
  • Contraction regime (ATR% ≈ or crosses below Avg |ΔClose%|): volatility calming, ranges tighten, swing/mean-reversion setups become cleaner.
  • Useful in portfolio monitoring — if many watchlist stocks show expansion at once, your portfolio is in a higher-risk regime.


Integration with Screener / Watchlists

  • This script’s outputs are compatible with TradingView’s Pine Screener.
  • Add your portfolio tickers into a Watchlist, then display ATR% and Avg |ΔClose%| columns for each instrument.
  • This allows you to:
    • Scan your portfolio daily for volatility regime shifts.
    • Set alerts when multiple tickers cross into expansion simultaneously.
    • Track which instruments are running “hot” (ATR% >> Avg |ΔClose%|) and which are calmer.


This turns the indicator from a chart-only tool into a portfolio risk dashboard, helping traders monitor volatility in real time across many instruments.

Why it’s useful

  • Normalizes volatility so you can compare risk across assets.
  • Provides actionable insight into regime shifts that raw ATR or close-to-close metrics alone don’t show.
  • Helpful in portfolio risk management — identify when multiple positions simultaneously shift into high-vol regimes.
Release Notes
This script provides a normalized volatility framework by plotting:

1. ATR% (True ATR ÷ Price × 100)

  • Uses True Range (high–low, gaps, closes).
  • Normalized as % of price for easier comparison across instruments and timeframes.


2. Avg |ΔClose%|

  • The average absolute close-to-close % change.
  • A simplified volatility proxy to contrast with ATR%.


How it works

  • The script calculates both series over a user-defined period (default 14 bars).
  • ATR smoothing can be chosen (RMA, SMA, EMA, WMA).
  • By comparing ATR% against Avg |ΔClose%|, the script highlights whether volatility is dominated by intraday ranges (ATR% > Avg |ΔClose%|) or by close-to-close moves (ATR% ≈ Avg |ΔClose%|).


How to use it

  • Expansion regime (ATR% > Avg |ΔClose%| by wide margin): signals increased intraday/gap volatility. Trend traders should allow wider stops or reduce size; mean reversion traders should be cautious.
  • Contraction regime (ATR% ≈ or crosses below Avg |ΔClose%|): volatility calming, ranges tighten, swing/mean-reversion setups become cleaner.
  • Useful in portfolio monitoring — if many watchlist stocks show expansion at once, your portfolio is in a higher-risk regime.


Integration with TradingView Screener / Watchlists

  • This script’s outputs are compatible with TradingView’s Pine Screener.
  • Add your portfolio tickers into a Watchlist, then display ATR% and Avg |ΔClose%| columns for each instrument.
  • This allows you to:
    • Scan your portfolio daily for volatility regime shifts.
    • Set alerts when multiple tickers cross into expansion simultaneously.
    • Track which instruments are running “hot” (ATR% >> Avg |ΔClose%|) and which are calmer.


This turns the indicator from a chart-only tool into a portfolio risk dashboard, helping traders monitor volatility in real time across many instruments.

Why it’s useful

  • Normalizes volatility so you can compare risk across assets.
  • Provides actionable insight into regime shifts that raw ATR or close-to-close metrics alone don’t show.
  • Helpful in portfolio risk management — identify when multiple positions simultaneously shift into high-vol regimes.
Release Notes
This script provides a normalized volatility framework by plotting:

1. ATR% (True ATR ÷ Price × 100)

  • Uses True Range (high–low, gaps, closes).
  • Normalized as % of price for easier comparison across instruments and timeframes.


2. Avg |ΔClose%|

  • The average absolute close-to-close % change.
  • A simplified volatility proxy to contrast with ATR%.


How it works

  • The script calculates both series over a user-defined period (default 14 bars).
  • ATR smoothing can be chosen (RMA, SMA, EMA, WMA).
  • By comparing ATR% against Avg |ΔClose%|, the script highlights whether volatility is dominated by intraday ranges (ATR% > Avg |ΔClose%|) or by close-to-close moves (ATR% ≈ Avg |ΔClose%|).


How to use it:

  • Expansion regime (ATR% > Avg |ΔClose%| by wide margin): signals increased intraday/gap volatility. Trend traders should allow wider stops or reduce size; mean reversion traders should be cautious.
  • Contraction regime (ATR% ≈ or crosses below Avg |ΔClose%|): volatility calming, ranges tighten, swing/mean-reversion setups become cleaner.
  • Useful in portfolio monitoring — if many watchlist stocks show expansion at once, your portfolio is in a higher-risk regime.


Integration with TradingView Screener / Watchlists:

  • This script’s outputs are compatible with TradingView’s Pine Screener.
  • Add your portfolio tickers into a Watchlist, then display ATR% and Avg |ΔClose%| columns for each instrument.
  • This allows you to:
    • Scan your portfolio daily for volatility regime shifts.
    • Set alerts when multiple tickers cross into expansion simultaneously.
    • Track which instruments are running “hot” (ATR% >> Avg |ΔClose%|) and which are calmer.


This turns the indicator from a chart-only tool into a portfolio risk dashboard, helping traders monitor volatility in real time across many instruments.

Why it’s useful:
  • Normalizes volatility so you can compare risk across assets.
  • Provides actionable insight into regime shifts that raw ATR or close-to-close metrics alone don’t show.
  • Helpful in portfolio risk management — identify when multiple positions simultaneously shift into high-vol regimes.
Release Notes
This script provides a normalized volatility framework by plotting:

1. ATR% (True ATR ÷ Price × 100)

Uses True Range (high–low, gaps, closes).
Normalized as % of price for easier comparison across instruments and timeframes.


2. Avg |ΔClose%|

The average absolute close-to-close % change.
A simplified volatility proxy to contrast with ATR%.


How it works:
The script calculates both series over a user-defined period (default 14 bars).
ATR smoothing can be chosen (RMA, SMA, EMA, WMA).
By comparing ATR% against Avg |ΔClose%|, the script highlights whether volatility is dominated by intraday ranges (ATR% > Avg |ΔClose%|) or by close-to-close moves (ATR% ≈ Avg |ΔClose%|).

How to use it:
Expansion regime (ATR% > Avg |ΔClose%| by wide margin): signals increased intraday/gap volatility. Trend traders should allow wider stops or reduce size; mean reversion traders should be cautious.
Contraction regime (ATR% ≈ or crosses below Avg |ΔClose%|): volatility calming, ranges tighten, swing/mean-reversion setups become cleaner.
Useful in portfolio monitoring — if many watchlist stocks show expansion at once, your portfolio is in a higher-risk regime.

Integration with TradingView Screener / Watchlists:
This script’s outputs are compatible with TradingView’s Pine Screener.
Add your portfolio tickers into a Watchlist, then display ATR% and Avg |ΔClose%| columns for each instrument.
This allows you to:
  • Scan your portfolio daily for volatility regime shifts.
  • Set alerts when multiple tickers cross into expansion simultaneously.
  • Track which instruments are running “hot” (ATR% >> Avg |ΔClose%|) and which are calmer


This turns the indicator from a chart-only tool into a portfolio risk dashboard, helping traders monitor volatility in real time across many instruments.

Why it’s useful
Normalizes volatility so you can compare risk across assets.
Provides actionable insight into regime shifts that raw ATR or close-to-close metrics alone don’t show.
Helpful in portfolio risk management — identify when multiple positions simultaneously shift into high-vol regimes.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.