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