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.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.