OPEN-SOURCE SCRIPT

BERLIN Range Index | Panel version

Updated
The original problem: The choppiness index is great at finding ranging markets, but it is sometimes very slow, which means most of the time it only catches the end of a trend.

This indicator tries to solve this. It uses the choppiness index and filters it using a factor that is based on the standard deviation of the ATR.

The ATR based filter is calculated by first calculating the running standard deviation of the ATR, and then looking at that in relation to its recent low to find a filtering factor to use on the choppiness index. This makes the choppiness index more reactive to trends, but also slightly more likely to missidentify ranges.

This is the panel version of the indicator. It plots the index and min/max values, as well as background colors to tell you when it thinks the market is ranging or trending.

Yellow = Trending
Transparent gray = Ranging
Release Notes
- Version 1.1 -
  • Added option to use normalized true range in the ATR filter. This is now the default.
  • Changed color for exhausted trends from transparent gray to solid orange.
  • Changed color for weakening exhausted trend from transparent yellow to red.
Release Notes
- Version 1.1b -
  • Fixed bug where the indicator accidentally was used overlay mode.
Average True Range (ATR)CHOPChoppiness Index (CHOP)choppyOscillatorsrangeVolatility

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer