PROTECTED SOURCE SCRIPT
ðŧ RSI Dual-Band Reversal Strategy (Hacker Mode)

This ðŧ RSI Dual-Band Reversal Strategy (Hacker Mode) is a mean-reversion trading strategy built on the Relative Strength Index (RSI) indicator.
It identifies potential trend reversals when price momentum reaches extreme overbought or oversold levels â then enters trades expecting the price to revert.

USDCNH 
USDCNH 
EURUSD
BTCUSD 
GBPMXN
XAUUSD
âïļ Strategy Concept
The RSI measures market momentum on a scale of 0â100.
When RSI is too low, it signals an oversold market â potential buy.
When RSI is too high, it signals an overbought market â potential sell.
This strategy sets two reversal zones using dual RSI bands:
Zone RSI Range Meaning Action
Upper Band 80â90 Overbought Prepare to Sell
Lower Band 10â20 Oversold Prepare to Buy
ð§Đ Code Breakdown
1. Input Parameters
rsiLength = input.int(14)
upperBandHigh = input.float(90.0)
upperBandLow = input.float(80.0)
lowerBandLow = input.float(10.0)
lowerBandHigh = input.float(20.0)
You can adjust:
RSI Length (default 14) â sensitivity of the RSI.
Upper/Lower Bands â control when buy/sell triggers occur.
2. RSI Calculation
rsi = ta.rsi(close, rsiLength)
Calculates the RSI of the closing price over 14 periods.
3. Signal Logic
buySignal = ta.crossover(rsi, lowerBandHigh)
sellSignal = ta.crossunder(rsi, upperBandLow)
Buy Signal: RSI crosses up through 20 â market rebounding from oversold.
Sell Signal: RSI crosses down through 80 â market turning from overbought.
4. Plotting
RSI line (lime green)
Bands:
ðī 80â90 (Sell Zone)
ðĒ 10â20 (Buy Zone)
Gray midline at 50 for reference.
Triangle markers for signals:
ðĒ âBUYâ below chart
ðī âSELLâ above chart
5. Trading Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell",
BTCUSD
strategy.short
XAUUSD
)
Opens a long position on a buy signal.
Opens a short position on a sell signal.
No explicit stop loss or take profit â positions reverse when an opposite signal appears.
ð§ How It Works (Step-by-Step Example)
RSI drops below 20 â oversold â buy signal triggers.
RSI rises toward 80 â overbought â sell signal triggers.
Strategy flips position, always staying in the market (either long or short).
ð Visual Summary
Imagine the RSI line oscillating between 0 and 100:
100 ââââââââââââââââââââââââââââââââ
90 âââââ Upper Band High (Sell Limit)
80 âââââ Upper Band Low (Sell Trigger)
50 âââââ Midline
20 âââââ Lower Band High (Buy Trigger)
10 âââââ Lower Band Low (Buy Limit)
0 ââââââââââââââââââââââââââââââââ
When RSI moves above 80 â SELL
When RSI moves below 20 â BUY
⥠Strategy Profile
Category Description
Type Mean Reversion
Entry Rule RSI crosses up 20 â Buy
Exit/Reverse Rule RSI crosses down 80 â Sell
Strengths Simple, effective in sideways/range markets, minimal lag
Weaknesses Weak in strong trends, no stop-loss or take-profit logic
ðĄ Suggested Improvements
You can enhance this script by adding:
Stop loss & take profit levels (e.g., % or ATR-based).
Trend filter (e.g., trade only in direction of 200 EMA).
RSI smoothing to reduce noise.
It identifies potential trend reversals when price momentum reaches extreme overbought or oversold levels â then enters trades expecting the price to revert.
âïļ Strategy Concept
The RSI measures market momentum on a scale of 0â100.
When RSI is too low, it signals an oversold market â potential buy.
When RSI is too high, it signals an overbought market â potential sell.
This strategy sets two reversal zones using dual RSI bands:
Zone RSI Range Meaning Action
Upper Band 80â90 Overbought Prepare to Sell
Lower Band 10â20 Oversold Prepare to Buy
ð§Đ Code Breakdown
1. Input Parameters
rsiLength = input.int(14)
upperBandHigh = input.float(90.0)
upperBandLow = input.float(80.0)
lowerBandLow = input.float(10.0)
lowerBandHigh = input.float(20.0)
You can adjust:
RSI Length (default 14) â sensitivity of the RSI.
Upper/Lower Bands â control when buy/sell triggers occur.
2. RSI Calculation
rsi = ta.rsi(close, rsiLength)
Calculates the RSI of the closing price over 14 periods.
3. Signal Logic
buySignal = ta.crossover(rsi, lowerBandHigh)
sellSignal = ta.crossunder(rsi, upperBandLow)
Buy Signal: RSI crosses up through 20 â market rebounding from oversold.
Sell Signal: RSI crosses down through 80 â market turning from overbought.
4. Plotting
RSI line (lime green)
Bands:
ðī 80â90 (Sell Zone)
ðĒ 10â20 (Buy Zone)
Gray midline at 50 for reference.
Triangle markers for signals:
ðĒ âBUYâ below chart
ðī âSELLâ above chart
5. Trading Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell",
BTCUSD
strategy.short
XAUUSD
)
Opens a long position on a buy signal.
Opens a short position on a sell signal.
No explicit stop loss or take profit â positions reverse when an opposite signal appears.
ð§ How It Works (Step-by-Step Example)
RSI drops below 20 â oversold â buy signal triggers.
RSI rises toward 80 â overbought â sell signal triggers.
Strategy flips position, always staying in the market (either long or short).
ð Visual Summary
Imagine the RSI line oscillating between 0 and 100:
100 ââââââââââââââââââââââââââââââââ
90 âââââ Upper Band High (Sell Limit)
80 âââââ Upper Band Low (Sell Trigger)
50 âââââ Midline
20 âââââ Lower Band High (Buy Trigger)
10 âââââ Lower Band Low (Buy Limit)
0 ââââââââââââââââââââââââââââââââ
When RSI moves above 80 â SELL
When RSI moves below 20 â BUY
⥠Strategy Profile
Category Description
Type Mean Reversion
Entry Rule RSI crosses up 20 â Buy
Exit/Reverse Rule RSI crosses down 80 â Sell
Strengths Simple, effective in sideways/range markets, minimal lag
Weaknesses Weak in strong trends, no stop-loss or take-profit logic
ðĄ Suggested Improvements
You can enhance this script by adding:
Stop loss & take profit levels (e.g., % or ATR-based).
Trend filter (e.g., trade only in direction of 200 EMA).
RSI smoothing to reduce noise.
āļŠāļāļĢāļīāļāļāđāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļāđāļāļāļāļąāļ
āļŠāļāļĢāļīāļāļāđāļāļĩāđāļāļđāļāđāļāļĒāđāļāļĢāđāđāļāđāļāđāļāļ closed-source āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄ āļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļāđāđāļāđāļāļĒāđāļēāļāļāļīāļŠāļĢāļ°āđāļĨāļ°āđāļĄāđāļĄāļĩāļāđāļāļāļģāļāļąāļāđāļāđ â āđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļīāđāļĄāđāļāļīāļĄāđāļāđāļāļĩāđāļāļĩāđ
āļāļģāļāļģāļāļąāļāļŠāļīāļāļāļīāđāļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļ
āļāđāļāļĄāļđāļĨāđāļĨāļ°āļāļāļāļ§āļēāļĄāđāļĄāđāđāļāđāļĄāļĩāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāđāļāļ·āđāļāļāđāļāđāļŦāđāđāļāļīāļāļāļīāļāļāļĢāļĢāļĄāļāļēāļāļāļēāļĢāđāļāļīāļ, āļāļēāļĢāļĨāļāļāļļāļ, āļāļēāļĢāļāļ·āđāļāļāļēāļĒ, āļāđāļāđāļŠāļāļāđāļāļ° āļŦāļĢāļ·āļāļāļģāđāļāļ°āļāļģāļāļĢāļ°āđāļ āļāļāļ·āđāļ āđ āļāļĩāđāđāļŦāđāļŦāļĢāļ·āļāļĢāļąāļāļĢāļāļāđāļāļĒ TradingView āļāđāļēāļāđāļāļīāđāļĄāđāļāļīāļĄāđāļ āļāđāļāļāļģāļŦāļāļāļāļēāļĢāđāļāđāļāļēāļ
āļŠāļāļĢāļīāļāļāđāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļāđāļāļāļāļąāļ
āļŠāļāļĢāļīāļāļāđāļāļĩāđāļāļđāļāđāļāļĒāđāļāļĢāđāđāļāđāļāđāļāļ closed-source āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄ āļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļāđāđāļāđāļāļĒāđāļēāļāļāļīāļŠāļĢāļ°āđāļĨāļ°āđāļĄāđāļĄāļĩāļāđāļāļāļģāļāļąāļāđāļāđ â āđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļīāđāļĄāđāļāļīāļĄāđāļāđāļāļĩāđāļāļĩāđ
āļāļģāļāļģāļāļąāļāļŠāļīāļāļāļīāđāļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļ
āļāđāļāļĄāļđāļĨāđāļĨāļ°āļāļāļāļ§āļēāļĄāđāļĄāđāđāļāđāļĄāļĩāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāđāļāļ·āđāļāļāđāļāđāļŦāđāđāļāļīāļāļāļīāļāļāļĢāļĢāļĄāļāļēāļāļāļēāļĢāđāļāļīāļ, āļāļēāļĢāļĨāļāļāļļāļ, āļāļēāļĢāļāļ·āđāļāļāļēāļĒ, āļāđāļāđāļŠāļāļāđāļāļ° āļŦāļĢāļ·āļāļāļģāđāļāļ°āļāļģāļāļĢāļ°āđāļ āļāļāļ·āđāļ āđ āļāļĩāđāđāļŦāđāļŦāļĢāļ·āļāļĢāļąāļāļĢāļāļāđāļāļĒ TradingView āļāđāļēāļāđāļāļīāđāļĄāđāļāļīāļĄāđāļ āļāđāļāļāļģāļŦāļāļāļāļēāļĢāđāļāđāļāļēāļ