OPEN-SOURCE SCRIPT

Trend-Range Identifier

Trend trading algorithms fail in ranging market and Swing trading algorithm fail in trending market. Purpose of this indicator is to identify if the instrument is trending or ranging so that you can apply appropriate trading algorithm for the market.

Process:

  • ATR is calculated based on the input parameter atrLength
  • Range/Channel containing upLine and downLine is calculated by adding/subtracting atrMultiplier * atr to close price.
  • This range/channel will remain same until the price breaks either upLine or downLine.
  • Once price crosses one among upLine and downLine, then new upLine/downLine is calculated based on latest close price.
  • If price breaks upLine, the trend is considered to be up until the next line break or no lines are broken for rangeLength bars. During this state, candles are colored in lime and upLine/downLine are colored in green.
  • If price breaks downLine, the trend is considered to be down until the next line break or no lines are broken for rangeLength bars. During this state, candles are colored in orange and upLine/downLine are colored in red.
  • If close price does not break either upLine or downLine for rangeLength bars, then the instrument is considered to be in range. During this state, candles are colored in silver and upLine/downLine are colored in purple.
  • In ranging duration, we display one among Keltner Channel, Bollinger Band or Donchian Band as per input parameter : rangeChannel. Other parameters used for calculation are rangeLength and stdDev


I have not fully optimized parameters. Suggestions and feedback welcome.
High-Low IndexrangerangetradingTrend AnalysistrendtradingVolatility

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