OPEN-SOURCE SCRIPT

Relative Bi-Directional Volatility Range

Updated
The basic math behind this Indicator is very similar to the math behind the Relative Strength Index without using a standard deviation as used for the Relative Volatility Index. The Volatility Range is calculated by utilizing the highs and lows. However not in the same way as in the Relative Volatility Index. This approach leads to different values, but the overall result clearly reveals the intrinsic Volatility of the chart, so the user can be aware, when something fundamentally is going on behind the scenes. If the Volatility rises on positive and negative range (-100 to 100) it implies that something fundamental is changing.

An advantage of using this kind of calculation is the possibility of separating the data into positive (buy pressure) and negative (sell pressure) components. The bi-directional character shows a slightly overhang in one of the directions, which can be used to detect a trend. A Moving Average of the users choice shell smoothen the overhang of the Relative Bi-Directional Volatility and show a trend direction. Similar to the math of the Relative Strength Index as standard a Relative Moving Average is preferred. If the Moving Average is in the positive range (0 to 100) it indicates a bullish trend, else if the Moving Average is in the negative range (0 to -100) it indicates a bearish trend. External Indicators can use a provided Trend Shift Signal which switches from 0 to 1, if the trend becomes bullish or from 0 to -1, if the trend becomes bearish.

The user should know, that in this Indicator the starting point of the Moving Averages always begins at the first bar, because the starting progress is approximated appropriately. Most Moving Averages require a minimum number of bars to be calculated, which is chosen with the Moving Average Length. In this cases the length used will be automatically reduced in the background until the number of bars is sufficient to match the chosen length. So if data history is very short, the Indicator can be used never the less as good as possible.

It is feasible to switch the Indicator on a higher timeframe, while staying in a lower timeframe on the chart. This can be useful for making the indication cleaner, if the Moving Average is to choppy and shows too many false signals. On the other hand the benefit of a higher timeframe (or a higher Moving Average Length) is paid with higher latency of the signaling. So the user has to decide what the best setting in his case is.

This Indicator can be used with all kinds of charts. Even charts with percentage or negative values should work fine.
Release Notes
This update provides an option to reveal possible false signals, but using it adds more complexity. It can be seen as an alternative to the Moving Average Length. Mathematically it is a weighting function, that is separating the stronger signals from the weaker ones. However, setting the value too high causes a numerical problem, where some values are too small and therefore become zero. This can be useful but also make the indication maybe useless. The user has to identify such cases and manage them accordingly. The indicator will show light green or light red background, where a weakening of the trend indication has occurred. If signal values become zero, the background and the Moving Average Line will be colored gray.

Moreover a switch is added to show Moving Averages for Volatility Lows and Highs. This can be used for better identification of volatility contraction/expansion and extraordinary volatility peaks.
analysisrangerelativetrendTrend AnalysisVolatility

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