OPEN-SOURCE SCRIPT

ATR Adaptive RSI Oscillator

Mis à jour
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.
Notes de version
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."
Notes de version
Bugfix: The 'over1ZscoreAtr' array, which was previously limited to 100, has now been configured to match the 'i_sampleSize' input
Notes de version
  • 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.

Notes de version
Code refactor
  • Code Refactor
  • Added dynamic color for "RSI plot".
  • Added a switch to control the appearance of the RSI length boost histogram.
Notes de version
Bug fixes
Notes de version
changed z-score default value to 2
Notes de version
Added original RSI plot
Notes de version
  • Code refactor
  • Incorporated an indicator description as comments within the code to provide better context and understanding
Notes de version
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.
Notes de version
Minor bug fixes
Notes de version
Function to Calculate Dynamic Length for ATR Adaptive Indicators added
Notes de version
Code refactor
Notes de version
Change Log:

  • Improved RSI calculation efficiency and accuracy.
  • Optimized code for faster execution and better resource management.
Notes de version
Changes include:

  • Improvements to the non-adaptive mode functionality.
  • Resolved issues with runtime errors.
  • Enhanced data collection for the default length when not using adaptive mode.
Notes de version
Updated documentation for functions (documentation strings)
adaptiversiATRAverage True Range (ATR)Bands and ChannelsdivergencesRelative Strength Index (RSI)smoothingvolatilty

Script open-source

Dans le plus pur esprit TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par nos Règles. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Vous voulez utiliser ce script sur un graphique ?


Aussi sur:

Clause de non-responsabilité