ATR Adaptive RSI Oscillator

tkarolak Updated   
The "ATR Adaptive RSI Oscillator" is a versatile technical analysis tool designed to help traders make informed decisions in dynamic market conditions. It combines the Relative Strength Index (RSI) with the Average True Range (ATR) to provide adaptive and responsive insights into price trends.

Key Features:

  • Adaptive RSI Periods: The indicator introduces the concept of adaptive RSI periods based on the ATR (Average True Range) of the market. When enabled, it dynamically adjusts the RSI calculation period, offering longer periods during high volatility and shorter periods during low volatility. This adaptability enhances the accuracy of RSI signals across varying market conditions.

  • Volume-Based Smoothing: The indicator includes a smoothing feature that computes a time-decayed weighted moving average of RSI values over the last two bars, using volume-based weights. This approach offers a time-sensitive smoothing effect, reducing noise for a clearer view of trend strength compared to the standard RSI.

  • Divergence Detection: Traders can enable divergence detection to identify potential reversal points in the market. The indicator highlights regular bullish and bearish divergences, providing valuable insights into market sentiment shifts.

  • Customizable Parameters: Traders have the flexibility to customize various parameters, including RSI length, adaptive mode, ATR length, and divergence settings, to tailor the indicator to their trading strategy.

  • Overbought and Oversold Levels: The indicator includes overbought (OB) and oversold (OS) boundary lines that can be adjusted to suit individual preferences. These levels help traders identify potential reversal zones.

The "ATR Adaptive RSI Oscillator" is a powerful tool for traders seeking to adapt their trading strategies to changing market dynamics. Whether you're a trend follower or a contrarian trader, this indicator provides valuable insights to support your decision-making process.
Release Notes:
Change Log:

1. Some bug fixes

2. Added logic to enhance the calculation of dynamic/adaptive RSI length, now derived from a Normal Distribution based on a larger data sample.
Normal Distribution: The Normal Distribution is a statistical concept used to model the distribution of data. It is characterized by two key parameters: the mean (average) and the standard deviation (a measure of data dispersion).

  • Identifying Data Points (ATR) : The primary objective of utilizing this dataset and Normal Distribution is to identify specific data points that meet predefined criteria.

  • Criteria Exceeding One Standard Deviation (1st Z-Score Range): The selection criteria involve identifying ATRs that deviate from the mean by more than one standard deviation. In simpler terms, we focus on data points that fall outside the range of one standard deviation above and below the mean.

  • Adaptive RSI Length: The adaptive RSI length is dynamically determined based on the characteristics of the dataset and the criteria mentioned above. Specifically, when data points exceed one standard deviation from the mean, indicating increased volatility or divergence from the norm, the RSI calculation period is adjusted. This adaptive approach ensures that the RSI indicator responds effectively to changing market conditions."

Release Notes:
Bugfix: The 'over1ZscoreAtr' array, which was previously limited to 100, has now been configured to match the 'i_sampleSize' input
Release Notes:
  • Added z-score. The Z-scores multiplier acts as a filtering mechanism, offering insights into the degree to which each data point (ATR) deviates from the mean in terms of standard deviations.
  • Made minor changes and added input constraints.
Release Notes:
Code refactor
  • Code Refactor
  • Added dynamic color for "RSI plot".
  • Added a switch to control the appearance of the RSI length boost histogram.
Release Notes:
Bug fixes
Release Notes:
changed z-score default value to 2
Release Notes:
Added original RSI plot
Release Notes:
  • Code refactor
  • Incorporated an indicator description as comments within the code to provide better context and understanding
Release Notes:
Technical Optimizations:

  • Normalized ATR values to align with the boosted range of RSI lengths, refining the adaptive mechanism.
  • Simplified RSI calculations for various periods and implemented a new method for adaptive length determination based on ATR conditions.

Code Refinements:

  • Adopted camelCase naming convention throughout the script for improved readability and standardization.
  • Added minimalistic and informative comments to aid in understanding the script's functionality.
Release Notes:
Minor bug fixes
Release Notes:
Function to Calculate Dynamic Length for ATR Adaptive Indicators added
Release Notes:
Code refactor

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?