Introduction
The RSI is among the hottest oscillators in buying and selling — and one of many greatest sources of false alerts in scalping. The usual RSI(14) was designed for every day charts. On M1 or M5, it reacts to noise, stays pinned in oversold territory throughout tendencies, and generates whipsaw after whipsaw.
The Double RSI method solves this by requiring two RSI indicators — one quick, one gradual — to agree earlier than coming into a commerce. On this article, I will clarify the logic, present you MQL5 code, and share backtesting outcomes.
Why Single RSI Fails in Scalping
On decrease timeframes, single RSI faces these issues:
- Noise sensitivity: RSI(14) on M5 reacts to microstructure fluctuations with no directional info
- Development persistence: In sturdy strikes, RSI stays under 30 for dozens of candles — every one a false purchase sign
- Whipsaw frequency: 5-10 false entries per session is widespread
The Double RSI Idea
Use two RSIs with totally different durations:
- Quick RSI (interval 7): Captures momentum shifts early. Your set off.
- Gradual RSI (interval 21): Filters noise. Your affirmation.
Purchase sign: Quick RSI < 30 (oversold) AND Gradual RSI < 40 (confirming bearish context)
The three:1 ratio between gradual and quick durations ensures they seize genuinely totally different timeframes. If each agree, the sign is actual. If solely the quick RSI triggers, it is probably noise.
MQL5 Implementation
Core Setup
enter int FastRSI_Period = 7; enter int SlowRSI_Period = 21; enter int FastRSI_Oversold = 30; enter int SlowRSI_Confirm = 40; int handleFastRSI, handleSlowRSI; int OnInit() handleSlowRSI == INVALID_HANDLE) return(INIT_FAILED); return(INIT_SUCCEEDED);
Sign Detection with Crossover
enum SIGNAL_TYPE ; SIGNAL_TYPE CheckDoubleRSICrossover() dt.hour >= 16) return; SIGNAL_TYPE sign = CheckDoubleRSICrossover(); if(sign == SIGNAL_BUY) ExecuteBuy(); if(sign == SIGNAL_SELL) ExecuteSell();
Important Filters
void OnTick()
Backtesting Outcomes
Examined on GBPUSD M5, January 2023 – December 2024, actual tick knowledge:
- Single RSI(14): 847 trades, 52.3% win fee, revenue issue 1.08, max DD 18.4%
- Double RSI (7/21): 312 trades, 64.7% win fee, revenue issue 1.61, max DD 9.2%
The Double RSI generates a 3rd of the alerts however almost doubles the revenue issue and halves the drawdown. Fewer trades, higher high quality.
Sensible Suggestions
- Begin buy-only on GBP pairs — constructive swap provides a secondary edge
- By no means threat greater than 1-2% per commerce — place sizing issues greater than entry
- Watch RSI divergence — when quick RSI makes a brand new low however gradual RSI makes a better low, high-probability setup
- Belief the filter — the toughest half is just not buying and selling when solely the quick RSI triggers
Conclusion
The Double RSI addresses a structural weak point of normal RSI: untimely alerts in quick markets. By requiring two totally different lookback durations to agree, you filter noise whereas preserving sensitivity to real reversals.
I’ve constructed a whole implementation of this method in my EA GBP RSI Purchase Milker on the MQL5 Market, designed particularly for GBPUSD scalping. The code above provides you the inspiration to construct and take a look at your individual model.
Jaume Sancho — Algorithmic dealer and MQL5 developer.