OPEN-SOURCE SCRIPT
RSI: chart overlay

This indicator maps RSI thresholds directly onto price. Since the EMA of price aligns with RSI’s 50-line, it draws a volatility-based band around the EMA to reveal levels such as 70 and 30.
By converting RSI values into visible price bands, the overlay lets you see exactly where price would have to move to hit traditional RSI boundaries. These bands adapt in real time to both price movement and market volatility, keeping the classic RSI logic intact while presenting it in the context of price action. This approach helps traders interpret RSI signals without leaving the main chart window.
The calculation uses the same components as the RSI: alternative derivation script: Wilder’s EMA for smoothing, a volatility-based unit for scaling, and a normalization factor. The result is a dynamic band structure on the chart, representing RSI boundary levels in actual price terms.
Key components and calculation breakdown:
- Wilder’s EMA
Used as the anchor point for measuring price position.Pine Script® myEMA = ta.rma(close, Length) - Volatility Unit
Derived from the EMA of absolute close-to-close price changes.Pine Script® CC_vol = ta.rma(math.abs(close - close[1]), Length) - Normalization Factor
Scales the volatility unit to align with the RSI formula’s structure.Pine Script® normalization_factor = 1 / (Length - 1) - Upper and Lower Boundaries
Defines price bands corresponding to selected RSI threshold values.Pine Script® up_b = myEMA + ((upper - 50) / 50) * (CC_vol / normalization_factor) down_b = myEMA - ((50 - lower) / 50) * (CC_vol / normalization_factor) - Inputs
- RSI length
- Upper boundary – RSI level above 50
- Lower boundary – RSI level below 50
- ON/OFF toggle for 50-point line (EMA of close prices)
- ON/OFF toggle for overbought/oversold coloring (use with line chart)
- RSI length
Interpretation:
- Each band on the chart represents a chosen RSI level.
- When price touches a band, RSI is at that threshold.
- The distance between moving average and bands adjusts automatically with volatility and your selected RSI length.
- All calculations remain fully consistent with standard RSI values.
Feedback and code suggestions are welcome, especially regarding implementation efficiency and customization.
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。