Exp_3XMA_Ishimoku
This EA uses a triple smoothed moving average system based on the Ishimoku concept, comparing a central XMA line against upper and lower envelope lines derived from high/low price smoothing. It generates buy signals when the XMA crosses above the envelope ceiling and sell signals when it crosses below the floor, with configurable smoothing methods and multi-timeframe support.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Blow-up risk: No blow-up pattern found
None of the usual blow-up patterns were found in the code, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The strategy is centered on a triple smoothed moving average Ishimoku-style trend following system. Entry conditions: a buy signal is triggered when the XMA value crosses above the maximum of the upper and lower envelope lines from below, and a sell signal is triggered when the XMA crosses below the minimum of the envelope lines from above. Exit conditions are handled through independent buy/sell close permissions, where a buy signal simultaneously closes short positions and a sell signal simultaneously closes long positions. Position sizing uses the MM parameter which can represent either a deposit share or a fixed lot size when negative. Stop loss and take profit use fixed point values of 1000 and 2000 points respectively. The strategy employs three XMA layers with different smoothing depths (8/25/80) to build a multi-level smoothing hierarchy, supporting various smoothing algorithms including SMA, EMA, JJMA, and JurX.
Strengths
- Triple smoothing system (8/25/80 periods) provides multi-level noise filtering for more reliable signals
- Supports multiple smoothing algorithms (SMA/EMA/JJMA/JurX etc.) offering high flexibility for different market conditions
- Independent buy/sell open and close permission controls allow granular enabling or disabling of each direction
- New bar detection mechanism prevents repeated trading within the same bar
- Complete stop loss and take profit parameters provide a basic risk control framework
Weaknesses
- Fixed stop loss of 1000 points and take profit of 2000 points are excessively large for most instruments, potentially leading to unnecessary risk exposure
- Lacks spread filter and trading session filter, which may cause unfavorable fills during high-spread or low-liquidity periods
- No position count check, potentially leading to repeated position opening and oversized exposure
- The MM parameter design where negative values mean fixed lot size is unintuitive and prone to misuse
- Depends on external custom indicator 3XMA_Ishimoku; if not properly installed, the EA fails silently with only a print log instead of stopping initialization
Possible improvements
- Add spread filter and trading session filter to avoid opening positions under unfavorable conditions
- Add maximum position count limits and money management optimization to prevent over-concentration of positions
- Return INIT_FAILED when indicator handle acquisition fails instead of continuing to run, and implement more robust error handling
Risk assessment
Overall risk: Medium
- EA continues running when indicator handle acquisition fails, all CopyBuffer calls in OnTick will fail causing persistent Recount loops
- No maximum position count check, theoretically allowing unlimited position opening on each new signal
- Fixed stop loss/take profit points do not account for instrument volatility differences, potentially unsuitable for some instruments
- The negative-value-means-fixed-lot semantics of MM parameter is unintuitive, users may accidentally set excessively large lot sizes
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Deposit percentage or fixed lot; negative value = lot size |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippage deviation in points |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | AroonSignal indicator timeframe |
Up_period1 | 3 | High price calculation period 1 |
Dn_period1 | 3 | Low price calculation period 1 |
Up_period2 | 6 | High price calculation period 2 |
Dn_period2 | 6 | Low price calculation period 2 |
Up_period3 | 9 | High price calculation period 3 |
Dn_period3 | 9 | Low price calculation period 3 |
Up_mode1 | HIGH | High search time series 1 |
Dn_mode1 | LOW | Low search time series 1 |
Up_mode2 | HIGH | High search time series 2 |
Dn_mode2 | LOW | Low search time series 2 |
Up_mode3 | HIGH | High search time series 3 |
Dn_mode3 | LOW | Low search time series 3 |
XMA1_Method | MODE_SMA | Smoothing method 1 |
XMA2_Method | MODE_SMA | Smoothing method 2 |
XMA3_Method | MODE_SMA | Smoothing method 3 |
XLength1 | 8 | Smoothing depth 1 |
XLength2 | 25 | Smoothing depth 2 |
XLength3 | 80 | Smoothing depth 3 |
XPhase | 15 | Smoothing param; JJMA: -100 to +100, VIDYA: CMO period, AMA: slow MA period |
SignalBar | 1 | Bar index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.