Ichimoku Multi-Currency EA: Comprehensive User Guide, Backtest Results, and Optimized Set Files
MT4 Version: Ichimoku Cloud Strategy Multicurrency EA MT4
MT5 Version: Ichimoku Cloud Strategy Multicurrency EA MT5
Complete User Documentation — MT4 & MT5
1. OVERVIEW
The Ichimoku Cloud Strategy Multicurrency EA is a fully automated trading robot that executes trades across multiple currency pairs from a single chart, using nine distinct Ichimoku-based entry strategies and a matching set of exit strategies. It combines the classic Ichimoku Kinko Hyo indicator — Tenkan-sen, Kijun-sen, Senkou Span A/B, and Chikou Span — with configurable trend filters, ATR-based trailing stops, and grid recovery logic. This EA solves the problem of manually monitoring Ichimoku setups on multiple pairs and timeframes, letting you automate everything from signal detection to position management.
Who Should Use It: Forex traders who understand Ichimoku basics and want a hands-off way to trade multiple pairs simultaneously, especially those who value strategy diversity and risk control over a single rigid approach.
Main Benefit: Deploy nine Ichimoku strategies across any symbol list with one click, while keeping your account safe with virtual SL/TP, breakeven, ATR trailing, and group-level loss limits.
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 basic EA behavior — how virtual stop-loss/take-profit lines are displayed, how group-level loss limits work, whether swap charges affect profit calculations, and whether historical trade data is recorded for backtest analysis.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Chart lines for virtual SL/TP (never drawn during optimization) | bool | false | When enabled, the EA draws horizontal lines on the chart showing where your virtual stop-loss and take-profit levels sit. This is purely visual — the EA still manages them internally. Leave it off during optimization to avoid chart clutter and speed up backtests. | true — enable when running live or demo to see your risk levels at a glance. |
| Group Stoploss Amount | double | 0 | Sets a hard loss limit in account currency for the entire group of trades opened by this EA. Once total floating loss hits this value, all positions are closed. Use this to cap your drawdown across multiple pairs without setting individual stop-losses. | 500 — close all trades if combined loss reaches $500. |
| Include Swap charges in Profit | bool | true | When true, the EA factors overnight swap (rollover) fees into its profit calculations for breakeven, trailing stop, and grid recovery logic. Disable it if you want those decisions based purely on price movement, ignoring swap costs. | false — useful for short-term scalping where swaps are negligible. |
| Enable history for backtests or optimization | bool | false | When enabled, the EA writes detailed trade history to files during backtests or optimization runs. This helps you analyze performance across parameter sets. Keep it off for speed unless you're doing deep post-optimization analysis. | true — enable during a final optimization pass to export trade logs for external analysis. |
Atr Trailingstop Settings
These settings configure an ATR-based trailing stop that adjusts dynamically based on market volatility — useful for letting profits run while protecting against sudden reversals.
| 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 move your stop-loss based on market volatility instead of a fixed pip distance. This is especially useful in trending markets where you want to lock in profits without getting stopped out by noise. | true — enable on EUR/USD during a strong trend to trail profits dynamically. |
| ATR Timeframe | ENUM | PERIOD_CURRENT | Selects the timeframe used to calculate the ATR value for trailing. Using a higher timeframe (e.g., H4) gives a smoother, more stable trail, while the current chart timeframe reacts faster. Match it to your trading style — slower for swing, faster for intraday. | PERIOD_H1 — use hourly ATR for a balanced trail on a 30-minute chart. |
| ATR Period | int | 14 | The number of bars used to calculate the Average True Range. A shorter period (e.g., 7) makes the trail more responsive to recent volatility changes, while a longer period (e.g., 21) smooths out spikes. Stick with 14 unless you have a specific reason to change. | 10 — use a faster ATR for a more reactive trail on GBP/JPY. |
| Activation (ATR multiplier) | double | 2.0 | The trailing stop activates only after price has moved this many ATR units in your favor. A value of 2.0 means the trail kicks in after a 2-ATR profit. Higher values reduce whipsaw but require more room; lower values lock in profits sooner. | 1.5 — activate trail sooner on a volatile pair like USD/JPY. |
| Trail distance (ATR multiplier) | double | 1.0 | Once trailing is active, the stop-loss is placed this many ATR units behind the current price. A value of 1.0 gives a tight trail that risks early exit on pullbacks; 2.0 gives more breathing room. Adjust based on the pair's typical volatility. | 1.5 — wider trail for a choppy pair like EUR/CHF. |
| Trail increment (ATR multiplier) | double | 0.5 | The minimum step the trailing stop moves each time price advances. A value of 0.5 means the stop jumps by half an ATR unit per favorable move. Smaller increments make the trail smoother but can cause more frequent adjustments; larger increments reduce broker load. | 0.3 — finer trail increments for a slow-moving pair like USD/CAD. |
Grid Settings
This setting controls whether the EA attempts to recover losses from all open grid trades by closing them as a group when total profit turns positive — useful for grid-style strategies that average into positions.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Recover profit from all grid trades | bool | false | When enabled, the EA monitors the combined profit of all open trades from this EA. If the total becomes positive, it closes every trade at once. This is a grid-recovery mechanism that prevents a single losing trade from dragging down the whole group. Disable for standard single-trade management. | true — enable when running multiple entries on the same pair to recover as a basket. |
Safeguard Settings
These backtest-only settings help you filter optimization results by imposing minimum performance criteria — they don't affect live trading but are invaluable for weeding out weak parameter sets.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Max Loss from initial balance [0: disable] | double | 0.0 | Sets a maximum drawdown limit as a percentage of the starting balance during backtests. If the equity drops below this threshold, the EA stops trading and the run is marked as failed. Use this to simulate realistic risk constraints and discard strategies that exceed your comfort zone. | 20 — stop the backtest if drawdown exceeds 20% of initial balance. |
| Minimum Profit Percent [backtesting only] [0: disable] | double | 0 | During optimization, the EA will reject any parameter set that doesn't achieve at least this percentage of net profit relative to starting balance. Helps you focus only on strategies that meet your profitability threshold. Set to 0 to accept all results. | 10 — only keep results with at least 10% profit over the test period. |
| Minimum Trades [backtesting only] [0: disable] | double | 0 | Filters out optimization results that generated fewer than this many trades. Useful for avoiding parameter sets that barely trade — a strategy that only opens 5 trades in a year isn't statistically meaningful. Set to 0 to allow any trade count. | 50 — discard any run with fewer than 50 trades. |
| Max inactive days [backtesting only] [0: disable] | int | 0 | If the EA goes this many consecutive days without opening a trade during a backtest, the run is terminated. Prevents strategies that go dormant for long stretches from wasting optimization time. Set to 0 to allow unlimited inactivity. | 30 — stop the backtest if no trade occurs for 30 days. |
Ichimoku Settings
These are the core Ichimoku parameters — the timeframe for analysis, the three main line periods, and your choice of entry and exit strategies. Getting these right is the difference between a profitable EA and a losing one.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
3. HOW IT WORKS
Core Calculation & Logic
This EA calculates Ichimoku Cloud values for each symbol you've listed in the SYMBOLS parameter — by default EURUSD, GBPUSD, and USDCHF — on every new tick. It builds the five classic Ichimoku lines (Tenkan-sen, Kijun-sen, Senkou Span A, Senkou Span B, and Chikou Span) using the periods you set in the Ichimoku Settings section. The EA then compares the current price and line positions against your chosen Entry Strategy to decide whether to open a buy or sell position.
The mathematical basis is straightforward: Tenkan-sen is the (highest high + lowest low)/2 over a short period (default 9), Kijun-sen is the same over a medium period (default 26), and Senkou Span B uses a longer period (default 52). Senkou Span A is the average of Tenkan and Kijun, shifted forward 26 bars. The cloud (Kumo) is the area between Span A and Span B. The EA checks for crosses, breakouts, and relative positions of these lines to generate signals — no black-box math, just standard Ichimoku logic applied across multiple pairs simultaneously.
Entry Strategies Explained
Each strategy detects a specific Ichimoku pattern. You'll pick one via the Entry Strategy dropdown. Here's what each one does:
Kijun Cross Strategy
BUY Signal: Tenkan-sen crosses above Kijun-sen. This indicates short-term momentum has overtaken the medium-term baseline.
SELL Signal: Tenkan-sen crosses below Kijun-sen. Momentum is shifting bearish.
Best For: Trending markets where you want a clear, traditional Ichimoku entry. Avoid in choppy sideways conditions — you'll get whipsawed.
Kumo Breakout Strategy
BUY Signal: Price closes above the Senkou Span A (cloud top). The market is breaking out of the cloud to the upside.
SELL Signal: Price closes below the Senkou Span B (cloud bottom). Bearish breakout confirmed.
Best For: Strong directional moves after a period of consolidation. Works well on H1 and H4 timeframes.
Chikou Span Confirmation Strategy
BUY Signal: Chikou Span (lagging line, shifted back 26 bars) is above the price 26 bars ago. This confirms bullish momentum.
SELL Signal: Chikou Span is below the price 26 bars ago. Bearish confirmation.
Best For: Adding a confirmation filter to another strategy. I wouldn't use this alone — it's slow to react.
Tenkan-Kijun Cross Strategy (Short-Term)
BUY Signal: Tenkan-sen crosses above Kijun-sen on a lower timeframe (e.g., M15). Faster than the standard Kijun Cross.
SELL Signal: Tenkan-sen crosses below Kijun-sen on the lower timeframe.
Best For: Scalping or intraday trading when you want quick entries and exits. Higher noise, so use with a tight stop.
Kumo Twist Strategy
BUY Signal: Senkou Span A crosses above Senkou Span B (cloud turns from red to green). This is a bullish cloud twist.
SELL Signal: Senkou Span A crosses below Senkou Span B (cloud turns from green to red). Bearish twist.
Best For: Identifying trend reversals early. The twist often precedes a major move by 10-20 bars.
Weak Kijun Cross Strategy
BUY Signal: Tenkan-sen crosses above Kijun-sen, but the cross occurs within the cloud. Less reliable than a cross outside the cloud.
SELL Signal: Tenkan-sen crosses below Kijun-sen within the cloud.
Best For: Markets that are transitioning from sideways to trending. Use smaller position sizes here.
Weak Kumo Breakout Strategy
BUY Signal: Price breaks above the cloud, but the cloud is thin (less than 10 pips wide). Breakout may lack follow-through.
SELL Signal: Price breaks below a thin cloud.
Best For: Catching early breakouts before the cloud widens. Set a wider stop to account for false breaks.
Weak Chikou Span Confirmation Strategy
BUY Signal: Chikou Span is above price, but the distance is less than 5 pips. Weak bullish confirmation.
SELL Signal: Chikou Span is below price by less than 5 pips.
Best For: Filtering out strong signals when you want only high-conviction trades. I'd skip this one unless you're combining it with another indicator.
Weak Tenkan-Kijun Cross Strategy (Short-Term)
BUY Signal: Tenkan-sen crosses above Kijun-sen on a lower timeframe, but the cross is within the cloud. Very weak signal.
SELL Signal: Same conditions for a sell.
Best For: Not recommended for beginners. Only use if you're scalping with very tight risk controls.
Step-by-Step Workflow
Step 1: Attach the EA to a chart. Open any currency pair chart (e.g., EURUSD M15). Drag the EA onto it. The EA will scan all symbols in the SYMBOLS parameter, not just the chart pair.
Step 2: Set your symbols. In the SYMBOLS input, list the pairs you want to trade, separated by commas. Example: "EURUSD,GBPUSD,USDJPY,AUDUSD". The EA will open positions on each pair independently.
Step 3: Choose your entry strategy. Set Entry Strategy to one of the nine options. Start with Kijun Cross Strategy — it's the most straightforward and well-documented.
Step 4: Configure risk. Set Lot Size to 0.01 for testing. Choose SLTP_MODE (I recommend AMOUNT for precise control). Enter STOPLOSS_AMOUNT and TAKEPROFIT_AMOUNT in account currency (e.g., 10 and 20 for a $10 stop, $20 target).
Step 5: Enable hidden SL/TP if desired. Set HIDDEN_SL_TP=true to hide stop and target from the broker (useful for avoiding stop hunting). The EA manages them virtually.
Step 6: Run a backtest first. Use the Strategy Tester in MT4/MT5 with "Every tick" mode for at least 3 months of data. Check the Journal tab for any errors.
Step 7: Go live on a demo account. Run the EA on a demo for at least 2 weeks. Monitor the dashboard (if using the scanner version) or the EA's log for signals. Adjust lot size and stop loss based on your risk tolerance.
4. RISK MANAGEMENT FEATURES
This EA includes several risk controls to protect your account. Here's what each one does and when you'd use it.
| Feature | Description |
|---|---|
| Hidden Stop Loss & Take Profit | When HIDDEN_SL_TP=true, the EA places orders without sending SL/TP to the broker. It tracks them internally and closes the position when price hits the virtual level. This prevents brokers from seeing your stops — useful if you suspect stop hunting. The SL/TP lines won't show on the chart unless you set SHOW_HIDDEN_SL_TP_LINES=true (but that's disabled during optimization). |
| Multiple SL/TP Calculation Modes | You can set stop loss and take profit in pips (PIPS mode), fixed account currency amount (AMOUNT mode), percentage of account balance (PERCENT mode), or group-based modes that aggregate risk across all open positions. For example, GROUP_AMOUNT lets you set a total loss limit for all pairs combined — if the group hits that loss, all positions close. This is powerful for multi-currency trading where you want to cap overall drawdown. |
| Group Stop Loss & Take Profit | When using GROUP_AMOUNT or GROUP_PERCENT modes, the EA tracks the total profit/loss across all open positions for the symbols it manages. If the group loss exceeds GROUP_STOPLOSS_AMOUNT (e.g., $50), it closes all positions. This prevents a single bad pair from dragging down your whole portfolio. Default is 0 (disabled) — set it to a value that matches your max daily loss. |
| No SL/TP Option | Set SLTP_MODE to NOSLTP if you want to manage exits manually. The EA will only open positions based on signals — no automatic stop or target. This is risky; I only recommend it if you're monitoring the chart constantly and have a manual exit plan. Never use this on a live account unattended. |
| Lot Size Control | The LOTS parameter sets a fixed lot size for all trades. There's no auto-lot or risk-percentage calculation built in — you set a flat value. Start with 0.01 for testing. For live trading, calculate your position size based on your stop loss distance and account risk (e.g., 1% of $10,000 = $100 risk per trade). |
5. IMPORTANT NOTES & WARNINGS
Known Limitations
| Issue | Explanation |
|---|---|
| Single Chart Attachment | You attach the EA to one chart, but it trades multiple symbols. This means the EA's performance depends on that chart's timeframe for its internal timer. If you attach it to a M15 chart, the EA checks for signals every 15 minutes (on each new bar). For faster scanning, use a M1 chart — but that increases CPU load. |
| No Trade Filtering by Day or Time | The EA doesn't have a built-in filter to avoid trading during news events or specific hours. It will open positions 24/5 based solely on Ichimoku signals. If you want to avoid high-impact news, you'll need to manually remove the EA before events or use an external time filter. |
| Hidden SL/TP Not Visible in MT4/MT5 Account History | When HIDDEN_SL_TP=true, the stop loss and take profit levels won't appear in the Trade tab or in your broker's records. The EA closes the position when price hits the virtual level, but if the EA crashes or is removed, those stops are lost. Always test this feature thoroughly on a demo before using it live. |
| No Partial Close or Trailing Stop | The EA only opens and closes full positions. There's no trailing stop, break-even management, or partial profit-taking built in. If you want those features, you'll need to add them manually or use a separate EA for trade management. |
| Backtest Accuracy Depends on Tick Data | Ichimoku signals are sensitive to exact price levels. In the Strategy Tester, use "Every tick" mode for realistic results. "Open prices only" mode will miss intra-bar crosses and breakouts, leading to inaccurate backtest performance. Download proper tick data from your broker if needed. |
Settings Beginners Should NOT Change
| Setting | Why to Leave Default |
|---|---|
| Tenkan-sen Period | Default 9 is the standard Ichimoku setting used in thousands of strategies. Changing it to 7 or 12 might seem like a tweak, but it breaks the relationship with Kijun-sen (26) and Senkou Span B (52). The 9-26-52 combination is time-tested. Only change it if you fully understand the mathematical impact on signal timing. |
| Kijun-sen Period | 26 is the default for a reason — it represents half a trading year (52 weeks / 2). Changing it to 30 or 20 shifts the baseline and can cause the cloud to flip colors at different points. Beginners often set it too low, resulting in a noisy cloud that gives false signals. |
| Senkou Span B Period | 52 is double the Kijun-sen period. This creates the cloud's "lagging" nature. If you change it to 50 or 55, you'll alter the cloud's thickness and the timing of Kumo twists. Stick with 52 unless you're an Ichimoku expert. |
| Entry Strategy | The default is ENTRY_STRATEGY1 (Kijun Cross). This is the most widely used Ichimoku entry and has the most historical data behind it. Switching to a "Weak" strategy without understanding the difference will likely result in more false signals and smaller wins. Test one strategy at a time. |
| SLTP_MODE | Default is AMOUNT, which uses fixed currency values for stop loss and take profit. This is the easiest to understand and backtest. PIPS mode requires you to know the pip value of each pair, which varies. PERCENT mode can be dangerous if your account balance fluctuates — the stop loss distance changes with every trade. Stick with AMOUNT until you're comfortable. |
Dashboard Usage Tips
-
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


