//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
indicator(title="RSI Superstack")
// Get user input
rsiLength = input(title="RSI Length", defval=14)
rsiOB = input.float(title="RSI Overbought", defval=70)
rsiOS = input.float(title="RSI Oversold", defval=30)
timeframe1 = input.timeframe(title="Timeframe #1", defval="15")
timeframe2 = input.timeframe(title="Timeframe #2", defval="60")
timeframe3 = input.timeframe(title="Timeframe #3", defval="240")
// Declare custom security function
f_sec(_market, _res, _exp) => request.security(_market, _res, _exp[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1]
// Get RSI on all timeframes
rsi_timeframe1 = f_sec(syminfo.tickerid, timeframe1, ta.rsi(close, rsiLength))
rsi_timeframe2 = f_sec(syminfo.tickerid, timeframe2, ta.rsi(close, rsiLength))
rsi_timeframe3 = f_sec(syminfo.tickerid, timeframe3, ta.rsi(close, rsiLength))
// Check OB levels
rsi_ob1 = rsi_timeframe1 >= rsiOB
rsi_ob2 = rsi_timeframe2 >= rsiOB
rsi_ob3 = rsi_timeframe3 >= rsiOB
// Check OS levels
rsi_os1 = rsi_timeframe1 <= rsiOS
rsi_os2 = rsi_timeframe2 <= rsiOS
rsi_os3 = rsi_timeframe3 <= rsiOS
// Plot RSIs
plot(rsi_timeframe1, color=rsi_ob1 or rsi_os1 ? color.purple : color.green, title="RSI Timeframe #1")
plot(rsi_timeframe2, color=rsi_ob2 or rsi_os2 ? color.purple : color.red, title="RSI Timeframe #2")
plot(rsi_timeframe3, color=rsi_ob3 or rsi_os3 ? color.purple : color.orange, title="RSI Timeframe #3")
hline(rsiOB, color=color.gray, title="RSI Overbought")
hline(rsiOS, color=color.gray, title="RSI Oversold")
hline(50, color=color.new(color.gray,50), title="RSI Midpoint")
// Change color based on superstack condition
obTrigger = rsi_ob1 and rsi_ob2 and rsi_ob3
osTrigger = rsi_os1 and rsi_os2 and rsi_os3
bgcolor(obTrigger ? color.red : osTrigger ? color.green : na, title="RSI Trigger")
// Trigger alert
alertcondition(obTrigger or osTrigger, title="RSI Superstack Alert", message="{{ticker}} has 3 RSI values at extreme levels!")
Overview
Each series uses the same RSI length and turns purple when it reaches the overbought or oversold threshold. A red background marks when all three readings are overbought, and a green background marks when all three are oversold. Horizontal lines show those thresholds and a midpoint at 50. An alert fires when either stacked extreme occurs. The script does not place trades or define exits.
Three RSI plots on selectable timeframes
Adjustable RSI length and extreme levels
Background color when all three RSIs agree
Alert on stacked overbought or oversold readings
Horizontal overbought, oversold, and midpoint lines
The inputs you can change from the gear icon on the chart. Defaults are the author's.
Setting
Type
Default
Variable
RSI Length
int
14
rsiLength
RSI Overbought
float
70
rsiOB
RSI Oversold
float
30
rsiOS
Timeframe #1
timeframe
15
timeframe1
Timeframe #2
timeframe
60
timeframe2
Timeframe #3
timeframe
240
timeframe3
Third-party code. ForexR did not write, test or endorse this script, and the summary above was generated automatically from its code and README. Indicators describe the past, and a strategy's backtest can look better than live trading, especially when a script repaints. Check it in the Strategy Tester and on a demo account before you rely on it.
Asymmetrical RSI is an indicator that computes a custom relative strength index from the rate of change of a user-selected source. It plots the resulting ARSI line in a separate pane with color coding that turns green above the overbought level and red below t
This indicator calculates momentum setups based on the Relative Strength Index (RSI) and plots in a separate pane. It offers multiple scanning modes such as Continuous Break, Continuous Retracement, Flip Break, Flip Retracement, and both regular and hidden div
This indicator calculates a modified MACD oscillator and signal line alongside a trend EMA filter, plotting the output as a stylized column histogram in a separate pane. Instead of plotting true MACD distance, it quantifies positive and negative histogram mome
This indicator plots the Average Directional Index in a separate pane and colors the line teal or maroon according to whether plus DI is above minus DI. A horizontal key level and a silver background mark periods when ADX exceeds that threshold. With labels en
This indicator demonstrates an experimental graph-style scatter visualization within a separate pane using Pine Script arrays. It tracks two features across recent bars: the single-bar price change and a scaled 14-period Relative Strength Index. Values are loa
This script calculates and plots a Stochastic Oscillator (KD indicator) in a separate chart pane. It determines the fast stochastic value over a 9-period lookback, then applies a 3-period Simple Moving Average (SMA) to create the %K line, and a second 3-period