RSI Multi-Currency EA: Comprehensive User Guide, Backtest Results, and Optimized Set Files
MT4 Version: Relative Strength Index(RSI) Strategy Multicurrency EA MT4
MT5 Version: Relative Strength Index(RSI) Strategy Multicurrency EA MT5
Complete User Documentation — MT4 & MT5
1. OVERVIEW
This EA automates RSI-based trading across multiple currency pairs from a single chart, executing entries and exits based on your chosen strategy — classic overbought/oversold, crossovers, or divergence. It's not just a scanner; it's a full trading robot that manages positions, trailing stops, and risk controls for you. The core idea is to let you run a systematic RSI strategy on a basket of pairs without staring at screens all day.
Who Should Use It: Active forex traders who already use RSI in their analysis and want to automate multi-pair execution, especially those who trade divergence or trend-reversal setups.
Main Benefit: You get a hands-off, rule-based RSI trading system that scans and trades multiple pairs simultaneously, with built-in risk management and backtesting-friendly settings.
2. INPUT PARAMETERS & SETTINGS
This product shares a common set of general input settings with all Multi-Currency Scanner Dashboard products in this series. The following sections are covered in the common guide: General Settings (pairs list, dashboard colors, panel size), Timeframe Signal Settings (individual TF scan per symbol), Timeframe Confluence Settings (multi-TF confluence scan), and Alert Settings (popup, push notification, email). For full details refer to the Common Multi-Currency Scanner Dashboard Settings Guide. The sections below cover only the product-specific inputs unique to this product.
General Settings
These settings control how the EA displays virtual stop-loss/take-profit lines, manages group-level loss limits, includes swap in profit calculations, and records trade history for backtesting analysis.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Chart lines for virtual SL/TP (never drawn during optimization) | bool | false | When enabled, draws horizontal lines on the chart showing where your hidden stop-loss and take-profit levels sit. Useful for visual confirmation during live trading, but it's disabled during optimization to avoid clutter. | true — enable on live chart to see virtual SL/TP lines for each open trade. |
| Group Stoploss Amount | double | 0 | Sets a maximum total loss in account currency for all trades across the symbol group. Once the combined floating loss hits this value, the EA closes all positions in that group. Helps cap basket risk. | 50 — close all EURUSD, GBPUSD, USDCHF trades if total loss reaches $50. |
| Include Swap charges in Profit | bool | true | When true, swap (overnight interest) is factored into the profit calculations used by breakeven, trailing stop, and group stop-loss. Leave it on for realistic P&L tracking, especially on long-term trades. | false — disable if you want to ignore swap for breakeven activation decisions. |
| Enable history for backtests or optimization | bool | false | When enabled, the EA records trade history to a file during backtesting or optimization, letting you analyze results in detail later. Keep it off during live trading to avoid unnecessary file writes. | true — enable before running a multi-pass optimization to export trade logs. |
Atr Trailingstop Settings
These settings configure an ATR-based trailing stop that adjusts your stop-loss dynamically based on market volatility, with separate controls for activation threshold, trail distance, and increment.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Use ATR Trailing Stop | bool | false | Master switch for the ATR trailing stop feature. When enabled, the EA will adjust your stop-loss based on ATR values instead of a fixed pip distance, making it adaptive to changing volatility. | true — enable on volatile pairs like GBPJPY to let the stop breathe with the market. |
| ATR Timeframe | ENUM | PERIOD_CURRENT | Selects the timeframe used to calculate the ATR value for trailing. Using a higher timeframe (e.g., H4) smooths out noise and gives a more stable trailing distance, while the current chart TF reacts faster. | PERIOD_H1 — use 1-hour ATR for trailing on a 15-minute chart to reduce whipsaws. |
| ATR Period | int | 14 | Number of bars used to calculate the ATR. A shorter period (e.g., 7) makes the trailing stop more responsive to recent volatility, while a longer period (e.g., 21) gives a smoother, more conservative distance. | 21 — use for a smoother ATR that filters out short-term volatility spikes. |
| Activation (ATR multiplier) | double | 2.0 | Profit in ATR units required before the trailing stop kicks in. For example, 2.0 means the trade must be 2 ATRs in profit before trailing begins. Prevents premature trailing on small moves. | 3.0 — require 3 ATRs profit before activating trail, useful for trend-following strategies. |
| Trail distance (ATR multiplier) | double | 1.0 | Sets how far behind the current price the trailing stop is placed, measured in ATR units. A value of 1.0 means the stop trails 1 ATR below the highest price for a long trade. Tighter values lock in profit faster but risk early exit. | 1.5 — wider trail distance for volatile pairs to avoid getting stopped out by normal fluctuations. |
| Trail increment (ATR multiplier) | double | 0.5 | The step size in ATR units that the price must move in your favor before the stop is tightened. A smaller increment (e.g., 0.3) updates the stop more frequently, while a larger one reduces unnecessary adjustments. | 0.3 — tighter increment for more frequent stop updates on fast-moving pairs. |
Grid Settings
This single setting controls whether the EA attempts to recover losses from all grid trades collectively, rather than managing each position independently.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Recover profit from all grid trades | bool | false | When enabled, the EA treats all open trades in the same symbol as a single grid and will close them all when the combined profit reaches a target. Useful for grid or martingale strategies where you want to exit the whole basket at once. | true — enable if running a grid strategy on EURUSD to close all layers at a collective profit. |
Safeguard Settings
These backtesting-only safeguards let you define minimum performance thresholds — max loss, minimum profit percentage, minimum trades, and max inactive days — to filter out poor strategy runs during optimization.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Max Loss from initial balance [0: disable] | double | 0.0 | Defines the maximum allowed drawdown as a percentage of the initial account balance. If the equity drops below this level during a backtest, the run is considered a failure. Set to 0 to disable this check. | 20 — reject any optimization pass that exceeds 20% drawdown from starting balance. |
| Minimum Profit Percent [backtesting only] [0: disable] | double | 0 | Sets a minimum total profit percentage that a backtest run must achieve to be considered valid. Helps you quickly discard underperforming parameter combinations during optimization. | 5 — only keep optimization results that show at least 5% net profit. |
| Minimum Trades [backtesting only] [0: disable] | double | 0 | Specifies the minimum number of trades that must be executed during a backtest for the run to be considered valid. Useful for filtering out parameter sets that barely trade and might be overfitted. | 30 — ignore optimization passes with fewer than 30 trades over the test period. |
| Max inactive days [backtesting only] [0: disable] | int | 0 | Defines the maximum number of consecutive days without any trade activity during a backtest. If the EA goes silent longer than this, the run is flagged. Helps detect strategies that stop trading in certain market conditions. | 10 — reject any backtest where the EA doesn't trade for 10+ consecutive days. |
Rsi Settings
These are the core RSI parameters — timeframe, period, applied price, calculation mode, overbought/oversold levels, and the entry/exit strategy selection that defines how the EA interprets RSI signals.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Rsi Timeframe | ENUM | PERIOD_CURRENT | Selects the timeframe on which the RSI is calculated. You can set it independently from the chart timeframe, which is useful for scanning higher timeframes for signals while trading on a lower one. | PERIOD_H4 — calculate RSI on the 4-hour chart even if the EA runs on M15. |
| Rsi Period | int | 8 | Number of bars used to calculate the RSI. A shorter period (e.g., 8) makes the indicator more sensitive to price changes, generating more signals. A longer period (e.g., 21) smooths the line and reduces false signals. | 14 — classic Wilder's setting, balances sensitivity and reliability for most pairs. |
| Rsi Applied Price | ENUM | PRICE_CLOSE | Determines which price (close, open, high, low, median, typical, weighted) is used for RSI calculation. Close is standard, but using High/Low can be interesting for breakout-based strategies. | PRICE_TYPICAL — use (high+low+close)/3 for a more representative price. |
| Calculation Mode (Useful for backtesting) | ENUM | AUTO | Controls how the upper and lower RSI levels are determined. In MANUAL mode you set them directly. In AUTO mode the EA calculates the lower level based on the upper level (lower = 100 - upper), which is handy for symmetrical strategies. | MANUAL — set upper=70 and lower=30 independently for asymmetric levels. |
| Rsi Upper Level | double | 60 | The RSI threshold above which the market is considered overbought. The EA uses this level to trigger sell signals or exit long trades, depending on your chosen strategy. Default 60 is tighter than the classic 70. | 70 — classic overbought level, gives fewer but potentially stronger signals. |
| Rsi Lower Level | double | 40 | The RSI threshold below which the market is considered oversold. Used to trigger buy signals or exit short trades. Default 40 is tighter than the classic 30, generating more frequent entries. | 30 — classic oversold level, waits for deeper extremes before acting. |
| Rsi Entry Strategy | ENUM | ENTRY_STRATEGY1 | See options explained below. | ENTRY_STRATEGY7 — use divergence-based entries for potential reversal trades. |
| Rsi Exit Strategy | ENUM | EXIT_STRATEGY0 | See options explained below. | EXIT_STRATEGY1 — exit long when RSI enters overbought, exit short when it enters oversold. |
Rsi Entry Strategy — Options Explained
This setting determines the exact condition that triggers a new trade entry. Each strategy defines a specific RSI behavior for both buy and sell directions, so you can match the logic to your preferred trading style.
ENTRY_STRATEGY0: Disables all entry signals from the RSI. Useful if you only want the EA to manage exits or if you're using it purely as a scanner.
ENTRY_STRATEGY1: Buy when RSI crosses below the lower level (enters oversold), and sell when RSI crosses above the upper level (enters overbought). This is the classic reversal strategy — you're betting that extreme readings will revert.
ENTRY_STRATEGY2: Buy when RSI crosses above the lower level (exits oversold), and sell when RSI crosses below the upper level (exits overbought). This strategy waits for confirmation that the extreme move is ending before entering.
ENTRY_STRATEGY3: Buy when RSI crosses above the upper level (enters overbought), and sell when RSI crosses below the lower level (enters oversold). This is a momentum-following approach — you enter when the trend is strong.
ENTRY_STRATEGY4: Buy when RSI is below the lower level, and sell when RSI is above the upper level. This strategy keeps you in the trade as long as the RSI stays in extreme territory, which can work in strong trends.
ENTRY_STRATEGY5: Buy when RSI crosses above 50, and sell when RSI crosses below 50. This is a simple momentum crossover strategy — you're trading the centerline as a signal of directional bias.
ENTRY_STRATEGY6: Buy when RSI is above the upper level, and sell when RSI is below the lower level. Similar to strategy 4 but with the opposite logic — you enter when the RSI is already in extreme territory and stay until it exits.
ENTRY_STRATEGY7: Buy on bullish divergence (price makes lower low, RSI makes higher low), and sell on bearish divergence (price makes higher high, RSI makes lower high). This is the classic divergence strategy for catching trend reversals.
Rsi Exit Strategy — Options Explained
This setting defines the condition that closes an existing trade. You can combine it with any entry strategy to create a complete trading system, or set it to disabled and rely on your stop-loss/take-profit instead.
EXIT_STRATEGY0: Disables all RSI-based exit signals. Trades will only close via stop-loss, take-profit, breakeven, or trailing stop.
EXIT_STRATEGY1: Exit long when RSI enters overbought (crosses above upper level), and exit short when RSI enters oversold (crosses below lower level). This is the classic reversal exit — you take profit when the RSI reaches an extreme.
EXIT_STRATEGY2: Exit long when RSI exits overbought (crosses below upper level), and exit short when RSI exits oversold (crosses above lower level). This waits for confirmation that the extreme is over before closing.
EXIT_STRATEGY3: Exit long when RSI enters oversold (crosses below
3. HOW IT WORKS
Core Calculation & Logic
This EA doesn't just slap an RSI on a single chart and hope for the best. It runs a dedicated RSI calculation on every symbol you list in the SYMBOLS input, using the timeframe and period you set. For each bar, it compares the current RSI value against your defined upper and lower thresholds — those are the overbought/oversold lines. The EA then checks which of the seven entry strategies you've selected and evaluates whether the current bar meets the exact BUY or SELL condition for that strategy. It does all this on every tick, so you're getting real-time signals across multiple pairs from a single chart. The mathematical basis is standard Wilder's RSI: RSI = 100 - (100 / (1 + RS)), where RS is the average gain over average loss for the chosen period. Nothing fancy, but it works.
Entry Strategies Explained
Each of the seven strategies defines a specific market condition that triggers a trade. You pick one via the Rsi Entry Strategy dropdown. Here's exactly what each one does under the hood:
ENTRY_STRATEGY1 — Classic Oversold Reversal
BUY Signal: Triggered when RSI crosses below the lower level (e.g., 40) and then crosses back above it. The EA waits for the exit from oversold territory before entering long.
SELL Signal: Triggered when RSI crosses above the upper level (e.g., 60) and then crosses back below it. It waits for the exit from overbought territory before entering short.
Best For: Range-bound markets where you want to catch bounces off support/resistance zones.
ENTRY_STRATEGY2 — Oversold Entry / Overbought Exit
BUY Signal: Triggered when RSI crosses above the lower level (exiting oversold). This is the same as Strategy 1's buy but without requiring a prior cross below.
SELL Signal: Triggered when RSI crosses below the upper level (exiting overbought).
Best For: Trend reversals where you want to enter as soon as momentum shifts away from extreme.
ENTRY_STRATEGY3 — Overbought Entry / Oversold Exit
BUY Signal: Triggered when RSI crosses above the upper level (entering overbought). Counter-intuitive, but useful for strong trends.
SELL Signal: Triggered when RSI crosses below the lower level (entering oversold).
Best For: Trending markets where you expect the move to continue through overbought/oversold levels.
ENTRY_STRATEGY4 — Above Upper / Below Lower
BUY Signal: Triggered when RSI is above the upper level. The EA buys while RSI is still in overbought territory.
SELL Signal: Triggered when RSI is below the lower level. It sells while RSI is still in oversold territory.
Best For: Strong momentum trends where you want to ride the wave, not fight it.
ENTRY_STRATEGY5 — Below Lower / Above Upper
BUY Signal: Triggered when RSI is below the lower level. You buy into oversold conditions, anticipating a bounce.
SELL Signal: Triggered when RSI is above the upper level. You sell into overbought conditions, expecting a pullback.
Best For: Mean-reversion strategies in ranging markets.
ENTRY_STRATEGY6 — Zero-Line Cross
BUY Signal: Triggered when RSI crosses above the 50 level (the zero line). This signals a shift to bullish momentum.
SELL Signal: Triggered when RSI crosses below the 50 level. This signals a shift to bearish momentum.
Best For: Trend-following strategies where you want to enter on momentum confirmation.
ENTRY_STRATEGY7 — Divergence
BUY Signal: Bullish divergence: price makes a lower low while RSI makes a higher low. The EA detects this by comparing the last two swing lows in price and RSI within the lookback window.
SELL Signal: Bearish divergence: price makes a higher high while RSI makes a lower high.
Best For: Reversal trading at key support/resistance levels. Requires the divergence settings to be tuned properly.
Step-by-Step Workflow
Step 1: Load the EA on a chart. Any chart works — the EA ignores the chart symbol and trades only the symbols in your SYMBOLS list. I usually drop it on a 1-minute EURUSD chart just to keep it running.
Step 2: Configure your symbol list. In the SYMBOLS input, enter a comma-separated list of pairs you want to trade. For example: EURUSD,GBPUSD,USDJPY,AUDUSD . You can trade up to 20 pairs from a single chart.
Step 3: Set your RSI parameters. Choose the Rsi Timeframe (I prefer H1 for swing trades), Rsi Period (14 is standard, but 21 smooths out noise), and Rsi Applied Price (Close is fine for most).
Step 4: Pick your entry strategy. Select one of the seven strategies from the Rsi Entry Strategy dropdown. If you choose Strategy 7, also configure the divergence settings.
Step 5: Set your risk parameters. Define your lot size, stop loss, and take profit. I always start with a 0.01 lot on a demo account to test the strategy before going live.
Step 6: Enable or disable alerts. If you want popup, email, or push notifications, configure those in the alert settings (covered in the common guide).
Step 7: Attach the EA and monitor. Once attached, the EA will start scanning every tick. You'll see positions open and close based on your strategy. Check the Experts tab for detailed logs.
4. RISK MANAGEMENT FEATURES
This EA gives you several ways to control risk, so you're not just throwing money at the market. Here's what's available:
| Feature | Description |
|---|---|
| Lot Size | Set a fixed lot size for all trades. Start with 0.01 on demo. For live, use 0.01 per $1,000 account balance as a rule of thumb. |
| Stop Loss & Take Profit Modes | Choose from six modes: Pips, Amount, Percent, Group Amount, Group Percent, or No SL/TP. The SLTP_MODE dropdown lets you pick. For beginners, stick with Pips or Amount. |
| Hidden SL/TP | When enabled (HIDDEN_SL_TP=true), the EA manages stop loss and take profit internally without sending them to the broker. This keeps your strategy hidden from the market. The SHOW_HIDDEN_SL_TP_LINES option draws virtual lines on the chart for visual reference (disabled during optimization). |
| Group Stop Loss / Take Profit | If you select Group Amount or Group Percent mode, the EA calculates SL/TP based on the total exposure of all open positions in the same symbol. Useful for scaling in and out. |
| Risk-Reward Ratio | The RISK_REWARD_RATIO input lets you set a fixed ratio (e.g., 2 means take profit is twice the stop loss). If set to 0, the EA uses your explicit TP value instead. |
5. IMPORTANT NOTES & WARNINGS
Known Limitations
| Issue | Explanation |
|---|---|
| Single Strategy Only | You can only select one entry strategy at a time. If you want to combine strategies, you'll need to run multiple instances of the EA on different charts. |
| No Trade Filtering | The EA doesn't include additional filters like trend direction, volatility, or news events. It purely follows RSI signals. You may want to add your own manual checks before going live. |
| Hidden SL/TP Limitations | Hidden SL/TP is managed by the EA, so if the EA crashes or is removed, those stops won't be active. Always test thoroughly on demo first. |
| Divergence Detection Lag | Strategy 7's divergence detection can be slow if your lookback bars are too high. It compares swing points, so it may miss fast moves. Keep lookback under 100 bars for responsiveness. |
Settings Beginners Should NOT Change
| Setting | Why to Leave Default |
|---|---|
| Calculation Mode | The default MANUAL mode uses fixed RSI levels. Switching to AUTO changes how levels are calculated, which can confuse your backtest results. Leave it on MANUAL until you understand the difference. |
| Rsi Upper/Lower Level | The defaults of 60 and 40 are standard for RSI. Changing them to 70/30 makes the strategy more aggressive and prone to false signals. Stick with 60/40 for your first few weeks. |
| Hidden SL/TP Settings | HIDDEN_SL_TP=true is safe, but SHOW_HIDDEN_SL_TP_LINES=false is best for optimization. Turning on chart lines during optimization can slow things down significantly. |
| Group SL/TP Modes | Group Amount and Group Percent are advanced features. If you don't understand how they calculate exposure, stick with Pips or Amount modes to avoid unexpected risk. |
Dashboard Usage Tips
- Start with a demo account: Always run the EA on a demo for at least two weeks before going live. This lets you see how it behaves in different market conditions without risking real money.
- Monitor the Experts tab: The EA logs every action to the Experts tab. Check it daily to see which symbols triggered trades and why. This helps you understand the strategy's behavior.
- Test one strategy at a time: Don't jump between strategies. Pick one, run it for a month, then evaluate. Switching too often makes it impossible to know what works.
- Use a small lot size initially: Even on demo, use 0.01 lot. This keeps your risk profile realistic and prevents you from getting false confidence from oversized wins.
- Adjust RSI period for your timeframe: A 14-period RSI on M15 will be noisy. For higher timeframes like H4 or daily, 14 is fine. For lower timeframes, consider 21 or 30 to smooth out the noise.
- Don't over-optimize: It's tempting to tweak every parameter to get a perfect backtest. But over-optimized strategies fail in live markets. Keep it simple and test forward.
Quick Start Guide
Follow these steps to get started in under 5 minutes:
- Download and install: Purchase the EA from the MQL5 Market, download it, and install it on your MT4 or MT5 platform. It will appear in the Navigator under Expert Advisors.
- Attach to a chart: Drag the EA onto any chart (I use EURUSD M1). A dialog will open with all the input parameters.
- Set your symbols: In the SYMBOLS field, enter the pairs you want to trade, separated by commas. For example: EURUSD,GBPUSD,USDJPY .
- Choose your RSI settings: Set Rsi Timeframe to PERIOD_H1, Rsi Period to 14, and Rsi Entry Strategy to ENTRY_STRATEGY1 (the classic oversold reversal).
- Configure risk: Set LOTS to 0.01, SLTP_MODE to PIPS, STOPLOSS to 50, and TAKEPROFIT to 100. This gives you a 1:2 risk-reward ratio.
- Enable alerts (optional): If you want notifications, configure the alert settings. Otherwise, leave them disabled.
- Click OK: The EA will start scanning immediately. You'll see it in the Experts tab, and it will open positions when conditions are met.
- Monitor and learn: Check the EA's performance daily. Look at the trade log to understand why each trade was taken. After a week, you can start tweaking parameters.
Installation Guide for MQL Products | Updating Purchased MQL Products on MT4/MT5 | General Troubleshooting Guide | Backtest and Set Files
Check all my products: https://www.mql5.com/en/users/biswait50/seller
Contact me for support: https://www.mql5.com/en/users/biswait50


