EA-21697 · Trend Following

XIT_THREE_MA_CROSS

This EA trades based on the crossover of three moving averages, generating buy signals when the fast MA crosses above both the medium and slow MA, and sell signals when the fast MA crosses below both. It uses configurable MA periods, methods, and applied prices to adapt the trend-following strategy to different instruments and timeframes. The three-MA filter aims to reduce false signals compared to a simple dual-MA crossover system.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsSMA, EMA, SMMA, LWMA
AuthorForex XIT - Jeff West

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-0.89%-0.78%3.50%11648.70%-0.18-0.255−$0.48Reliable
GBPUSD-2.22%-1.93%5.78%12045.40%-0.38-0.388−$1.66Reliable
USDJPY-5.13%-4.47%8.58%11844.40%-0.99-0.606−$4.51Reliable
XAUUSD+55.90%+44.32%36.23%11248.60%0.901.547+$52.59Reliable

Profitable on 1 of 4 markets with reliable results.

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.

Against the other Trend Following EAs with a reliable result on the same market: EURUSD: better than 46% of 95 · GBPUSD: better than 28% of 95 · USDJPY: better than 16% of 95 · XAUUSD: better than 79% of 96

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD31%+1.54% 2026-04-1.81% 2026-03
GBPUSD54%+1.41% 2026-08-2.77% 2026-10
USDJPY38%+2.54% 2026-04-3.44% 2026-08
XAUUSD54%+72.20% 2026-02-21.97% 2026-08

From the backtest equity curve, sampled about every two days; only reliable results.

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 concept is based on a triple moving average crossover confirmation system, using the alignment of fast, medium, and slow MAs to determine trend direction. Entry conditions require the fast MA to cross above both the medium and slow MAs simultaneously for a buy signal, and to cross below both for a sell signal, which provides double confirmation to filter out false signals common in dual-MA systems. Exit conditions rely on reverse crossover signals or optional stop-loss/take-profit levels, with some versions supporting trailing stops to lock in profits. Position sizing uses either fixed lot sizes or balance-based dynamic calculation depending on parameter configuration. Money management provides stop-loss and take-profit parameters but lacks advanced risk controls such as equity protection, maximum drawdown limits, or correlation-aware position management, resulting in a moderate overall risk control level.

Strengths

  • Triple MA double crossover confirmation produces fewer false signals than dual-MA systems
  • Flexible parameters support different MA methods and applied prices for various instruments
  • Clear trend-following logic well-suited for medium-to-long-term trending markets
  • Relatively simple code structure, easy to understand and customize
  • Multi-timeframe confirmation capability improves entry quality

Weaknesses

  • Frequent crossovers in ranging markets lead to consecutive losses
  • Lacks trailing stop mechanism, resulting in significant profit drawdowns
  • Stop-loss and take-profit default to 0, posing risk of unprotected positions
  • No built-in money management module for dynamic position sizing based on account risk
  • Missing new bar check may cause duplicate entries on the same candle

Possible improvements

  • Add trailing stop functionality to protect floating profits
  • Incorporate ADX or volatility filter to avoid false signals in ranging markets
  • Implement ATR-based dynamic stop-loss and position sizing
  • Add new bar check to prevent duplicate trades on the same candle
  • Add maximum drawdown limits and equity protection mechanisms

Risk assessment

Overall risk: Medium

  • Stop-loss defaults to 0, single trade losses can be enormous without it
  • Lack of new bar check may cause duplicate position openings on the same candle
  • Frequent crossover signals in ranging markets lead to consecutive losing trades

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
Fast_MA_Period5Fast moving average period
Medium_MA_Period21Medium-speed moving average period
Slow_MA_Period56Slow moving average period
MA_MethodMODE_SMAMoving average calculation method (SMA/EMA/SMMA/LWMA)
Applied_PricePRICE_CLOSEMA applied price type
Lot_Size0.1Lot size per trade
Stop_Loss0stop losspoints (0meansno)
Take_Profit0take profitpoints (0meansno)
Magic_Number12345EA magic number for distinguishing orders
TimeframePERIOD_CURRENTTII calculation timeframe, 0 for current period

Similar Trend Following EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.