Relative Bandwidth Filter

This is a very simple script which can be used as measure to define your trading zones based on volatility.

This script tries to identify the area of low and high volatility based on comparison between Bandwidth of higher length and ATR of lower length.

Relative Bandwidth = Bandwidth / ATR

Bandwidth can be based on either Bollinger Band, Keltner Channel or Donchian Channel. Length of the bandwidth need to be ideally higher.
ATR is calculated using built in ATR method and ATR length need to be ideally lower than that used for calculating Bandwidth.

Once we got Relative Bandwidth, the next step is to apply Bollinger Band on this to measure how relatively high/low this value is.

Overall - If relative bandwidth is higher, then volatility is comparatively low. If relative bandwidth is lower, then volatility is comparatively high.

This can be used with your own strategy to filter out your non-trading zones based on volatility. Script plots a variable called "Signal" - which is not shown on chart pane. But, it is available in the data window. This can be used in another script as external input and apply logic.

Signal values can be
  • 1 : Allow only Long
  • -1 : Allow only short
  • 0 : Do not allow any trades
  • 2 : Allow both Long and Short

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 a publication is governed by House Rules. You can favorite it to use it on a chart.


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.

Want to use this script on a chart?