ACBR is extremely simple at its heart. I made it more complicated of course, because why would I want anything for myself to be simple? Originally it was envisaged to be a simple volatility indicator highlighting areas of increasing and decreasing volatility. Then I decided some folks might want an indicator that could show this in a directional manner, i.e., an oscillator, so I spent some more hours tackling that
To start, the original version of the indicator simply subtracts opening price from closing price if the candle closes above the open, and subtracts the close from the open if the candle closes below the open. This way we get a positive number that simply measures candle expansion. We then apply a moving average to these values in order to smooth them (if you want). To get an oscillator we always subtract the close from the open, thus when a candle closes below its open we get a negative number.
I've naturally added an optional signal line as a helpful way of gauging volatility because obviously the values themselves may not tell you much. But I've also added something that I call a baseline. You can use this in a few ways, but first let me explain the two options for how the baseline can be calculated. And what do I mean by 'baseline?' I think of it as an area of the indicator where if the ACBR is below you will not want to enter into any trades, and if the ACBR is above then you are free to enter trades based on your system (or you might want to enter in areas of low volatility if your system calls for that). Waddah Attar Explosion is another indicator that implements something similar. The baseline is calculated in two different ways: one of which is making a Donchian Channel of the ACBR, and then using the basis as the baseline, while the other is applying an RMA to the cb_dif, which is the base unit that makes up the ACBR. Now, the basis of a Donchian Channel typically is the average of the highs and the lows. If we did that here we would have a baseline much too high (but maybe not...), however, I've made the divisor user adjustable. In this way you can adjust the height (or I guess you might say 'width' if it's an oscillator) however you like, thus making the indicator more or less sensitive. In the case of using the ACBR as the baseline we apply a multiplier to the values in order to adjust the height. Apologies if I'm being overly verbose. If you want to skip all of this I have tooltips in the settings for all of the inputs that I think need an explanation.
When using the indicator as an oscillator there are baselines above and below the zero line. One funny thing: if using the ACBR as calculation type for the baselines in oscillator mode, the baselines themselves will oscillate around the zero line. There is no way to fix this due to the calculation. That isn't necessarily bad (based on my eyeball test), but I probably wouldn't use it in such a way. But experiment! They could actually be a very fine entry or confirmation indicator. And while I'm on the topic of confirmation indicators, using this indicator as an oscillator naturally makes it a confirmation indicator. It just happens to have a volatility measurement baked into it. It may also be used as an exit and continuation indicator. And speaking of these things, there are optional shapes for indicating when you might want to exit or take a continuation trade. I've added alerts for these things too.
Lastly, oscillator mode is good for identifying divergences.
Above we have the indicator set to directional, or oscillator, mode. Baselines are Donchian Channels. I changed the default EMA length from 4 to 24 in this case, otherwise all the settings are default, as in the main image for the indicator (which is clearly set to non-directional). The indicator is set to requiring an advancing signal line for background and bar colors. Background color is not on by default. Candle colors, as you can see are aqua when above the top baseline (and only when the signal line is advancing, as per the settings), magenta when below the bottom baseline, and grey for anything else. The red and blue X's are exit signals. There are two types: one, when the signal line weakens and, two, when the ACBR crosses above or below the signal line. There are also arrows. These are continuation signals (ACBR crossing signal line).
Same image as above, but the baselines are set to ACBR rather than Donchian Channels.
Again, the same image, but with everything but the ACBR Baseline turned off. You can see how this might make for an excellent confirmation indicator, but for the areas of chap. Maybe run a second instance of the indicator on your chart as a volatility indicator, as you would not be using it in that way in this instance.
Here I have bar coloring turned off except for signal line crosses NOT requiring the signal line to be advancing. Background coloring is also turned on. You can see that these all line up with continuation signals, or exits for purple candles.
Same image as above but requiring the signal line to be advancing. You can see that continuation signals are not contingent upon the signal line to be advancing. I had it setup that way at first, but of course it still gave false signals, so I thought more signals (not that there are many) is better than fewer. To be sure, just because the indicator shows a continuation signal does not mean you should always take it.
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 a publication is governed by House Rules. You can favorite it to use it on a chart.