ابحث في النصوص البرمجية عن "rsi"
RSI مبسط//@version=5
indicator("RSI مبسط", overlay=false)
// حساب RSI
rsiValue = ta.rsi(close, 14)
// رسم خط RSI
plot(rsiValue)
// رسم المستويات
plot(95, "Level 95")
plot(78.6, "Level 78.6")
plot(61.8, "Level 61.8")
plot(38.2, "Level 38.2")
plot(21.4, "Level 21.4")
plot(5, "Level 5")
RSI+The Relative Strength Index can be used to determine Overbought and Oversold market conditions. This RSI+ indicator is set to a length faster then normal and changes color depending on momentum. When the RSI is Overbought a red shadow appears to indicate a sell is setting up. When the RSI is Oversold a green shadow appears to indicate a buy is setting up
RSI-VA modified RSI script with a a slight modified net volume formula
red is bearish
green is bullish
just attempt to make the RSI more easy and better to use
best entry is when green bellow 30
and vice versa when red start to cross down the 70
RSIStandard RSI that uses the highest and lowest output plots of the RSI formula using open, high, low, close formulas.
RSI Forecast Colorful [DiFlip]RSI Forecast Colorful
Introducing one of the most complete RSI indicators available — a highly customizable analytical tool that integrates advanced prediction capabilities. RSI Forecast Colorful is an evolution of the classic RSI, designed to anticipate potential future RSI movements using linear regression. Instead of simply reacting to historical data, this indicator provides a statistical projection of the RSI’s future behavior, offering a forward-looking view of market conditions.
⯁ Real-Time RSI Forecasting
For the first time, a public RSI indicator integrates linear regression (least squares method) to forecast the RSI’s future behavior. This innovative approach allows traders to anticipate market movements based on historical trends. By applying Linear Regression to the RSI, the indicator displays a projected trendline n periods ahead, helping traders make more informed buy or sell decisions.
⯁ Highly Customizable
The indicator is fully adaptable to any trading style. Dozens of parameters can be optimized to match your system. All 28 long and short entry conditions are selectable and configurable, allowing the construction of quantitative, statistical, and automated trading models. Full control over signals ensures precise alignment with your strategy.
⯁ Innovative and Science-Based
This is the first public RSI indicator to apply least-squares predictive modeling to RSI calculations. Technically, it incorporates machine-learning logic into a classic indicator. Using Linear Regression embeds strong statistical foundations into RSI forecasting, making this tool especially valuable for traders seeking quantitative and analytical advantages.
⯁ Scientific Foundation: Linear Regression
Linear regression is a fundamental statistical method that models the relationship between a dependent variable y and one or more independent variables x. The general formula for simple linear regression is:
y = β₀ + β₁x + ε
where:
y = predicted variable (e.g., future RSI value)
x = explanatory variable (e.g., bar index or time)
β₀ = intercept (value of y when x = 0)
β₁ = slope (rate of change of y relative to x)
ε = random error term
The goal is to estimate β₀ and β₁ by minimizing the sum of squared errors. This is achieved using the least squares method, ensuring the best linear fit to historical data. Once the coefficients are calculated, the model extends the regression line forward, generating the RSI projection based on recent trends.
⯁ Least Squares Estimation
To minimize the error between predicted and observed values, we use the formulas:
β₁ = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ((xᵢ - x̄)²)
β₀ = ȳ - β₁x̄
Σ denotes summation; x̄ and ȳ are the means of x and y; and i ranges from 1 to n (number of observations). These equations produce the best linear unbiased estimator under the Gauss–Markov assumptions — constant variance (homoscedasticity) and a linear relationship between variables.
⯁ Linear Regression in Machine Learning
Linear regression is a foundational component of supervised learning. Its simplicity and precision in numerical prediction make it essential in AI, predictive algorithms, and time-series forecasting. Applying regression to RSI is akin to embedding artificial intelligence inside a classic indicator, adding a new analytical dimension.
⯁ Visual Interpretation
Imagine a time series of RSI values like this:
Time →
RSI →
The regression line smooths these historical values and projects itself n periods forward, creating a predictive trajectory. This projected RSI line can cross the actual RSI, generating sophisticated entry and exit signals. In summary, the RSI Forecast Colorful indicator provides both the current RSI and the forecasted RSI, allowing comparison between past and future trend behavior.
⯁ Summary of Scientific Concepts Used
Linear Regression: Models relationships between variables using a straight line.
Least Squares: Minimizes squared prediction errors for optimal fit.
Time-Series Forecasting: Predicts future values from historical patterns.
Supervised Learning: Predictive modeling based on known output values.
Statistical Smoothing: Reduces noise to highlight underlying trends.
⯁ Why This Indicator Is Revolutionary
Scientifically grounded: Built on statistical and mathematical theory.
First of its kind: The first public RSI with least-squares predictive modeling.
Intelligent: Incorporates machine-learning logic into RSI interpretation.
Forward-looking: Generates predictive, not just reactive, signals.
Customizable: Exceptionally flexible for any strategic framework.
⯁ Conclusion
By combining RSI and linear regression, the RSI Forecast Colorful allows traders to predict market momentum rather than simply follow it. It's not just another indicator: it's a scientific advancement in technical analysis technology. Offering 28 configurable entry conditions and advanced signals, this open-source indicator paves the way for innovative quantitative systems.
⯁ Example of simple linear regression with one independent variable
This example demonstrates how a basic linear regression works when there is only one independent variable influencing the dependent variable. This type of model is used to identify a direct relationship between two variables.
⯁ In linear regression, observations (red) are considered the result of random deviations (green) from an underlying relationship (blue) between a dependent variable (y) and an independent variable (x)
This concept illustrates that sampled data points rarely align perfectly with the true trend line. Instead, each observed point represents the combination of the true underlying relationship and a random error component.
⯁ Visualizing heteroscedasticity in a scatterplot with 100 random fitted values using Matlab
Heteroscedasticity occurs when the variance of the errors is not constant across the range of fitted values. This visualization highlights how the spread of data can change unpredictably, which is an important factor in evaluating the validity of regression models.
⯁ The datasets in Anscombe’s quartet were designed to have nearly the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but look very different when plotted
This classic example shows that summary statistics alone can be misleading. Even with identical numerical metrics, the datasets display completely different patterns, emphasizing the importance of visual inspection when interpreting a model.
⯁ Result of fitting a set of data points with a quadratic function
This example illustrates how a second-degree polynomial model can better fit certain datasets that do not follow a linear trend. The resulting curve reflects the true shape of the data more accurately than a straight line.
⯁ What Is RSI?
The RSI (Relative Strength Index) is a technical indicator developed by J. Welles Wilder. It measures the velocity and magnitude of recent price movements to identify overbought and oversold conditions. The RSI ranges from 0 to 100 and is commonly used to identify potential reversals and evaluate trend strength.
⯁ How RSI Works
RSI is calculated from average gains and losses over a set period (commonly 14 bars) and plotted on a 0–100 scale. It consists of three key zones:
Overbought: RSI above 70 may signal an overbought market.
Oversold: RSI below 30 may signal an oversold market.
Neutral Zone: RSI between 30 and 70, indicating no extreme condition.
These zones help identify potential price reversals and confirm trend strength.
⯁ Entry Conditions
All conditions below are fully customizable and allow detailed control over entry signal creation.
📈 BUY
🧲 Signal Validity: Signal remains valid for X bars.
🧲 Signal Logic: Configurable using AND or OR.
🧲 RSI > Upper
🧲 RSI < Upper
🧲 RSI > Lower
🧲 RSI < Lower
🧲 RSI > Middle
🧲 RSI < Middle
🧲 RSI > MA
🧲 RSI < MA
🧲 MA > Upper
🧲 MA < Upper
🧲 MA > Lower
🧲 MA < Lower
🧲 RSI (Crossover) Upper
🧲 RSI (Crossunder) Upper
🧲 RSI (Crossover) Lower
🧲 RSI (Crossunder) Lower
🧲 RSI (Crossover) Middle
🧲 RSI (Crossunder) Middle
🧲 RSI (Crossover) MA
🧲 RSI (Crossunder) MA
🧲 MA (Crossover)Upper
🧲 MA (Crossunder)Upper
🧲 MA (Crossover) Lower
🧲 MA (Crossunder) Lower
🧲 RSI Bullish Divergence
🧲 RSI Bearish Divergence
🔮 RSI (Crossover) Forecast MA
🔮 RSI (Crossunder) Forecast MA
📉 SELL
🧲 Signal Validity: Signal remains valid for X bars.
🧲 Signal Logic: Configurable using AND or OR.
🧲 RSI > Upper
🧲 RSI < Upper
🧲 RSI > Lower
🧲 RSI < Lower
🧲 RSI > Middle
🧲 RSI < Middle
🧲 RSI > MA
🧲 RSI < MA
🧲 MA > Upper
🧲 MA < Upper
🧲 MA > Lower
🧲 MA < Lower
🧲 RSI (Crossover) Upper
🧲 RSI (Crossunder) Upper
🧲 RSI (Crossover) Lower
🧲 RSI (Crossunder) Lower
🧲 RSI (Crossover) Middle
🧲 RSI (Crossunder) Middle
🧲 RSI (Crossover) MA
🧲 RSI (Crossunder) MA
🧲 MA (Crossover)Upper
🧲 MA (Crossunder)Upper
🧲 MA (Crossover) Lower
🧲 MA (Crossunder) Lower
🧲 RSI Bullish Divergence
🧲 RSI Bearish Divergence
🔮 RSI (Crossover) Forecast MA
🔮 RSI (Crossunder) Forecast MA
🤖 Automation
All BUY and SELL conditions can be automated using TradingView alerts. Every configurable condition can trigger alerts suitable for fully automated or semi-automated strategies.
⯁ Unique Features
Linear Regression Forecast
Signal Validity: Keep signals active for X bars
Signal Logic: AND/OR configuration
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Chart Labels: BUY/SELL markers above price
Automation & Alerts: BUY/SELL
Background Colors: bgcolor
Fill Colors: fill
Linear Regression Forecast
Signal Validity: Keep signals active for X bars
Signal Logic: AND/OR configuration
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Chart Labels: BUY/SELL markers above price
Automation & Alerts: BUY/SELL
Background Colors: bgcolor
Fill Colors: fill
RSI Overbought/Oversold + Divergence Indicator (new)//@version=5
indicator('CryptoSignalScanner - RSI Overbought/Oversold + Divergence Indicator (new)',
//---------------------------------------------------------------------------------------------------------------------------------
//--- Define Colors ---------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------
vWhite = #FFFFFF
vViolet = #C77DF3
vIndigo = #8A2BE2
vBlue = #009CDF
vGreen = #5EBD3E
vYellow = #FFB900
vRed = #E23838
longColor = color.green
shortColor = color.red
textColor = color.white
bullishColor = color.rgb(38,166,154,0) //Used in the display table
bearishColor = color.rgb(239,83,79,0) //Used in the display table
nomatchColor = color.silver //Used in the display table
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Functions--------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
TF2txt(TF) =>
switch TF
"S" => "RSI 1s:"
"5S" => "RSI 5s:"
"10S" => "RSI 10s:"
"15S" => "RSI 15s:"
"30S" => "RSI 30s"
"1" => "RSI 1m:"
"3" => "RSI 3m:"
"5" => "RSI 5m:"
"15" => "RSI 15m:"
"30" => "RSI 30m"
"45" => "RSI 45m"
"60" => "RSI 1h:"
"120" => "RSI 2h:"
"180" => "RSI 3h:"
"240" => "RSI 4h:"
"480" => "RSI 8h:"
"D" => "RSI 1D:"
"1D" => "RSI 1D:"
"2D" => "RSI 2D:"
"3D" => "RSI 2D:"
"3D" => "RSI 3W:"
"W" => "RSI 1W:"
"1W" => "RSI 1W:"
"M" => "RSI 1M:"
"1M" => "RSI 1M:"
"3M" => "RSI 3M:"
"6M" => "RSI 6M:"
"12M" => "RSI 12M:"
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Show/Hide Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowInput = input(true, title='Show RSI', group='Show/Hide Settings')
maShowInput = input(false, title='Show MA', group='Show/Hide Settings')
showRSIMAInput = input(true, title='Show RSIMA Cloud', group='Show/Hide Settings')
rsiBandShowInput = input(true, title='Show Oversold/Overbought Lines', group='Show/Hide Settings')
rsiBandExtShowInput = input(true, title='Show Oversold/Overbought Extended Lines', group='Show/Hide Settings')
rsiHighlightShowInput = input(true, title='Show Oversold/Overbought Highlight Lines', group='Show/Hide Settings')
DivergenceShowInput = input(true, title='Show RSI Divergence Labels', group='Show/Hide Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Table Settings --------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowTable = input(true, title='Show RSI Table Information box', group="RSI Table Settings")
rsiTablePosition = input.string(title='Location', defval='middle_right', options= , group="RSI Table Settings", inline='1')
rsiTextSize = input.string(title=' Size', defval='small', options= , group="RSI Table Settings", inline='1')
rsiShowTF1 = input(true, title='Show TimeFrame1', group="RSI Table Settings", inline='tf1')
rsiTF1 = input.timeframe("15", title=" Time", group="RSI Table Settings", inline='tf1')
rsiShowTF2 = input(true, title='Show TimeFrame2', group="RSI Table Settings", inline='tf2')
rsiTF2 = input.timeframe("60", title=" Time", group="RSI Table Settings", inline='tf2')
rsiShowTF3 = input(true, title='Show TimeFrame3', group="RSI Table Settings", inline='tf3')
rsiTF3 = input.timeframe("240", title=" Time", group="RSI Table Settings", inline='tf3')
rsiShowTF4 = input(true, title='Show TimeFrame4', group="RSI Table Settings", inline='tf4')
rsiTF4 = input.timeframe("D", title=" Time", group="RSI Table Settings", inline='tf4')
rsiShowHist = input(true, title='Show RSI Historical Columns', group="RSI Table Settings", tooltip='Show the information of the 2 previous closed candles')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Input Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiSourceInput = input.source(close, 'Source', group='RSI Settings')
rsiLengthInput = input.int(14, minval=1, title='RSI Length', group='RSI Settings', tooltip='Here we set the RSI lenght')
rsiColorInput = input.color(#26a69a, title="RSI Color", group='RSI Settings')
rsimaColorInput = input.color(#ef534f, title="RSIMA Color", group='RSI Settings')
rsiBandColorInput = input.color(#787B86, title="RSI Band Color", group='RSI Settings')
rsiUpperBandExtInput = input.int(title='RSI Overbought Extended Line', defval=80, minval=50, maxval=100, group='RSI Settings')
rsiUpperBandInput = input.int(title='RSI Overbought Line', defval=70, minval=50, maxval=100, group='RSI Settings')
rsiLowerBandInput = input.int(title='RSI Oversold Line', defval=30, minval=0, maxval=50, group='RSI Settings')
rsiLowerBandExtInput = input.int(title='RSI Oversold Extended Line', defval=20, minval=0, maxval=50, group='RSI Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Input Settings -----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
maTypeInput = input.string("EMA", title="MA Type", options= , group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
maColorInput = input.color(color.yellow, title="MA Color", group='MA Settings') //#7E57C2
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Input Settings ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
lbrInput = input(title="Pivot Lookback Right", defval=2, group='RSI Divergence Settings')
lblInput = input(title="Pivot Lookback Left", defval=2, group='RSI Divergence Settings')
lbRangeMaxInput = input(title="Max of Lookback Range", defval=10, group='RSI Divergence Settings')
lbRangeMinInput = input(title="Min of Lookback Range", defval=2, group='RSI Divergence Settings')
plotBullInput = input(title="Plot Bullish", defval=true, group='RSI Divergence Settings')
plotHiddenBullInput = input(title="Plot Hidden Bullish", defval=true, group='RSI Divergence Settings')
plotBearInput = input(title="Plot Bearish", defval=true, group='RSI Divergence Settings')
plotHiddenBearInput = input(title="Plot Hidden Bearish", defval=true, group='RSI Divergence Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsi = ta.rsi(rsiSourceInput, rsiLengthInput)
rsiprevious = rsi
= request.security(syminfo.tickerid, rsiTF1, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF2, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF3, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF4, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
rsiMA = ma(rsi, maLengthInput, maTypeInput)
rsiMAPrevious = rsiMA
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Stoch RSI Settings + Calculation --------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
showStochRSI = input(false, title="Show Stochastic RSI", group='Stochastic RSI Settings')
smoothK = input.int(title="Stochastic K", defval=3, minval=1, maxval=10, group='Stochastic RSI Settings')
smoothD = input.int(title="Stochastic D", defval=4, minval=1, maxval=10, group='Stochastic RSI Settings')
lengthRSI = input.int(title="Stochastic RSI Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
lengthStoch = input.int(title="Stochastic Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
colorK = input.color(color.rgb(41,98,255,0), title="K Color", group='Stochastic RSI Settings', inline="1")
colorD = input.color(color.rgb(205,109,0,0), title="D Color", group='Stochastic RSI Settings', inline="1")
StochRSI = ta.rsi(rsiSourceInput, lengthRSI)
k = ta.sma(ta.stoch(StochRSI, StochRSI, StochRSI, lengthStoch), smoothK) //Blue Line
d = ta.sma(k, smoothD) //Red Line
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Settings ------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 50)
hiddenBearColor = color.new(color.red, 50)
//textColor = color.white
noneColor = color.new(color.white, 100)
osc = rsi
plFound = na(ta.pivotlow(osc, lblInput, lbrInput)) ? false : true
phFound = na(ta.pivothigh(osc, lblInput, lbrInput)) ? false : true
_inRange(cond) =>
bars = ta.barssince(cond == true)
lbRangeMinInput <= bars and bars <= lbRangeMaxInput
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define Plot & Line Colors ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiColor = rsi >= rsiMA ? rsiColorInput : rsimaColorInput
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Lines ------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Create a horizontal line at a specific price level
myLine = line.new(bar_index , 75, bar_index, 75, color = color.rgb(187, 14, 14), width = 2)
bottom = line.new(bar_index , 50, bar_index, 50, color = color.rgb(223, 226, 28), width = 2)
mymainLine = line.new(bar_index , 60, bar_index, 60, color = color.rgb(13, 154, 10), width = 3)
hline(50, title='RSI Baseline', color=color.new(rsiBandColorInput, 50), linestyle=hline.style_solid, editable=false)
hline(rsiBandExtShowInput ? rsiUpperBandExtInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandShowInput ? rsiUpperBandInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandShowInput ? rsiLowerBandInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandExtShowInput ? rsiLowerBandExtInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandExtInput ? color.new(rsiColorInput, 70) : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandInput ? rsi < rsiUpperBandExtInput ? color.new(#64ffda, 90) : na : na: na, title="Show Overbought Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? rsi > rsiLowerBandExtInput ? color.new(#F43E32, 90) : na : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? color.new(rsimaColorInput, 70) : na : na, title="Show Oversold Highlight", editable=false)
maPlot = plot(maShowInput ? rsiMA : na, title='MA', color=color.new(maColorInput,0), linewidth=1)
rsiMAPlot = plot(showRSIMAInput ? rsiMA : na, title="RSI EMA", color=color.new(rsimaColorInput,0), editable=false, display=display.none)
rsiPlot = plot(rsiShowInput ? rsi : na, title='RSI', color=color.new(rsiColor,0), linewidth=1)
fill(rsiPlot, rsiMAPlot, color=color.new(rsiColor, 60), title="RSIMA Cloud")
plot(showStochRSI ? k : na, title='Stochastic K', color=colorK, linewidth=1)
plot(showStochRSI ? d : na, title='Stochastic D', color=colorD, linewidth=1)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Divergence -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc > ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Lower Low
priceLL = low < ta.valuewhen(plFound, low , 1)
bullCond = plotBullInput and priceLL and oscHL and plFound
plot(
plFound ? osc : na,
offset=-lbrInput,
title="Regular Bullish",
linewidth=2,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
DivergenceShowInput ? bullCond ? osc : na : na,
offset=-lbrInput,
title="Regular Bullish Label",
text=" Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc < ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Higher Low
priceHL = low > ta.valuewhen(plFound, low , 1)
hiddenBullCond = plotHiddenBullInput and priceHL and oscLL and plFound
plot(
plFound ? osc : na,
offset=-lbrInput,
title="Hidden Bullish",
linewidth=2,
color=(hiddenBullCond ? hiddenBullColor : noneColor)
)
plotshape(
DivergenceShowInput ? hiddenBullCond ? osc : na : na,
offset=-lbrInput,
title="Hidden Bullish Label",
text=" H Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc < ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Higher High
priceHH = high > ta.valuewhen(phFound, high , 1)
bearCond = plotBearInput and priceHH and oscLH and phFound
plot(
phFound ? osc : na,
offset=-lbrInput,
title="Regular Bearish",
linewidth=2,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
DivergenceShowInput ? bearCond ? osc : na : na,
offset=-lbrInput,
title="Regular Bearish Label",
text=" Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc > ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Lower High
priceLH = high < ta.valuewhen(phFound, high , 1)
hiddenBearCond = plotHiddenBearInput and priceLH and oscHH and phFound
plot(
phFound ? osc : na,
offset=-lbrInput,
title="Hidden Bearish",
linewidth=2,
color=(hiddenBearCond ? hiddenBearColor : noneColor)
)
plotshape(
DivergenceShowInput ? hiddenBearCond ? osc : na : na,
offset=-lbrInput,
title="Hidden Bearish Label",
text=" H Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Check RSI Lineup ------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bullTF = rsi > rsi and rsi > rsi
bearTF = rsi < rsi and rsi < rsi
bullTF1 = rsi1 > rsi1_1 and rsi1_1 > rsi1_2
bearTF1 = rsi1 < rsi1_1 and rsi1_1 < rsi1_2
bullTF2 = rsi2 > rsi2_1 and rsi2_1 > rsi2_2
bearTF2 = rsi2 < rsi2_1 and rsi2_1 < rsi2_2
bullTF3 = rsi3 > rsi3_1 and rsi3_1 > rsi3_2
bearTF3 = rsi3 < rsi3_1 and rsi3_1 < rsi3_2
bullTF4 = rsi4 > rsi4_1 and rsi4_1 > rsi4_2
bearTF4 = rsi4 < rsi4_1 and rsi4_1 < rsi4_2
bbTxt(bull,bear) =>
bull ? "BULLISH" : bear ? "BEARISCH" : 'NO LINEUP'
bbColor(bull,bear) =>
bull ? bullishColor : bear ? bearishColor : nomatchColor
newTC(tBox, col, row, txt, width, txtColor, bgColor, txtHA, txtSize) =>
table.cell(table_id=tBox,column=col, row=row, text=txt, width=width,text_color=txtColor,bgcolor=bgColor, text_halign=txtHA, text_size=txtSize)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define RSI Table Setting ----------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
width_c0 = 0
width_c1 = 0
if rsiShowTable
var tBox = table.new(position=rsiTablePosition, columns=5, rows=6, bgcolor=color.rgb(18,22,33,50), frame_color=color.black, frame_width=1, border_color=color.black, border_width=1)
newTC(tBox, 0,1,"RSI Current",width_c0,color.orange,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,1,str.format(" {0,number,#.##} ", rsi),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,1,bbTxt(bullTF, bearTF),width_c0,vWhite,bbColor(bullTF, bearTF),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF1
newTC(tBox, 0,2,TF2txt(rsiTF1),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,2,str.format(" {0,number,#.##} ", rsi1),width_c0,vWhite,rsi1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,2,bbTxt(bullTF1, bearTF1),width_c0,vWhite,bbColor(bullTF1,bearTF1),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,2,str.format(" {0,number,#.##} ", rsi1_1),width_c0,vWhite,rsi1_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,2,str.format(" {0,number,#.##} ", rsi1_2),width_c0,vWhite,rsi1_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF2
newTC(tBox, 0,3,TF2txt(rsiTF2),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,3,str.format(" {0,number,#.##} ", rsi2),width_c0,vWhite,rsi2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,3,bbTxt(bullTF2, bearTF2),width_c0,vWhite,bbColor(bullTF2,bearTF2),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,3,str.format(" {0,number,#.##} ", rsi2_1),width_c0,vWhite,rsi2_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,3,str.format(" {0,number,#.##} ", rsi2_2),width_c0,vWhite,rsi2_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF3
newTC(tBox, 0,4,TF2txt(rsiTF3),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,4,str.format(" {0,number,#.##} ", rsi3),width_c0,vWhite,rsi3 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,4,bbTxt(bullTF3, bearTF3),width_c0,vWhite,bbColor(bullTF3,bearTF3),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,4,str.format(" {0,number,#.##} ", rsi3_1),width_c0,vWhite,rsi3_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,4,str.format(" {0,number,#.##} ", rsi3_2),width_c0,vWhite,rsi3_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF4
newTC(tBox, 0,5,TF2txt(rsiTF4),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,5,str.format(" {0,number,#.##} ", rsi4),width_c0,vWhite,rsi4 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,5,bbTxt(bullTF4, bearTF4),width_c0,vWhite,bbColor(bullTF4,bearTF4),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,5,str.format(" {0,number,#.##} ", rsi4_1),width_c0,vWhite,rsi4_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,5,str.format(" {0,number,#.##} ", rsi4_2),width_c0,vWhite,rsi4_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
//------------------------------------------------------
//--- Alerts -------------------------------------------
//------------------------------------------------------
RSI Bollinger Bands [DCAUT]█ RSI Bollinger Bands
📊 ORIGINALITY & INNOVATION
The RSI Bollinger Bands indicator represents a meaningful advancement in momentum analysis by combining two proven technical tools: the Relative Strength Index (RSI) and Bollinger Bands. This combination addresses a significant limitation in traditional RSI analysis - the use of fixed overbought/oversold thresholds (typically 70/30) that fail to adapt to changing market volatility conditions.
Core Innovation:
Rather than relying on static threshold levels, this indicator applies Bollinger Bands statistical analysis directly to RSI values, creating dynamic zones that automatically adjust based on recent momentum volatility. This approach helps reduce false signals during low volatility periods while remaining sensitive to genuine extremes during high volatility conditions.
Key Enhancements Over Traditional RSI:
Dynamic Thresholds: Overbought/oversold zones adapt to market conditions automatically, eliminating the need for manual threshold adjustments across different instruments and timeframes
Volatility Context: Band width provides immediate visual feedback about momentum volatility, helping traders distinguish between stable trends and erratic movements
Reduced False Signals: During ranging markets, narrower bands filter out minor RSI fluctuations that would trigger traditional fixed-threshold signals
Breakout Preparation: Band squeeze patterns (similar to price-based BB) signal potential momentum regime changes before they occur
Self-Referencing Analysis: By measuring RSI against its own statistical behavior rather than arbitrary levels, the indicator provides more relevant context
📐 MATHEMATICAL FOUNDATION
Two-Stage Calculation Process:
Stage 1: RSI Calculation
RSI = 100 - (100 / (1 + RS))
where RS = Average Gain / Average Loss over specified period
The RSI normalizes price momentum into a bounded 0-100 scale, making it ideal for statistical band analysis.
Stage 2: Bollinger Bands on RSI
Basis = MA(RSI, BB Length)
Upper Band = Basis + (StdDev(RSI, BB Length) × Multiplier)
Lower Band = Basis - (StdDev(RSI, BB Length) × Multiplier)
Band Width = Upper Band - Lower Band
The Bollinger Bands measure RSI's standard deviation from its own moving average, creating statistically-derived dynamic zones.
Statistical Interpretation:
Under normal distribution assumptions with default 2.0 multiplier, approximately 95% of RSI values should fall within the bands
Band touches represent statistically significant momentum extremes relative to recent behavior
Band width expansion indicates increasing momentum volatility (strengthening trend or increasing uncertainty)
Band width contraction signals momentum consolidation and potential regime change preparation
📊 COMPREHENSIVE SIGNAL ANALYSIS
Visual Color Signals:
This indicator features dynamic color fills that highlight extreme momentum conditions:
Green Fill (Above Upper Band):
Appears when RSI breaks above the upper band, indicating exceptionally strong bullish momentum
Represents dynamic overbought zone - not necessarily a reversal signal but a warning of extreme conditions
In strong uptrends, green fills can persist as RSI "rides the band" - this indicates sustained momentum strength
Exit of green zone (RSI falling back below upper band) often signals initial momentum weakening
Red Fill (Below Lower Band):
Appears when RSI breaks below the lower band, indicating exceptionally weak bearish momentum
Represents dynamic oversold zone - potential reversal or continuation signal depending on trend context
In strong downtrends, red fills can persist as RSI "rides the band" - this indicates sustained selling pressure
Exit of red zone (RSI rising back above lower band) often signals initial momentum recovery
Position-Based Signals:
Upper Band Interactions:
RSI Touching Upper Band: Dynamic overbought condition - momentum is extremely strong relative to recent volatility, potential exhaustion or continuation depending on trend context
RSI Riding Upper Band: Sustained strong momentum, often seen in powerful trends, not necessarily an immediate reversal signal but warrants monitoring for exhaustion
RSI Crossing Below Upper Band: Initial momentum weakening signal, particularly significant if accompanied by price divergence
Lower Band Interactions:
RSI Touching Lower Band: Dynamic oversold condition - momentum is extremely weak relative to recent volatility, potential reversal or continuation of downtrend
RSI Riding Lower Band: Sustained weak momentum, common in strong downtrends, monitor for potential exhaustion
RSI Crossing Above Lower Band: Initial momentum strengthening signal, early indication of potential reversal or consolidation
Basis Line Signals:
RSI Above Basis: Bullish momentum regime - upward pressure dominant
RSI Below Basis: Bearish momentum regime - downward pressure dominant
Basis Crossovers: Momentum regime shifts, more significant when accompanied by band width changes
RSI Oscillating Around Basis: Balanced momentum, often indicates ranging market conditions
Volatility-Based Signals:
Band Width Patterns:
Narrow Bands (Squeeze): Momentum volatility compression, often precedes significant directional moves, similar to price coiling patterns
Expanding Bands: Increasing momentum volatility, indicates trend acceleration or growing uncertainty
Narrowest Band in 100 Bars: Extreme compression alert, high probability of upcoming volatility expansion
Advanced Pattern Recognition:
Divergence Analysis:
Bullish Divergence: Price makes lower lows while RSI touches or stays above previous lower band touch, suggests downward momentum weakening
Bearish Divergence: Price makes higher highs while RSI touches or stays below previous upper band touch, suggests upward momentum weakening
Hidden Bullish: Price makes higher lows while RSI makes lower lows at the lower band, indicates strong underlying bullish momentum
Hidden Bearish: Price makes lower highs while RSI makes higher highs at the upper band, indicates strong underlying bearish momentum
Band Walk Patterns:
Upper Band Walk: RSI consistently touching or staying near upper band indicates exceptionally strong trend, wait for clear break below basis before considering reversal
Lower Band Walk: RSI consistently at lower band signals very weak momentum, requires break above basis for reversal confirmation
🎯 STRATEGIC APPLICATIONS
Strategy 1: Mean Reversion Trading
Setup Conditions:
Market Type: Ranging or choppy markets with no clear directional trend
Timeframe: Works best on lower timeframes (5m-1H) or during consolidation phases
Band Characteristic: Normal to narrow band width
Entry Rules:
Long Entry: RSI touches or crosses below lower band, wait for RSI to start rising back toward basis before entry
Short Entry: RSI touches or crosses above upper band, wait for RSI to start falling back toward basis before entry
Confirmation: Use price action confirmation (candlestick reversal patterns) at band touches
Exit Rules:
Target: RSI returns to basis line or opposite band
Stop Loss: Fixed percentage or below recent swing low/high
Time Stop: Exit if position not profitable within expected timeframe
Strategy 2: Trend Continuation Trading
Setup Conditions:
Market Type: Clear trending market with higher highs/lower lows
Timeframe: Medium to higher timeframes (1H-Daily)
Band Characteristic: Expanding or wide bands indicating strong momentum
Entry Rules:
Long Entry in Uptrend: Wait for RSI to pull back to basis line or slightly below, enter when RSI starts rising again
Short Entry in Downtrend: Wait for RSI to rally to basis line or slightly above, enter when RSI starts falling again
Avoid Counter-Trend: Do not fade RSI at bands during strong trends (band walk patterns)
Exit Rules:
Trailing Stop: Move stop to break-even when RSI reaches opposite band
Trend Break: Exit when RSI crosses basis against trend direction with conviction
Band Squeeze: Reduce position size when bands start narrowing significantly
Strategy 3: Breakout Preparation
Setup Conditions:
Market Type: Consolidating market after significant move or at key technical levels
Timeframe: Any timeframe, but longer timeframes provide more reliable breakouts
Band Characteristic: Narrowest band width in recent 100 bars (squeeze alert)
Preparation Phase:
Identify band squeeze condition (bands at multi-period narrowest point)
Monitor price action for consolidation patterns (triangles, rectangles, flags)
Prepare bracket orders for both directions
Wait for band expansion to begin
Entry Execution:
Breakout Confirmation: Enter in direction of RSI band breakout (RSI breaks above upper band or below lower band)
Price Confirmation: Ensure price also breaks corresponding technical level
Volume Confirmation: Look for volume expansion supporting the breakout
Risk Management:
Stop Loss: Place beyond consolidation pattern opposite extreme
Position Sizing: Use smaller size due to false breakout risk
Quick Exit: Exit immediately if RSI returns inside bands within 1-3 bars
Strategy 4: Multi-Timeframe Analysis
Timeframe Selection:
Higher Timeframe: Daily or 4H for trend context
Trading Timeframe: 1H or 15m for entry signals
Confirmation Timeframe: 5m or 1m for precise entry timing
Analysis Process:
Trend Identification: Check higher timeframe RSI position relative to bands, trade only in direction of higher timeframe momentum
Setup Formation: Wait for trading timeframe RSI to show pullback to basis in trending direction
Entry Timing: Use confirmation timeframe RSI band touch or crossover for precise entry
Alignment Confirmation: All timeframes should show RSI moving in same direction for highest probability setups
📋 DETAILED PARAMETER CONFIGURATION
RSI Source:
Close (Default): Standard price point, balances responsiveness and reliability
HL2: Reduces noise from intrabar volatility, provides smoother RSI values
HLC3 or OHLC4: Further smoothing for very choppy markets, slower to respond but more stable
Volume-Weighted: Consider using VWAP or volume-weighted prices for additional liquidity context
RSI Length Parameter:
Shorter Periods (5-10): More responsive but generates more signals, suitable for scalping or very active trading, higher noise level
Standard (14): Default and most widely used setting, proven balance between responsiveness and reliability, recommended starting point
Longer Periods (21-30): Smoother momentum measurement, fewer but potentially more reliable signals, better for swing trading or position trading
Optimization Note: Test across different market regimes, optimal length often varies by instrument volatility characteristics
RSI MA Type Parameter:
RMA (Default): Wilder's original smoothing method, provides traditional RSI behavior with balanced lag, most widely recognized and tested, recommended for standard technical analysis
EMA: Exponential smoothing gives more weight to recent values, faster response to momentum changes, suitable for active trading and trending markets, reduces lag compared to RMA
SMA: Simple average treats all periods equally, smoothest output with highest lag, best for filtering noise in choppy markets, useful for long-term position analysis
WMA: Weighted average emphasizes recent data less aggressively than EMA, middle ground between SMA and EMA characteristics, balanced responsiveness for swing trading
Advanced Options: Full access to 25+ moving average types including HMA (reduced lag), DEMA/TEMA (enhanced responsiveness), KAMA/FRAMA (adaptive behavior), T3 (smoothness), Kalman Filter (optimal estimation)
Selection Guide: RMA for traditional analysis and backtesting consistency, EMA for faster signals in trending markets, SMA for stability in ranging markets, adaptive types (KAMA/FRAMA) for varying volatility regimes
BB Length Parameter:
Short Length (10-15): Tighter bands that react quickly to RSI changes, more frequent band touches, suitable for active trading styles
Standard (20): Balanced approach providing meaningful statistical context without excessive lag
Long Length (30-50): Smoother bands that filter minor RSI fluctuations, captures only significant momentum extremes, fewer but higher quality signals
Relationship to RSI Length: Consider BB Length greater than RSI Length for cleaner signals
BB MA Type Parameter:
SMA (Default): Standard Bollinger Bands calculation using simple moving average for basis line, treats all periods equally, widely recognized and tested approach
EMA: Exponential smoothing for basis line gives more weight to recent RSI values, creates more responsive bands that adapt faster to momentum changes, suitable for trending markets
RMA: Wilder's smoothing provides consistent behavior aligned with traditional RSI when using RMA for both RSI and BB calculations
WMA: Weighted average for basis line balances recent emphasis with historical context, middle ground between SMA and EMA responsiveness
Advanced Options: Full access to 25+ moving average types for basis calculation, including HMA (reduced lag), DEMA/TEMA (enhanced responsiveness), KAMA/FRAMA (adaptive to volatility changes)
Selection Guide: SMA for standard Bollinger Bands behavior and backtesting consistency, EMA for faster band adaptation in dynamic markets, matching RSI MA type creates unified smoothing behavior
BB Multiplier Parameter:
Conservative (1.5-1.8): Tighter bands resulting in more frequent touches, useful in low volatility environments, higher signal frequency but potentially more false signals
Standard (2.0): Default setting representing approximately 95% confidence interval under normal distribution, widely accepted statistical threshold
Aggressive (2.5-3.0): Wider bands capturing only extreme momentum conditions, fewer but potentially more significant signals, reduces false signals in high volatility
Adaptive Approach: Consider adjusting multiplier based on instrument characteristics, lower multiplier for stable instruments, higher for volatile instruments
Parameter Optimization Workflow:
Start with default parameters (RSI:14, BB:20, Mult:2.0)
Test across representative sample period including different market regimes
Adjust RSI length based on desired responsiveness vs stability tradeoff
Tune BB length to match your typical holding period
Modify multiplier to achieve desired signal frequency
Validate on out-of-sample data to avoid overfitting
Document optimal parameters for different instruments and timeframes
Reference Levels Display:
Enabled (Default): Shows traditional 30/50/70 levels for comparison with dynamic bands, helps visualize the adaptive advantage
Disabled: Cleaner chart focusing purely on dynamic zones, reduces visual clutter for experienced users
Educational Value: Keeping reference levels visible helps understand how dynamic bands differ from fixed thresholds across varying market conditions
📈 PERFORMANCE ANALYSIS & COMPETITIVE ADVANTAGES
Comparison with Traditional RSI:
Fixed Threshold RSI Limitations:
In ranging low-volatility markets: RSI rarely reaches 70/30, missing tradable extremes
In trending high-volatility markets: RSI frequently breaks through 70/30, generating excessive false reversal signals
Across different instruments: Same thresholds applied to volatile crypto and stable forex pairs produce inconsistent results
Threshold Adjustment Problem: Manually changing thresholds for different conditions is subjective and lagging
RSI Bollinger Bands Advantages:
Automatic Adaptation: Bands adjust to current volatility regime without manual intervention
Consistent Logic: Same statistical approach works across different instruments and timeframes
Reduced False Signals: Band width filtering helps distinguish meaningful extremes from noise
Additional Information: Band width provides volatility context missing in standard RSI
Objective Extremes: Statistical basis (standard deviations) provides objective extreme definition
Comparison with Price-Based Bollinger Bands:
Price BB Characteristics:
Measures absolute price volatility
Affected by large price gaps and outliers
Band position relative to price not normalized
Difficult to compare across different price scales
RSI BB Advantages:
Normalized Scale: RSI's 0-100 bounds make band interpretation consistent across all instruments
Momentum Focus: Directly measures momentum extremes rather than price extremes
Reduced Gap Impact: RSI calculation smooths price gaps impact on band calculations
Comparable Analysis: Same RSI BB appearance across stocks, forex, crypto enables consistent strategy application
Performance Characteristics:
Signal Quality:
Higher Signal-to-Noise Ratio: Dynamic bands help filter RSI oscillations that don't represent meaningful extremes
Context-Aware Alerts: Band width provides volatility context helping traders adjust position sizing and stop placement
Reduced Whipsaws: During consolidations, narrower bands prevent premature signals from minor RSI movements
Responsiveness:
Adaptive Lag: Band calculation introduces some lag, but this lag is adaptive to current conditions rather than fixed
Faster Than Manual Adjustment: Automatic band adjustment is faster than trader's ability to manually modify thresholds
Balanced Approach: Combines RSI's inherent momentum lag with BB's statistical smoothing for stable yet responsive signals
Versatility:
Multi-Strategy Application: Supports both mean reversion (ranging markets) and trend continuation (trending markets) approaches
Universal Instrument Coverage: Works effectively across equities, forex, commodities, cryptocurrencies without parameter changes
Timeframe Agnostic: Same interpretation applies from 1-minute charts to monthly charts
Limitations and Considerations:
Known Limitations:
Dual Lag Effect: Combines RSI's momentum lag with BB's statistical lag, making it less suitable for very short-term scalping
Requires Volatility History: Needs sufficient bars for BB calculation, less effective immediately after major regime changes
Statistical Assumptions: Assumes RSI values are somewhat normally distributed, extreme trending conditions may violate this
Not a Standalone System: Like all indicators, should be combined with price action analysis and risk management
Optimal Use Cases:
Best for swing trading and position trading timeframes
Most effective in markets with alternating volatility regimes
Ideal for traders who use multiple instruments and timeframes
Suitable for systematic trading approaches requiring consistent logic
Suboptimal Conditions:
Very low timeframes (< 5 minutes) where lag becomes problematic
Instruments with extreme volatility spikes (gap-prone markets)
Markets in strong persistent trends where mean reversion rarely occurs
Periods immediately following major structural changes (new trading regime)
USAGE NOTES
This indicator is designed for technical analysis and educational purposes to help traders understand the interaction between momentum measurement and statistical volatility bands. The RSI Bollinger Bands has limitations and should not be used as the sole basis for trading decisions.
Important Considerations:
No Predictive Guarantee: Past band touches and patterns do not guarantee future price behavior
Market Regime Dependency: Indicator performance varies significantly between trending and ranging market conditions
Complementary Analysis Required: Should be used alongside price action, support/resistance levels, and fundamental analysis
Risk Management Essential: Always use proper position sizing, stop losses, and risk controls regardless of signal quality
Parameter Sensitivity: Different instruments and timeframes may require parameter optimization for optimal results
Continuous Monitoring: Band characteristics change with market conditions, requiring ongoing assessment
Recommended Supporting Analysis:
Price structure analysis (support/resistance, trend lines)
Volume confirmation for breakout signals
Multiple timeframe alignment
Market context awareness (news events, session times)
Correlation analysis with related instruments
The indicator aims to provide adaptive momentum analysis that adjusts to changing market volatility, but traders must apply sound judgment, proper risk management, and comprehensive market analysis in their decision-making process.
RSI Full Forecast [Titans_Invest]RSI Full Forecast
Get ready to experience the ultimate evolution of RSI-based indicators – the RSI Full Forecast, a boosted and even smarter version of the already powerful: RSI Forecast
Now featuring over 40 additional entry conditions (forecasts), this indicator redefines the way you view the market.
AI-Powered RSI Forecasting:
Using advanced linear regression with the least squares method – a solid foundation for machine learning - the RSI Full Forecast enables you to predict future RSI behavior with impressive accuracy.
But that’s not all: this new version also lets you monitor future crossovers between the RSI and the MA RSI, delivering early and strategic signals that go far beyond traditional analysis.
You’ll be able to monitor future crossovers up to 20 bars ahead, giving you an even broader and more precise view of market movements.
See the Future, Now:
• Track upcoming RSI & RSI MA crossovers in advance.
• Identify potential reversal zones before price reacts.
• Uncover statistical behavior patterns that would normally go unnoticed.
40+ Intelligent Conditions:
The new layer of conditions is designed to detect multiple high-probability scenarios based on historical patterns and predictive modeling. Each additional forecast is a window into the price's future, powered by robust mathematics and advanced algorithmic logic.
Full Customization:
All parameters can be tailored to fit your strategy – from smoothing periods to prediction sensitivity. You have complete control to turn raw data into smart decisions.
Innovative, Accurate, Unique:
This isn’t just an upgrade. It’s a quantum leap in technical analysis.
RSI Full Forecast is the first of its kind: an indicator that blends statistical analysis, machine learning, and visual design to create a true real-time predictive system.
⯁ SCIENTIFIC BASIS LINEAR REGRESSION
Linear Regression is a fundamental method of statistics and machine learning, used to model the relationship between a dependent variable y and one or more independent variables 𝑥.
The general formula for a simple linear regression is given by:
y = β₀ + β₁x + ε
β₁ = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ((xᵢ - x̄)²)
β₀ = ȳ - β₁x̄
Where:
y = is the predicted variable (e.g. future value of RSI)
x = is the explanatory variable (e.g. time or bar index)
β0 = is the intercept (value of 𝑦 when 𝑥 = 0)
𝛽1 = is the slope of the line (rate of change)
ε = is the random error term
The goal is to estimate the coefficients 𝛽0 and 𝛽1 so as to minimize the sum of the squared errors — the so-called Random Error Method Least Squares.
⯁ LEAST SQUARES ESTIMATION
To minimize the error between predicted and observed values, we use the following formulas:
β₁ = /
β₀ = ȳ - β₁x̄
Where:
∑ = sum
x̄ = mean of x
ȳ = mean of y
x_i, y_i = individual values of the variables.
Where:
x_i and y_i are the means of the independent and dependent variables, respectively.
i ranges from 1 to n, the number of observations.
These equations guarantee the best linear unbiased estimator, according to the Gauss-Markov theorem, assuming homoscedasticity and linearity.
⯁ LINEAR REGRESSION IN MACHINE LEARNING
Linear regression is one of the cornerstones of supervised learning. Its simplicity and ability to generate accurate quantitative predictions make it essential in AI systems, predictive algorithms, time series analysis, and automated trading strategies.
By applying this model to the RSI, you are literally putting artificial intelligence at the heart of a classic indicator, bringing a new dimension to technical analysis.
⯁ VISUAL INTERPRETATION
Imagine an RSI time series like this:
Time →
RSI →
The regression line will smooth these values and extend them n periods into the future, creating a predicted trajectory based on the historical moment. This line becomes the predicted RSI, which can be crossed with the actual RSI to generate more intelligent signals.
⯁ SUMMARY OF SCIENTIFIC CONCEPTS USED
Linear Regression Models the relationship between variables using a straight line.
Least Squares Minimizes the sum of squared errors between prediction and reality.
Time Series Forecasting Estimates future values based on historical data.
Supervised Learning Trains models to predict outputs from known inputs.
Statistical Smoothing Reduces noise and reveals underlying trends.
⯁ WHY THIS INDICATOR IS REVOLUTIONARY
Scientifically-based: Based on statistical theory and mathematical inference.
Unprecedented: First public RSI with least squares predictive modeling.
Intelligent: Built with machine learning logic.
Practical: Generates forward-thinking signals.
Customizable: Flexible for any trading strategy.
⯁ CONCLUSION
By combining RSI with linear regression, this indicator allows a trader to predict market momentum, not just follow it.
RSI Full Forecast is not just an indicator — it is a scientific breakthrough in technical analysis technology.
⯁ Example of simple linear regression, which has one independent variable:
⯁ In linear regression, observations ( red ) are considered to be the result of random deviations ( green ) from an underlying relationship ( blue ) between a dependent variable ( y ) and an independent variable ( x ).
⯁ Visualizing heteroscedasticity in a scatterplot against 100 random fitted values using Matlab:
⯁ The data sets in the Anscombe's quartet are designed to have approximately the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but are graphically very different. This illustrates the pitfalls of relying solely on a fitted model to understand the relationship between variables.
⯁ The result of fitting a set of data points with a quadratic function:
_________________________________________________
🔮 Linear Regression: PineScript Technical Parameters 🔮
_________________________________________________
Forecast Types:
• Flat: Assumes prices will remain the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
ta.linreg (built-in function)
Linear regression curve. A line that best fits the specified prices over a user-defined time period. It is calculated using the least squares method. The result of this function is calculated using the formula: linreg = intercept + slope * (length - 1 - offset), where intercept and slope are the values calculated using the least squares method on the source series.
Syntax:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset: Offset.
• return: Linear regression curve.
This function has been cleverly applied to the RSI, making it capable of projecting future values based on past statistical trends.
______________________________________________________
______________________________________________________
⯁ WHAT IS THE RSI❓
The Relative Strength Index (RSI) is a technical analysis indicator developed by J. Welles Wilder. It measures the magnitude of recent price movements to evaluate overbought or oversold conditions in a market. The RSI is an oscillator that ranges from 0 to 100 and is commonly used to identify potential reversal points, as well as the strength of a trend.
⯁ HOW TO USE THE RSI❓
The RSI is calculated based on average gains and losses over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and includes three main zones:
• Overbought: When the RSI is above 70, indicating that the asset may be overbought.
• Oversold: When the RSI is below 30, indicating that the asset may be oversold.
• Neutral Zone: Between 30 and 70, where there is no clear signal of overbought or oversold conditions.
______________________________________________________
______________________________________________________
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📈 RSI Conditions:
🔹 RSI > Upper
🔹 RSI < Upper
🔹 RSI > Lower
🔹 RSI < Lower
🔹 RSI > Middle
🔹 RSI < Middle
🔹 RSI > MA
🔹 RSI < MA
📈 MA Conditions:
🔹 MA > Upper
🔹 MA < Upper
🔹 MA > Lower
🔹 MA < Lower
📈 Crossovers:
🔹 RSI (Crossover) Upper
🔹 RSI (Crossunder) Upper
🔹 RSI (Crossover) Lower
🔹 RSI (Crossunder) Lower
🔹 RSI (Crossover) Middle
🔹 RSI (Crossunder) Middle
🔹 RSI (Crossover) MA
🔹 RSI (Crossunder) MA
🔹 MA (Crossover) Upper
🔹 MA (Crossunder) Upper
🔹 MA (Crossover) Lower
🔹 MA (Crossunder) Lower
📈 RSI Divergences:
🔹 RSI Divergence Bull
🔹 RSI Divergence Bear
📈 RSI Forecast:
🔹 RSI (Crossover) MA Forecast
🔹 RSI (Crossunder) MA Forecast
🔹 RSI Forecast 1 > MA Forecast 1
🔹 RSI Forecast 1 < MA Forecast 1
🔹 RSI Forecast 2 > MA Forecast 2
🔹 RSI Forecast 2 < MA Forecast 2
🔹 RSI Forecast 3 > MA Forecast 3
🔹 RSI Forecast 3 < MA Forecast 3
🔹 RSI Forecast 4 > MA Forecast 4
🔹 RSI Forecast 4 < MA Forecast 4
🔹 RSI Forecast 5 > MA Forecast 5
🔹 RSI Forecast 5 < MA Forecast 5
🔹 RSI Forecast 6 > MA Forecast 6
🔹 RSI Forecast 6 < MA Forecast 6
🔹 RSI Forecast 7 > MA Forecast 7
🔹 RSI Forecast 7 < MA Forecast 7
🔹 RSI Forecast 8 > MA Forecast 8
🔹 RSI Forecast 8 < MA Forecast 8
🔹 RSI Forecast 9 > MA Forecast 9
🔹 RSI Forecast 9 < MA Forecast 9
🔹 RSI Forecast 10 > MA Forecast 10
🔹 RSI Forecast 10 < MA Forecast 10
🔹 RSI Forecast 11 > MA Forecast 11
🔹 RSI Forecast 11 < MA Forecast 11
🔹 RSI Forecast 12 > MA Forecast 12
🔹 RSI Forecast 12 < MA Forecast 12
🔹 RSI Forecast 13 > MA Forecast 13
🔹 RSI Forecast 13 < MA Forecast 13
🔹 RSI Forecast 14 > MA Forecast 14
🔹 RSI Forecast 14 < MA Forecast 14
🔹 RSI Forecast 15 > MA Forecast 15
🔹 RSI Forecast 15 < MA Forecast 15
🔹 RSI Forecast 16 > MA Forecast 16
🔹 RSI Forecast 16 < MA Forecast 16
🔹 RSI Forecast 17 > MA Forecast 17
🔹 RSI Forecast 17 < MA Forecast 17
🔹 RSI Forecast 18 > MA Forecast 18
🔹 RSI Forecast 18 < MA Forecast 18
🔹 RSI Forecast 19 > MA Forecast 19
🔹 RSI Forecast 19 < MA Forecast 19
🔹 RSI Forecast 20 > MA Forecast 20
🔹 RSI Forecast 20 < MA Forecast 20
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📉 RSI Conditions:
🔸 RSI > Upper
🔸 RSI < Upper
🔸 RSI > Lower
🔸 RSI < Lower
🔸 RSI > Middle
🔸 RSI < Middle
🔸 RSI > MA
🔸 RSI < MA
📉 MA Conditions:
🔸 MA > Upper
🔸 MA < Upper
🔸 MA > Lower
🔸 MA < Lower
📉 Crossovers:
🔸 RSI (Crossover) Upper
🔸 RSI (Crossunder) Upper
🔸 RSI (Crossover) Lower
🔸 RSI (Crossunder) Lower
🔸 RSI (Crossover) Middle
🔸 RSI (Crossunder) Middle
🔸 RSI (Crossover) MA
🔸 RSI (Crossunder) MA
🔸 MA (Crossover) Upper
🔸 MA (Crossunder) Upper
🔸 MA (Crossover) Lower
🔸 MA (Crossunder) Lower
📉 RSI Divergences:
🔸 RSI Divergence Bull
🔸 RSI Divergence Bear
📉 RSI Forecast:
🔸 RSI (Crossover) MA Forecast
🔸 RSI (Crossunder) MA Forecast
🔸 RSI Forecast 1 > MA Forecast 1
🔸 RSI Forecast 1 < MA Forecast 1
🔸 RSI Forecast 2 > MA Forecast 2
🔸 RSI Forecast 2 < MA Forecast 2
🔸 RSI Forecast 3 > MA Forecast 3
🔸 RSI Forecast 3 < MA Forecast 3
🔸 RSI Forecast 4 > MA Forecast 4
🔸 RSI Forecast 4 < MA Forecast 4
🔸 RSI Forecast 5 > MA Forecast 5
🔸 RSI Forecast 5 < MA Forecast 5
🔸 RSI Forecast 6 > MA Forecast 6
🔸 RSI Forecast 6 < MA Forecast 6
🔸 RSI Forecast 7 > MA Forecast 7
🔸 RSI Forecast 7 < MA Forecast 7
🔸 RSI Forecast 8 > MA Forecast 8
🔸 RSI Forecast 8 < MA Forecast 8
🔸 RSI Forecast 9 > MA Forecast 9
🔸 RSI Forecast 9 < MA Forecast 9
🔸 RSI Forecast 10 > MA Forecast 10
🔸 RSI Forecast 10 < MA Forecast 10
🔸 RSI Forecast 11 > MA Forecast 11
🔸 RSI Forecast 11 < MA Forecast 11
🔸 RSI Forecast 12 > MA Forecast 12
🔸 RSI Forecast 12 < MA Forecast 12
🔸 RSI Forecast 13 > MA Forecast 13
🔸 RSI Forecast 13 < MA Forecast 13
🔸 RSI Forecast 14 > MA Forecast 14
🔸 RSI Forecast 14 < MA Forecast 14
🔸 RSI Forecast 15 > MA Forecast 15
🔸 RSI Forecast 15 < MA Forecast 15
🔸 RSI Forecast 16 > MA Forecast 16
🔸 RSI Forecast 16 < MA Forecast 16
🔸 RSI Forecast 17 > MA Forecast 17
🔸 RSI Forecast 17 < MA Forecast 17
🔸 RSI Forecast 18 > MA Forecast 18
🔸 RSI Forecast 18 < MA Forecast 18
🔸 RSI Forecast 19 > MA Forecast 19
🔸 RSI Forecast 19 < MA Forecast 19
🔸 RSI Forecast 20 > MA Forecast 20
🔸 RSI Forecast 20 < MA Forecast 20
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : RSI Full Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
RSI Forecast [Titans_Invest]RSI Forecast
Introducing one of the most impressive RSI indicators ever created – arguably the best on TradingView, and potentially the best in the world.
RSI Forecast is a visionary evolution of the classic RSI, merging powerful customization with groundbreaking predictive capabilities. While preserving the core principles of traditional RSI, it takes analysis to the next level by allowing users to anticipate potential future RSI movements.
Real-Time RSI Forecasting:
For the first time ever, an RSI indicator integrates linear regression using the least squares method to accurately forecast the future behavior of the RSI. This innovation empowers traders to stay one step ahead of the market with forward-looking insight.
Highly Customizable:
Easily adapt the indicator to your personal trading style. Fine-tune a variety of parameters to generate signals perfectly aligned with your strategy.
Innovative, Unique, and Powerful:
This is the world’s first RSI Forecast to apply this predictive approach using least squares linear regression. A truly elite-level tool designed for traders who want a real edge in the market.
⯁ SCIENTIFIC BASIS LINEAR REGRESSION
Linear Regression is a fundamental method of statistics and machine learning, used to model the relationship between a dependent variable y and one or more independent variables 𝑥.
The general formula for a simple linear regression is given by:
y = β₀ + β₁x + ε
Where:
y = is the predicted variable (e.g. future value of RSI)
x = is the explanatory variable (e.g. time or bar index)
β0 = is the intercept (value of 𝑦 when 𝑥 = 0)
𝛽1 = is the slope of the line (rate of change)
ε = is the random error term
The goal is to estimate the coefficients 𝛽0 and 𝛽1 so as to minimize the sum of the squared errors — the so-called Random Error Method Least Squares.
⯁ LEAST SQUARES ESTIMATION
To minimize the error between predicted and observed values, we use the following formulas:
β₁ = /
β₀ = ȳ - β₁x̄
Where:
∑ = sum
x̄ = mean of x
ȳ = mean of y
x_i, y_i = individual values of the variables.
Where:
x_i and y_i are the means of the independent and dependent variables, respectively.
i ranges from 1 to n, the number of observations.
These equations guarantee the best linear unbiased estimator, according to the Gauss-Markov theorem, assuming homoscedasticity and linearity.
⯁ LINEAR REGRESSION IN MACHINE LEARNING
Linear regression is one of the cornerstones of supervised learning. Its simplicity and ability to generate accurate quantitative predictions make it essential in AI systems, predictive algorithms, time series analysis, and automated trading strategies.
By applying this model to the RSI, you are literally putting artificial intelligence at the heart of a classic indicator, bringing a new dimension to technical analysis.
⯁ VISUAL INTERPRETATION
Imagine an RSI time series like this:
Time →
RSI →
The regression line will smooth these values and extend them n periods into the future, creating a predicted trajectory based on the historical moment. This line becomes the predicted RSI, which can be crossed with the actual RSI to generate more intelligent signals.
⯁ SUMMARY OF SCIENTIFIC CONCEPTS USED
Linear Regression Models the relationship between variables using a straight line.
Least Squares Minimizes the sum of squared errors between prediction and reality.
Time Series Forecasting Estimates future values based on historical data.
Supervised Learning Trains models to predict outputs from known inputs.
Statistical Smoothing Reduces noise and reveals underlying trends.
⯁ WHY THIS INDICATOR IS REVOLUTIONARY
Scientifically-based: Based on statistical theory and mathematical inference.
Unprecedented: First public RSI with least squares predictive modeling.
Intelligent: Built with machine learning logic.
Practical: Generates forward-thinking signals.
Customizable: Flexible for any trading strategy.
⯁ CONCLUSION
By combining RSI with linear regression, this indicator allows a trader to predict market momentum, not just follow it.
RSI Forecast is not just an indicator — it is a scientific breakthrough in technical analysis technology.
⯁ Example of simple linear regression, which has one independent variable:
⯁ In linear regression, observations ( red ) are considered to be the result of random deviations ( green ) from an underlying relationship ( blue ) between a dependent variable ( y ) and an independent variable ( x ).
⯁ Visualizing heteroscedasticity in a scatterplot against 100 random fitted values using Matlab:
⯁ The data sets in the Anscombe's quartet are designed to have approximately the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but are graphically very different. This illustrates the pitfalls of relying solely on a fitted model to understand the relationship between variables.
⯁ The result of fitting a set of data points with a quadratic function:
_______________________________________________________________________
🥇 This is the world’s first RSI indicator with: Linear Regression for Forecasting 🥇_______________________________________________________________________
_________________________________________________
🔮 Linear Regression: PineScript Technical Parameters 🔮
_________________________________________________
Forecast Types:
• Flat: Assumes prices will remain the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
ta.linreg (built-in function)
Linear regression curve. A line that best fits the specified prices over a user-defined time period. It is calculated using the least squares method. The result of this function is calculated using the formula: linreg = intercept + slope * (length - 1 - offset), where intercept and slope are the values calculated using the least squares method on the source series.
Syntax:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset: Offset.
• return: Linear regression curve.
This function has been cleverly applied to the RSI, making it capable of projecting future values based on past statistical trends.
______________________________________________________
______________________________________________________
⯁ WHAT IS THE RSI❓
The Relative Strength Index (RSI) is a technical analysis indicator developed by J. Welles Wilder. It measures the magnitude of recent price movements to evaluate overbought or oversold conditions in a market. The RSI is an oscillator that ranges from 0 to 100 and is commonly used to identify potential reversal points, as well as the strength of a trend.
⯁ HOW TO USE THE RSI❓
The RSI is calculated based on average gains and losses over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and includes three main zones:
• Overbought: When the RSI is above 70, indicating that the asset may be overbought.
• Oversold: When the RSI is below 30, indicating that the asset may be oversold.
• Neutral Zone: Between 30 and 70, where there is no clear signal of overbought or oversold conditions.
______________________________________________________
______________________________________________________
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📈 RSI Conditions:
🔹 RSI > Upper
🔹 RSI < Upper
🔹 RSI > Lower
🔹 RSI < Lower
🔹 RSI > Middle
🔹 RSI < Middle
🔹 RSI > MA
🔹 RSI < MA
📈 MA Conditions:
🔹 MA > Upper
🔹 MA < Upper
🔹 MA > Lower
🔹 MA < Lower
📈 Crossovers:
🔹 RSI (Crossover) Upper
🔹 RSI (Crossunder) Upper
🔹 RSI (Crossover) Lower
🔹 RSI (Crossunder) Lower
🔹 RSI (Crossover) Middle
🔹 RSI (Crossunder) Middle
🔹 RSI (Crossover) MA
🔹 RSI (Crossunder) MA
🔹 MA (Crossover) Upper
🔹 MA (Crossunder) Upper
🔹 MA (Crossover) Lower
🔹 MA (Crossunder) Lower
📈 RSI Divergences:
🔹 RSI Divergence Bull
🔹 RSI Divergence Bear
📈 RSI Forecast:
🔮 RSI (Crossover) MA Forecast
🔮 RSI (Crossunder) MA Forecast
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📉 RSI Conditions:
🔸 RSI > Upper
🔸 RSI < Upper
🔸 RSI > Lower
🔸 RSI < Lower
🔸 RSI > Middle
🔸 RSI < Middle
🔸 RSI > MA
🔸 RSI < MA
📉 MA Conditions:
🔸 MA > Upper
🔸 MA < Upper
🔸 MA > Lower
🔸 MA < Lower
📉 Crossovers:
🔸 RSI (Crossover) Upper
🔸 RSI (Crossunder) Upper
🔸 RSI (Crossover) Lower
🔸 RSI (Crossunder) Lower
🔸 RSI (Crossover) Middle
🔸 RSI (Crossunder) Middle
🔸 RSI (Crossover) MA
🔸 RSI (Crossunder) MA
🔸 MA (Crossover) Upper
🔸 MA (Crossunder) Upper
🔸 MA (Crossover) Lower
🔸 MA (Crossunder) Lower
📉 RSI Divergences:
🔸 RSI Divergence Bull
🔸 RSI Divergence Bear
📉 RSI Forecast:
🔮 RSI (Crossover) MA Forecast
🔮 RSI (Crossunder) MA Forecast
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : RSI Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
RSI adaptive zones [AdaptiveRSI]This script introduces a unified mathematical framework that auto-scales oversold/overbought and support/resistance zones for any period length. It also adds true RSI candles for spotting intrabar signals.
Built on the Logit RSI foundation, this indicator converts RSI into a statistically normalized space, allowing all RSI lengths to share the same mathematical footing.
What was once based on experience and observation is now grounded in math.
✦ ✦ ✦ ✦ ✦
💡 Example Use Cases
RSI(14): Classic overbought/oversold signals + divergence
Support in an uptrend using RSI(14)
Range breakouts using RSI(21)
Short-term pullbacks using RSI(5)
✦ ✦ ✦ ✦ ✦
THE PAST: RSI Interpretation Required Multiple Rulebooks
Over decades, RSI practitioners discovered that RSI behaves differently depending on trend and lookback length:
• In uptrends, RSI tends to hold higher support zones (40–50)
• In downtrends, RSI tends to resist below 50–60
• Short RSIs (e.g., RSI(2)) require far more extreme threshold values
• Longer RSIs cluster near the center and rarely reach 70/30
These observations were correct — but lacked a unifying mathematical explanation.
✦ ✦ ✦ ✦ ✦
THE PRESENT: One Framework Handles RSI(2) to RSI(200)
Instead of using fixed thresholds (70/30, 90/10, etc.), this indicator maps RSI into a normalized statistical space using:
• The Logit transformation to remove 0–100 scale distortion
• A universal scaling based on 2/√(n−1) scaling factor to equalize distribution shapes
As a result, RSI values become directly comparable across all lookback periods.
✦ ✦ ✦ ✦ ✦
💡 How the Adaptive Zones Are Calculated
The adaptive framework defines RSI zones as statistical regimes derived from the Logit-transformed RSI .
Each boundary corresponds to a standard deviation (σ) threshold, scaled by 2/√(n−1), making RSI distributions comparable across periods.
This structure was inspired by Nassim Nicholas Taleb’s body–shoulders–tails regime model:
Body (±0.66σ) — consolidation / equilibrium
Shoulders (±1σ to ±2.14σ) — trending region
Tails (outside of ±2.14σ) — rare, high-volatility behavior
Transitions between these regimes are defined by the derivatives of the position (CDF) function :
• ±1σ → shift from consolidation to trend
• ±√3σ → shift from trend to exhaustion
Adaptive Zone Summary
Consolidation: −0.66σ to +0.66σ
Support/Resistance: ±0.66σ to ±1σ
Uptrend/Downtrend: ±1σ to ±√3σ
Overbought/Oversold: ±√3σ to ±2.14σ
Tails: outside of ±2.14σ
✦ ✦ ✦ ✦ ✦
📌 Inverse Transformation: From σ-Space Back to RSI
A final step is required to return these statistically normalized boundaries back into the familiar 0–100 RSI scale. Because the Logit transform maps RSI into an unbounded real-number domain, the inverse operation uses the hyperbolic tangent function to compress σ-space back into the bounded RSI range.
RSI(n) = 50 + 50 · tanh(z / √(n − 1))
The result is a smooth, mathematically consistent conversion where the same statistical thresholds maintain identical meaning across all RSI lengths, while still expressing themselves as intuitive RSI values traders already understand.
✦ ✦ ✦ ✦ ✦
Key Features
Mathematically derived adaptive zones for any RSI period
Support/resistance zone identification for trend-aligned reversals
Optional OHLC RSI bars/candles for intrabar zone interactions
Fully customizable zone visibility and colors
Statistically consistent interpretation across all markets and timeframes
Inputs
RSI Length — core parameter controlling zone scaling
RSI Display : Line / Bar / Candle visualization modes
✦ ✦ ✦ ✦ ✦
💡 How to Use
This indicator is a framework , not a binary signal generator.
Start by defining the question you want answered, e.g.:
• Where is the breakout?
• Is price overextended or still trending?
• Is the correction ending, or is trend reversing?
Then:
Choose the RSI length that matches your timeframe
Observe which adaptive zone price is interacting with
Interpret market behavior accordingly
Example: Long-Term Trend Assesment using RSI(200)
A trader may ask: "Is this a long term top?"
Unlikely, because RSI(200) holds above Resistance zone , therefore the trend remains strong.
✦ ✦ ✦ ✦ ✦
👉 Practical tip:
If you used to overlay weekly RSI(14) on a daily chart (getting a line that waits 5 sessions to recalculate), you can now read the same long-horizon state continuously : set RSI(70) on the daily chart (~14 weeks × 5 days/week = 70 days) and let the adaptive zones update every bar .
Note: It won’t be numerically identical to the weekly RSI due to lookback period used, but it tracks the same regime on a standardized scale with bar-by-bar updates.
✦ ✦ ✦ ✦ ✦
Note: This framework describes statistical structure, not prediction. Use as part of a complete trading approach. Past behavior does not guarantee future outcomes.
framework ≠ guaranteed signal
---
Attribution & License
This indicator incorporates:
• Logit transformation of RSI
• Variance scaling using 2/√(n−1)
• Zone placement derived from Taleb’s body–shoulders–tails regime model and CDF derivatives
• Inverse TANH(z) transform for mapping z-scores back into bounded RSI space
Released under CC BY-NC-SA 4.0 — free for non-commercial use with credit.
© AdaptiveRSI
RSI Donchian Channel [DCAUT]█ RSI Donchian Channel
📊 ORIGINALITY & INNOVATION
The RSI Donchian Channel represents an important synthesis of two complementary analytical frameworks: momentum oscillators and breakout detection systems. This indicator addresses a common limitation in traditional RSI analysis by replacing fixed overbought/oversold thresholds with adaptive zones derived from historical RSI extremes.
Key Enhancement:
Traditional RSI analysis relies on static threshold levels (typically 30/70), which may not adequately reflect changing market volatility regimes. This indicator adapts the reference zones dynamically based on the actual RSI behavior over the lookback period, helping traders identify meaningful momentum extremes relative to recent price action rather than arbitrary fixed levels.
The implementation combines the proven momentum measurement capabilities of RSI with Donchian Channel's breakout detection methodology, creating a framework that identifies both momentum exhaustion points and potential continuation signals through the same analytical lens.
📐 MATHEMATICAL FOUNDATION
Core Calculation Process:
Step 1: RSI Calculation
The Relative Strength Index measures momentum by comparing the magnitude of recent gains to recent losses:
Calculate price changes between consecutive periods
Separate positive changes (gains) from negative changes (losses)
Apply selected smoothing method (RMA standard, also supports SMA, EMA, WMA) to both gain and loss series
Compute Relative Strength (RS) as the ratio of smoothed gains to smoothed losses
Transform RS into bounded 0-100 scale using the formula: RSI = 100 - (100 / (1 + RS))
Step 2: Donchian Channel Application
The Donchian Channel identifies the highest and lowest RSI values within the specified lookback period:
Upper Channel: Highest RSI value over the lookback period, represents the recent momentum peak
Lower Channel: Lowest RSI value over the lookback period, represents the recent momentum trough
Middle Channel (Basis): Average of upper and lower channels, serves as equilibrium reference
Channel Width Dynamics:
The distance between upper and lower channels reflects RSI volatility. Wide channels indicate high momentum variability, while narrow channels suggest momentum consolidation and potential breakout preparation. The indicator monitors channel width over a 100-period window to identify squeeze conditions that often precede significant momentum shifts.
📊 COMPREHENSIVE SIGNAL ANALYSIS
Primary Signal Categories:
Breakout Signals:
Upper Breakout: RSI crosses above the upper channel, indicates momentum reaching new relative highs and potential trend continuation, particularly significant when accompanied by price confirmation
Lower Breakout: RSI crosses below the lower channel, suggests momentum reaching new relative lows and potential trend exhaustion or reversal setup
Breakout strength is enhanced when the channel is narrow prior to the breakout, indicating a transition from consolidation to directional movement
Mean Reversion Signals:
Upper Touch Without Breakout: RSI reaches the upper channel but fails to break through, may indicate momentum exhaustion and potential reversal opportunity
Lower Touch Without Breakout: RSI reaches the lower channel without breakdown, suggests potential bounce as momentum reaches oversold extremes
Return to Basis: RSI moving back toward the middle channel after touching extremes signals momentum normalization
Trend Strength Assessment:
Sustained Upper Channel Riding: RSI consistently remains near or above the upper channel during strong uptrends, indicates persistent bullish momentum
Sustained Lower Channel Riding: RSI stays near or below the lower channel during strong downtrends, reflects persistent bearish pressure
Basis Line Position: RSI position relative to the middle channel helps identify the prevailing momentum bias
Channel Compression Patterns:
Squeeze Detection: Channel width narrowing to 100-period lows indicates momentum consolidation, often precedes significant directional moves
Expansion Phase: Channel widening after a squeeze confirms the initiation of a new momentum regime
Persistent Narrow Channels: Extended periods of tight channels suggest market indecision and accumulation/distribution phases
🎯 STRATEGIC APPLICATIONS
Trend Continuation Strategy:
This approach focuses on identifying and trading momentum breakouts that confirm established trends:
Identify the prevailing price trend using higher timeframe analysis or trend-following indicators
Wait for RSI to break above the upper channel in uptrends (or below the lower channel in downtrends)
Enter positions in the direction of the breakout when price action confirms the momentum shift
Place protective stops below the recent swing low (long positions) or above swing high (short positions)
Target profit levels based on prior swing extremes or use trailing stops to capture extended moves
Exit when RSI crosses back through the basis line in the opposite direction
Mean Reversion Strategy:
This method capitalizes on momentum extremes and subsequent corrections toward equilibrium:
Monitor for RSI reaching the upper or lower channel boundaries
Look for rejection signals (price reversal patterns, volume divergence) when RSI touches the channels
Enter counter-trend positions when RSI begins moving back toward the basis line
Use the basis line as the initial profit target for mean reversion trades
Implement tight stops beyond the channel extremes to limit risk on failed reversals
Scale out of positions as RSI approaches the basis line and closes the position when RSI crosses the basis
Breakout Preparation Strategy:
This approach positions traders ahead of potential volatility expansion from consolidation phases:
Identify squeeze conditions when channel width reaches 100-period lows
Monitor price action for consolidation patterns (triangles, rectangles, flags) during the squeeze
Prepare conditional orders for breakouts in both directions from the consolidation
Enter positions when RSI breaks out of the narrow channel with expanding width
Use the channel width expansion as a confirmation signal for the breakout's validity
Manage risk with stops just inside the opposite channel boundary
Multi-Timeframe Confluence Strategy:
Combining RSI Donchian Channel analysis across multiple timeframes can improve signal reliability:
Identify the primary trend direction using a higher timeframe RSI Donchian Channel (e.g., daily or weekly)
Use a lower timeframe (e.g., 4-hour or hourly) to time precise entry points
Enter long positions when both timeframes show RSI above their respective basis lines
Enter short positions when both timeframes show RSI below their respective basis lines
Avoid trades when timeframes provide conflicting signals (e.g., higher timeframe below basis, lower timeframe above)
Exit when the higher timeframe RSI crosses its basis line in the opposite direction
Risk Management Guidelines:
Effective risk management is essential for all RSI Donchian Channel strategies:
Position Sizing: Calculate position sizes based on the distance between entry point and stop loss, limiting risk to 1-2% of capital per trade
Stop Loss Placement: For breakout trades, place stops just inside the opposite channel boundary; for mean reversion trades, use stops beyond the channel extremes
Profit Targets: Use the basis line as a minimum target for mean reversion trades; for trend trades, target prior swing extremes or use trailing stops
Channel Width Context: Increase position sizes during narrow channels (lower volatility) and reduce sizes during wide channels (higher volatility)
Correlation Awareness: Monitor correlations between traded instruments to avoid over-concentration in similar setups
📋 DETAILED PARAMETER CONFIGURATION
RSI Source:
Defines the price data series used for RSI calculation:
Close (Default): Standard choice providing end-of-period momentum assessment, suitable for most trading styles and timeframes
High-Low Average (HL2): Reduces the impact of closing auction dynamics, useful for markets with significant end-of-day volatility
High-Low-Close Average (HLC3): Provides a more balanced view incorporating the entire period's range
Open-High-Low-Close Average (OHLC4): Offers the most comprehensive price representation, helpful for identifying overall period sentiment
Strategy Consideration: Use Close for end-of-period signals, HL2 or HLC3 for intraday volatility reduction, OHLC4 for capturing full period dynamics
RSI Length:
Controls the number of periods used for RSI calculation:
Short Periods (5-9): Highly responsive to recent price changes, produces more frequent signals with increased false signal risk, suitable for short-term trading and volatile markets
Standard Period (14): Widely accepted default balancing responsiveness with stability, appropriate for swing trading and intermediate-term analysis
Long Periods (21-28): Produces smoother RSI with fewer signals but more reliable trend identification, better for position trading and reducing noise in choppy markets
Optimization Approach: Test different lengths against historical data for your specific market and timeframe, consider using longer periods in ranging markets and shorter periods in trending markets
RSI MA Type:
Determines the smoothing method applied to price changes in RSI calculation:
RMA (Relative Moving Average - Default): Wilder's original smoothing method providing stable momentum measurement with gradual response to changes, maintains consistency with classical RSI interpretation
SMA (Simple Moving Average): Treats all periods equally, responds more quickly to changes than RMA but may produce more whipsaws in volatile conditions
EMA (Exponential Moving Average): Weights recent periods more heavily, increases responsiveness at the cost of potential noise, suitable for traders prioritizing early signal generation
WMA (Weighted Moving Average): Applies linear weighting favoring recent data, offers a middle ground between SMA and EMA responsiveness
Selection Guidance: Maintain RMA for consistency with traditional RSI analysis, use EMA or WMA for more responsive signals in fast-moving markets, apply SMA for maximum simplicity and transparency
DC Length:
Specifies the lookback period for Donchian Channel calculation on RSI values:
Short Periods (10-14): Creates tight channels that adapt quickly to changing momentum conditions, generates more frequent trading signals but increases sensitivity to short-term RSI fluctuations
Standard Period (20): Balances channel responsiveness with stability, aligns with traditional Bollinger Bands and moving average periods, suitable for most trading styles
Long Periods (30-50): Produces wider, more stable channels that better represent sustained momentum extremes, reduces signal frequency while improving reliability, appropriate for position traders and higher timeframes
Calibration Strategy: Match DC length to your trading timeframe (shorter for day trading, longer for swing trading), test channel width behavior during different market regimes, consider using adaptive periods that adjust to volatility conditions
Market Adaptation: Use shorter DC lengths in trending markets to capture momentum shifts earlier, apply longer periods in ranging markets to filter noise and focus on significant extremes
Parameter Combination Recommendations:
Scalping/Day Trading: RSI Length 5-9, DC Length 10-14, EMA or WMA smoothing for maximum responsiveness
Swing Trading: RSI Length 14, DC Length 20, RMA smoothing for balanced analysis (default configuration)
Position Trading: RSI Length 21-28, DC Length 30-50, RMA or SMA smoothing for stable signals
High Volatility Markets: Longer RSI periods (21+) with standard DC length (20) to reduce noise
Low Volatility Markets: Standard RSI length (14) with shorter DC length (10-14) to capture subtle momentum shifts
📈 PERFORMANCE ANALYSIS & COMPETITIVE ADVANTAGES
Adaptive Threshold Mechanism:
Unlike traditional RSI analysis with fixed 30/70 thresholds, this indicator's Donchian Channel approach provides several improvements:
Context-Aware Extremes: Overbought/oversold levels adjust automatically based on recent momentum behavior rather than arbitrary fixed values
Volatility Adaptation: In low volatility periods, channels narrow to reflect tighter momentum ranges; in high volatility, channels widen appropriately
Market Regime Recognition: The indicator implicitly adapts to different market conditions without manual threshold adjustments
False Signal Reduction: Adaptive channels help reduce premature reversal signals that often occur with fixed thresholds during strong trends
Signal Quality Characteristics:
The indicator's dual-purpose design provides distinct advantages for different trading objectives:
Breakout Trading: Channel boundaries offer clear, objective breakout levels that update dynamically, eliminating the ambiguity of when momentum becomes "too high" or "too low"
Mean Reversion: The basis line provides a natural profit target for reversion trades, representing the midpoint of recent momentum extremes
Trend Strength: Persistent channel boundary riding offers an objective measure of trend strength without additional indicators
Consolidation Detection: Channel width analysis provides early warning of potential volatility expansion from compression phases
Comparative Analysis:
When compared to traditional RSI implementations and other momentum frameworks:
vs. Fixed Threshold RSI: Provides market-adaptive reference levels rather than static values, helping to reduce false signals during trending markets where RSI can remain "overbought" or "oversold" for extended periods
vs. RSI Bollinger Bands: Offers clearer breakout signals and more intuitive extreme identification through actual high/low boundaries rather than statistical standard deviations
vs. Stochastic Oscillator: Maintains RSI's momentum measurement advantages (unbounded calculation avoiding scale compression) while adding the breakout detection capabilities of Donchian Channels
vs. Standard Donchian Channels: Applies breakout methodology to momentum space rather than price, providing earlier signals of potential trend changes before price breakouts occur
Performance Characteristics:
The indicator exhibits specific behavioral patterns across different market conditions:
Trending Markets: Excels at identifying momentum continuation through channel breakouts, RSI tends to ride one channel boundary during strong trends, providing trend confirmation
Ranging Markets: Channel width narrows during consolidation, offering early preparation signals for potential breakout trading opportunities
High Volatility: Channels widen to reflect increased momentum variability, automatically adjusting signal sensitivity to match market conditions
Low Volatility: Channels contract, making the indicator more sensitive to subtle momentum shifts that may be significant in calm market environments
Transition Periods: Channel squeezes often precede major trend changes, offering advance warning of potential regime shifts
Limitations and Considerations:
Users should be aware of certain operational characteristics:
Lookback Dependency: Channel boundaries depend entirely on the lookback period, meaning the indicator has no predictive element beyond identifying current momentum relative to recent history
Lag Characteristics: As with all moving average-based indicators, RSI calculation introduces lag, and channel boundaries update only as new extremes occur within the lookback window
Range-Bound Sensitivity: In extremely tight ranges, channels may become very narrow, potentially generating excessive signals from minor momentum fluctuations
Trending Persistence: During very strong trends, RSI may remain at channel extremes for extended periods, requiring patience for mean reversion setups or commitment to trend-following approaches
No Absolute Levels: Unlike traditional RSI, this indicator provides no fixed reference points (like 50), making it less suitable for strategies that depend on absolute momentum readings
USAGE NOTES
This indicator is designed for technical analysis and educational purposes to help traders understand momentum dynamics and identify potential trading opportunities. The RSI Donchian Channel has limitations and should not be used as the sole basis for trading decisions.
Important considerations:
Performance varies significantly across different market conditions, timeframes, and instruments
Historical signal patterns do not guarantee future results, as market behavior continuously evolves
Effective use requires understanding of both RSI momentum principles and Donchian Channel breakout concepts
Risk management practices (stop losses, position sizing, diversification) are essential for any trading application
Consider combining with additional analytical tools such as volume analysis, price action patterns, or trend indicators for confirmation
Backtest thoroughly on your specific instruments and timeframes before live trading implementation
Be aware that optimization on historical data may lead to curve-fitting and poor forward performance
The indicator performs best when used as part of a comprehensive trading methodology that incorporates multiple forms of market analysis, sound risk management, and realistic expectations about win rates and drawdowns.
RSI Zones Background + Optional RSI PaneOverview
This Pine Script indicator does two things at once:
Colors the background of the main price chart whenever the RSI value is below a lower threshold (default 30) or above an upper threshold (default 70). This highlights oversold and overbought zones directly on the price chart itself.
Optionally displays a separate RSI panel with the RSI line and shaded region between the two threshold levels for reference.
The indicator is fully customizable through the settings panel—color choices, transparency, and whether to show the separate RSI pane can all be adjusted.
Key Parts of the Code
1. Inputs
src: The source price series for RSI calculation.
len: RSI lookback length (default 14).
lowerThr and upperThr: The lower and upper thresholds (defaults: 30 and 70).
lowColor and highColor: Colors for the background when RSI is below or above the thresholds.
bgTrans: Transparency level for the background shading.
showRSI: Boolean to toggle the optional RSI pane on or off.
2. RSI Calculation
rsi = ta.rsi(src, len)
This computes the RSI from the chosen price source.
3. Background Coloring on the Price Chart
bgCol = rsi <= lowerThr ? color.new(lowColor,bgTrans) :
rsi >= upperThr ? color.new(highColor,bgTrans) :
na
bgcolor(bgCol)
If RSI ≤ lower threshold: background turns lowColor (oversold zone).
If RSI ≥ upper threshold: background turns highColor (overbought zone).
Otherwise, no background color.
4. Optional RSI Pane
plot(showRSI ? rsi : na, display=display.pane)
Plots the RSI line in a separate pane when showRSI is true; otherwise hides it.
5. Horizontal Lines for Thresholds
hLower = hline(lowerThr, ...)
hUpper = hline(upperThr, ...)
Two horizontal lines at the lower and upper thresholds.
Because hline() can’t be wrapped inside if blocks, the script always creates them but makes them transparent (using na color) when the pane is hidden.
6. Filling Between Threshold Lines
fill(hLower, hUpper, color=showRSI ? color.new(color.gray,95) : na)
When the RSI pane is visible, the area between the two threshold lines is shaded in gray to create a “mid-zone” effect. This fill also switches off (becomes na) if the pane is hidden.
7. Alerts
The script also includes two alert conditions:
When RSI crosses below the lower threshold.
When RSI crosses above the upper threshold.
How It Works in Practice
On the price chart, you’ll see the background turn blue (or your chosen color) when RSI is ≤30, and red when RSI is ≥70.
If you enable “Show RSI” in the settings, a separate RSI pane will appear below the price chart, plotting the RSI line with two threshold lines and a shaded region in between.
You can fully adjust transparency and colors to suit your chart style.
Benefits
Quickly visualize overbought and oversold conditions without opening a separate RSI window.
Optional RSI pane provides context when needed.
Customizable colors and transparency make it easy to integrate with any chart theme.
Alerts give you automatic notifications when RSI crosses key levels.
------------------------------------------------------------------------------------------------------------------
개요
이 지표는 두 가지 기능을 동시에 수행합니다.
가격 차트 뒤 배경에 색상 표시
RSI 값이 설정한 하단 임계값(기본 30) 이하이거나 상단 임계값(기본 70) 이상일 때, 가격 차트 뒤쪽에 과매도·과매수 구간을 색으로 표시해줍니다.
선택적으로 RSI 보조창 표시
옵션을 켜면 별도의 RSI 패널이 나타나서 RSI 라인과 두 임계값(30, 70)을 연결한 구간을 음영 처리하여 보여줍니다.
설정 창에서 색상·투명도·보조창 표시 여부를 전부 조정할 수 있습니다.
코드 핵심 설명
1. 입력값
src: RSI 계산에 사용할 가격 소스(기본 종가).
len: RSI 기간(기본 14).
lowerThr / upperThr: RSI 하단·상단 임계값(기본 30, 70).
lowColor / highColor: RSI가 각각 하단 이하·상단 이상일 때 배경 색상.
bgTrans: 배경 투명도(0=불투명, 100=투명).
showRSI: RSI 보조창을 켜고 끌 수 있는 스위치.
2. RSI 계산
rsi = ta.rsi(src, len)
지정한 가격 소스를 기반으로 RSI를 계산합니다.
3. 가격 차트 배경 색칠
bgCol = rsi <= lowerThr ? color.new(lowColor,bgTrans) :
rsi >= upperThr ? color.new(highColor,bgTrans) :
na
bgcolor(bgCol)
RSI ≤ 하단 임계값 → lowColor(과매도 색)
RSI ≥ 상단 임계값 → highColor(과매수 색)
나머지 구간은 색상 없음.
4. 선택적 RSI 보조창
plot(showRSI ? rsi : na, display=display.pane)
showRSI가 켜져 있으면 RSI 라인을 보조창에 표시하고, 꺼져 있으면 숨깁니다.
5. 임계값 가로선
hLower = hline(lowerThr, ...)
hUpper = hline(upperThr, ...)
하단·상단 임계값을 가로선으로 표시합니다.
hline은 if 블록 안에서 쓸 수 없기 때문에 항상 그려지지만, 보조창이 꺼지면 색을 na로 처리해 안 보이게 합니다.
6. 임계값 사이 영역 음영 처리
fill(hLower, hUpper, color=showRSI ? color.new(color.gray,95) : na)
보조창이 켜져 있을 때만 두 가로선 사이를 회색으로 채워 “중립 구간”을 강조합니다.
7. 알림 조건
RSI가 하단 임계값을 아래로 돌파할 때 알림.
RSI가 상단 임계값을 위로 돌파할 때 알림.
실제 작동 모습
가격 차트 뒤쪽에 RSI ≤30이면 파란색, RSI ≥70이면 빨간색 배경이 나타납니다(색상은 설정에서 변경 가능).
RSI 보조창을 켜면, RSI 라인과 임계값 가로선, 그리고 그 사이 음영 영역이 함께 나타납니다.
투명도를 높이거나 낮추어 강조 정도를 조절할 수 있습니다.
장점
별도의 RSI창을 열지 않고도 가격 차트 배경만으로 과매수·과매도 상태를 직관적으로 확인 가능.
필요하면 보조창으로 RSI를 직접 확인하면서 임계값 가이드와 음영 영역을 함께 볼 수 있음.
색상·투명도를 자유롭게 조절할 수 있어 차트 스타일에 맞게 커스터마이징 가능.
RSI가 임계값을 돌파할 때 자동 알림을 받을 수 있음.
RSI of RSI Deviation (RoRD)RSI of RSI Deviation (RoRD) - Advanced Momentum Acceleration Analysis
What is RSI of RSI Deviation (RoRD)?
RSI of RSI Deviation (RoRD) is a insightful momentum indicator that transcends traditional oscillator analysis by measuring the acceleration of momentum through sophisticated mathematical layering. By calculating RSI on RSI itself (RSI²) and applying advanced statistical deviation analysis with T3 smoothing, RoRD reveals hidden market dynamics that single-layer indicators miss entirely.
This isn't just another RSI variant—it's a complete reimagining of how we measure and visualize momentum dynamics. Where traditional RSI shows momentum, RoRD shows momentum's rate of change . Where others show static overbought/oversold levels, RoRD reveals statistically significant deviations unique to each market's character.
Theoretical Foundation - The Mathematics of Momentum Acceleration
1. RSI² (RSI of RSI) - The Core Innovation
Traditional RSI measures price momentum. RoRD goes deeper:
Primary RSI (RSI₁) : Standard RSI calculation on price
Secondary RSI (RSI²) : RSI calculated on RSI₁ values
This creates a "momentum of momentum" indicator that leads price action
Mathematical Expression:
RSI₁ = 100 - (100 / (1 + RS₁))
RSI² = 100 - (100 / (1 + RS₂))
Where RS₂ = Average Gain of RSI₁ / Average Loss of RSI₁
2. T3 Smoothing - Lag-Free Response
The T3 Moving Average, developed by Tim Tillson, provides:
Superior smoothing with minimal lag
Adaptive response through volume factor (vFactor)
Noise reduction while preserving signal integrity
T3 Formula:
T3 = c1×e6 + c2×e5 + c3×e4 + c4×e3
Where e1...e6 are cascaded EMAs and c1...c4 are volume-factor-based coefficients
3. Statistical Z-Score Deviation
RoRD employs dual-layer Z-score normalization :
Initial Z-Score : (RSI² - SMA) / StDev
Final Z-Score : Z-score of the Z-score for refined extremity detection
This identifies statistically rare events relative to recent market behavior
4. Multi-Timeframe Confluence
Compares current timeframe Z-score with higher timeframe (HTF)
Provides directional confirmation across time horizons
Filters false signals through timeframe alignment
Why RoRD is Different & More Sophisticated
Beyond Traditional Indicators:
Acceleration vs. Velocity : While RSI measures momentum (velocity), RoRD measures momentum's rate of change (acceleration)
Adaptive Thresholds : Z-score analysis adapts to market conditions rather than using fixed 70/30 levels
Statistical Significance : Signals are based on mathematical rarity, not arbitrary levels
Leading Indicator : RSI² often turns before price, providing earlier signals
Reduced Whipsaws : T3 smoothing eliminates noise while maintaining responsiveness
Unique Signal Generation:
Quantum Orbs : Multi-layered visual signals for statistically extreme events
Divergence Detection : Automated identification of price/momentum divergences
Regime Backgrounds : Visual market state classification (Bullish/Bearish/Neutral)
Particle Effects : Dynamic visualization of momentum energy
Visual Design & Interpretation Guide
Color Coding System:
Yellow (#e1ff00) : Neutral/balanced momentum state
Red (#ff0000) : Overbought/extreme bullish acceleration
Green (#2fff00) : Oversold/extreme bearish acceleration
Orange : Z-score visualization
Blue : HTF Z-score comparison
Main Visual Elements:
RSI² Line with Glow Effect
Multi-layer glow creates depth and emphasis
Color dynamically shifts based on momentum state
Line thickness indicates signal strength
Quantum Signal Orbs
Green Orbs Below : Statistically rare oversold conditions
Red Orbs Above : Statistically rare overbought conditions
Multiple layers indicate signal strength
Only appear at Z-score extremes for high-conviction signals
Divergence Markers
Green Circles : Bullish divergence detected
Red Circles : Bearish divergence detected
Plotted at pivot points for precision
Background Regimes
Green Background : Bullish momentum regime
Grey Background : Bearish momentum regime
Blue Background : Neutral/transitioning regime
Particle Effects
Density indicates momentum energy
Color matches current RSI² state
Provides dynamic market "feel"
Dashboard Metrics - Deep Dive
RSI² ANALYSIS Section:
RSI² Value (0-100)
Current smoothed RSI of RSI reading
>70 : Strong bullish acceleration
<30 : Strong bearish acceleration
~50 : Neutral momentum state
RSI¹ Value
Traditional RSI for reference
Compare with RSI² for acceleration/deceleration insights
Z-Score Status
🔥 EXTREME HIGH : Z > threshold, statistically rare bullish
❄️ EXTREME LOW : Z < threshold, statistically rare bearish
📈 HIGH/📉 LOW : Elevated but not extreme
➡️ NEUTRAL : Normal statistical range
MOMENTUM Section:
Velocity Indicator
▲▲▲ : Strong positive acceleration
▼▼▼ : Strong negative acceleration
Shows rate of change in RSI²
Strength Bar
██████░░░░ : Visual power gauge
Filled bars indicate momentum strength
Based on deviation from center line
SIGNALS Section:
Divergence Status
🟢 BULLISH DIV : Price making lows, RSI² making highs
🔴 BEARISH DIV : Price making highs, RSI² making lows
⚪ NO DIVERGENCE : No divergence detected
HTF Comparison
🔥 HTF EXTREME : Higher timeframe confirms extremity
📊 HTF NORMAL : Higher timeframe is neutral
Critical for multi-timeframe confirmation
Trading Application & Strategy
Signal Hierarchy (Highest to Lowest Priority):
Quantum Orb + HTF Alignment + Divergence
Highest conviction reversal signal
Z-score extreme + timeframe confluence + divergence
Quantum Orb + HTF Alignment
Strong reversal signal
Wait for price confirmation
Divergence + Regime Change
Medium-term reversal signal
Monitor for orb confirmation
Threshold Crosses
Traditional overbought/oversold
Use as alert, not entry
Entry Strategies:
For Reversals:
Wait for Quantum Orb signal
Confirm with HTF Z-score direction
Enter on price structure break
Stop beyond recent extreme
For Continuations:
Trade with regime background color
Use RSI² pullbacks to center line
Avoid signals against HTF trend
For Scalping:
Focus on Z-score extremes
Quick entries on orb signals
Exit at center line cross
Risk Management:
Reduce position size when signals conflict with HTF
Avoid trades during regime transitions (blue background)
Tighten stops after divergence completion
Scale out at statistical mean reversion
Development & Uniqueness
RoRD represents months of research into momentum dynamics and statistical analysis. Unlike indicators that simply combine existing tools, RoRD introduces several genuine innovations :
True RSI² Implementation : Not a smoothed RSI, but actual RSI calculated on RSI values
Dual Z-Score Normalization : Unique approach to finding statistical extremes
T3 Integration : First RSI² implementation with T3 smoothing for optimal lag reduction
Quantum Orb Visualization : Revolutionary signal display method
Dynamic Regime Detection : Automatic market state classification
Statistical Adaptability : Thresholds adapt to market volatility
This indicator was built from first principles, with each component carefully selected for its mathematical properties and practical trading utility. The result is a professional-grade tool that provides insights unavailable through traditional momentum analysis.
Best Practices & Tips
Start with default settings - they're optimized for most markets
Always check HTF alignment before taking signals
Use divergences as early warning , orbs as confirmation
Respect regime backgrounds - trade with them, not against
Combine with price action - RoRD shows when, price shows where
Adjust Z-score thresholds based on market volatility
Monitor dashboard metrics for complete market context
Conclusion
RoRD isn't just another indicator—it's a complete momentum analysis system that reveals market dynamics invisible to traditional tools. By combining momentum acceleration, statistical analysis, and multi-timeframe confluence with intuitive visualization, RoRD provides traders with a sophisticated edge in any market condition.
Whether you're scalping rapid reversals or positioning for major trend changes, RoRD's unique approach to momentum analysis will transform how you see and trade market dynamics.
See momentum's future. Trade with statistical edge.
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
RSI Analytic Volume Matrix [RAVM] Overview
RSI Analytic Volume Matrix is an overlay indicator that turns classic RSI into a multi-layered market-reading engine. Instead of treating RSI 30 and 70 as simple buy/sell lines, RAVM combines RSI geometry (angle and acceleration), statistical volume analysis, and a 5×5 VSA-inspired matrix to describe what is really happening inside each candle.
The script is designed as an educational and analytical tool. It does not generate trading signals. Instead, it helps you read the market context, understand where the pressure is coming from (buyers vs. sellers), and see how price, momentum, and volume interact in real time.
Concept & Philosophy
RAVM is built around a hierarchical logic and a few core ideas:
• Hierarchical State Machine: First, RSI defines a context (where we are in the 0–100 range). Then the geometric engine evaluates the angle-of-turn of RSI using a Z-Score. Only after a meaningful geometric event is detected does the system promote a bar to a potential setup (warning vs. confirmed).
• Geometric Primacy: The angle and acceleration of RSI (RSI geometry) are more important than the raw RSI level itself. RAVM uses a geometric veto: if the geometric trigger is not confirmed, the confidence score is capped below 50%, even if volume looks interesting.
• RSI Beyond 30 and 70: Being above 70 or below 30 is not treated as an automatic overbought/oversold signal. RAVM treats those zones as contextual factors that contribute only a partial portion of the final score, alongside geometry, total volume expansion, buy/sell balance, and delta power.
• Volume Decomposition: Volume is decomposed into total, buy-side, sell-side, and delta components. Each of these is normalized with a Z-Score over a shared statistical window, so RSI geometry and volume live in the same statistical context.
• Educational Scoring Pipeline: RAVM builds a 0–100 "Quantum Score" for each detected setup. The score expresses how strong the story is across four dimensions: geometry (RSI angle-of-turn), total volume expansion, which side is driving that volume (buyers vs. sellers), and the power of delta. The score is designed for learning and weighting, not for mechanical trade entries.
• VSA Matrix Engine: A 5×5 matrix combines momentum states and volume dynamics. Each cell corresponds to an interpreted VSA-style scenario (Absorption, Distribution, No Demand, Stopping Volume, Strong Reversal, etc.), shown both as text and as a heatmap dashboard on the chart.
How RAVM Works
1. RSI Context & Geometry
RAVM starts with a classic RSI, but it does not stop at simple level checks. It computes the velocity and acceleration of RSI and normalizes them via a Z-Score to produce an Angle-of-Turn metric (Z-AoT). This Z-AoT is then mapped into a 0–1 intensity value called MSI (Momentum Shift Intensity).
The script monitors both classic RSI zones (around 30 and 70) and geometric triggers. Entering the lower or upper zone is treated as a contextual event only. A setup becomes "confirmed" when a significant geometric turn is detected (based on Z-AoT thresholds). Otherwise, the bar is at most a warning.
2. Volume & Statistical Engine
The volume engine can work in two modes: a geometric approximation (based on candle structure) or a more precise intrabar mode using up/down volume requests. In both cases, RAVM builds a volume packet consisting of:
• Total volume
• Buy-side volume
• Sell-side volume
• Delta (buy – sell)
Each of these series is normalized using a Z-Score over the same statistical window that is used for RSI geometry. This allows RAVM to answer questions such as: Is total volume exceptional on this bar? Is the expansion mostly coming from buyers or from sellers? Is delta unusually strong or weak compared to recent history?
3. Scoring System (Quantum Score)
For each bar where a setup is active, RAVM computes a 0–100 score intended as an educational confidence measure. The scoring pipeline follows this sequence:
A. RSI Geometry (MSI): Measures the strength of the RSI angle-of-turn via Z-AoT. This has geometric primacy over simple level checks.
B. RSI Zone Context: Being below 30 or above 70 contributes only a partial bonus to the score, reflecting the idea that these zones are context, not automatic signals. Mildly supportive zones (e.g., RSI below 50 for bullish contexts) can also contribute with lower weight.
C. Total Volume Expansion: A normalized Volume Power term expresses how exceptional the total volume is relative to its recent distribution. If there is no meaningful volume expansion, the score remains modest even if RSI geometry looks interesting.
D. Which Side Is Driving the Volume: RAVM then checks whether the expansion is primarily on the buy side or the sell side, using Z-Score statistics for buy and sell volume separately. This stage does not yet rely on delta as a power metric; it simply answers the question: "Is this expansion mostly driven by buyers, sellers, or both?"
E. Delta as Final Power: Only at the final stage does the script bring in delta and its Z-Score as a measure of how one-sided the pressure really is. A strong negative delta during a bullish context, for example, can highlight absorption, while a strong positive delta against a bearish context can highlight distribution or a buying climax.
If a setup is not geometrically confirmed (for example, a simple entry into RSI 30/70 without a strong geometric turn), RAVM caps the final score below 50%. This "Geometric Veto" enforces the idea that RSI geometry must confirm before a scenario can be considered high-confidence.
4. Overlay UI & Smart Labels
RAVM is an overlay indicator: all information is drawn directly on the price chart, not in a separate pane. When a setup is active, a smart label is attached to the bar, together with a vertical connector line. Each label shows:
• Direction of the setup (bullish or bearish)
• Trigger type (classic OS/OB vs. geometric/hidden)
• Status (warning vs. confirmed)
• Quantum Score as a percentage
Confirmed setups use stronger colors and solid connectors, while warnings use softer colors and dotted connectors. The script also manages label placement to avoid overlap, keeping the chart clean and readable.
In addition to labels, a dashboard table is drawn on the chart. It displays the currently active matrix scenario, the dominant bias, a short textual interpretation, the full 5×5 heatmap, and summary metrics such as RSI, MSI, and Volume Power.
RSI Is Not Just 30 and 70
One of the central design decisions in RAVM is to treat RSI 30 and 70 as context, not as fixed buy/sell buttons. Many traders mechanically assume that RSI below 30 means "buy" and RSI above 70 means "sell". RAVM explicitly rejects this simplification.
Instead, the script asks a series of deeper questions: How sharp is the angle-of-turn of RSI right now? Is total volume expanding or contracting? Is that expansion dominated by buyers or sellers? Is delta confirming the move, or is there a hidden absorption or distribution taking place?
In the scoring logic, being in a lower or upper RSI zone contributes only part of the final score. Geometry, volume expansion, the buy/sell split, and delta power all have to align before a high-confidence scenario emerges. This makes RAVM much closer to a structured market-reading tool than a classic overbought/oversold indicator.
Matrix User Manual – Reading the 5×5 Grid
The heart of RAVM is its 5×5 matrix, where the vertical axis represents momentum states (M1–M5) and the horizontal axis represents volume dynamics (V1–V5). Each cell in this grid corresponds to a VSA-style scenario. The dashboard highlights the currently active cell and prints a textual description so you can read the story at a glance.
1. Confirmation Scenarios
These scenarios occur when momentum direction and volume expansion are aligned:
• Bullish Confirmation / Strong Reversal: Momentum is shifting strongly upward (often from a depressed RSI context), and expanded volume is driven mainly by buyers. Often seen as a strong bullish reversal or continuation signal from a VSA perspective.
• Bearish Confirmation / Strong Drop: Momentum is turning decisively downward, and expanded volume is driven mainly by sellers. This maps to strong bearish continuation or sharp reversal patterns.
2. Absorption & Stopping Volume
• Absorption: Total volume expands, but the dominant flow is opposite to the recent price move or the geometric bias. For example, heavy selling volume while the geometric context is bullish. This can indicate smart money quietly absorbing orders from the crowd.
• Stopping Volume: Exceptionally high volume appears near the end of an extended move, while momentum begins to decelerate. Price may still print new extremes, but the effort vs. result relationship signals potential exhaustion and the possibility of a turn.
3. Distribution & Buying Climax
• Distribution: Heavy buying volume appears within a bearish or topping context. Rather than healthy accumulation, this often represents larger players offloading inventory to late buyers. The matrix will typically flag this as a bearish-leaning scenario despite strong upside prints.
• Buying Climax: A surge of buy-side volume near the end of a strong uptrend, with momentum starting to weaken. From a VSA point of view, this is often the last push where retail aggressively buys what smart money is selling.
4. No Demand & No Supply
• No Demand: Price attempts to rise but does so on low, non-expansive volume. The market is not interested in following the move, and the lack of participation often precedes weakness or sideways action.
• No Supply: Price tries to push lower on thin volume. Selling pressure is limited, and the lack of supply can precede stabilization or recovery if buyers step back in.
5. Trend Exhaustion
• Uptrend Exhaustion: Momentum remains nominally bullish, but the quality of volume deteriorates (e.g., more effort, less net result). The matrix marks this as an uptrend losing internal strength, often after a series of aggressive moves.
• Downtrend Exhaustion: Similar logic in the opposite direction: strong prior downtrend, but increasingly inefficient downside progress relative to the volume invested. This can precede accumulation or a relief rally.
6. Effort vs. Result Scenarios
• Bullish Effort, Little Result: Buyers invest notable volume, but price progress is limited. This may reveal hidden selling into strength or a lack of follow-through from the broader market.
• Bearish Effort, Little Result: Sellers push volume, but price does not decline proportionally. This can indicate absorption of selling pressure and potential underlying demand.
7. Neutral, Churn & Thin Markets
• Neutral / Thin Market: Momentum and volume both remain muted. RAVM marks these as neutral cells where aggressive decision-making is usually less attractive and observing the broader structure is more important.
• High Volume Churn / Volatility: Both sides are active with high volume but limited directional progress. This can correspond to battle zones, local ranges, or high volatility rotations where the main message is conflict rather than clear trend.
Inputs & Options
RAVM includes several input groups to adapt the tool to your preferences:
• Localization: Multiple language options for all labels and dashboard text (e.g., English, Farsi, Turkish, Russian).
• RSI Core Settings: RSI length, source, and upper/lower contextual zones (typically around 30 and 70).
• Geometric Engine: Z-AoT sigma thresholds, confirmation ratios, and normalization window multiplier. These control how sensitive the script is to RSI angle-of-turn events.
• Volume Engine: Choice between geometric approximation and intrabar up/down volume, Z-Score thresholds for volume expansion, and related parameters.
• Visual Interface: Toggles for smart labels, dashboard table, font sizes, dashboard position, and color themes for bullish, bearish, and warning states.
Disclaimer
RSI Analytic Volume Matrix is provided for educational and research purposes only. It does not constitute financial advice and is not a signal generator. Any trading decisions you make based on this tool, or any other, are entirely your own responsibility. Always consider your own risk management rules and conduct your own analysis.






















