EA-61998 · Momentum

TradingLab Best MACD Strategy

This EA trades based on MACD signal line crossovers combined with trend filtering, entering long positions when MACD crosses above its signal line in an uptrend and short positions when it crosses below in a downtrend. It uses standard MACD indicator values to generate systematic entry and exit signals without discretionary intervention. The strategy aims to capture momentum shifts confirmed by MACD histogram direction changes.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsMACD, EMA, SMA
AuthorMueller Peter

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD+5.10%+4.42%3.94%11852.10%————Same as other EAs
GBPUSD+13.29%+11.45%2.46%12150.40%————Same as other EAs
USDJPY-8.03%-7.01%9.07%12548.00%————Same as other EAs
XAUUSD+1.98%+1.63%54.16%13449.60%————Same as other EAs

On every market this backtest is identical to EA-17425. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.

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 core concept of this strategy is to capture directional shifts in market momentum using the classic MACD signal line crossover. Entry conditions require the MACD main line to cross above the signal line for longs (or below for shorts), combined with a trend direction filter to avoid counter-trend trades — long signals must be confirmed in an uptrend and short signals in a downtrend. Exit conditions typically rely on a reverse MACD crossover signal or preset take-profit and stop-loss levels to close positions. Position sizing uses either fixed lots or an account balance-proportional approach, but lacks a dynamic position adjustment mechanism. Money management relies on stop-loss settings to control per-trade risk, but there is no explicit maximum risk percentage per trade or equity drawdown protection mechanism. The overall strategy logic is clear but relatively basic, lacking adaptive adjustments for market volatility, trading sessions, and spread environment factors.

Strengths

  • MACD is a well-established classic momentum indicator with clear signal logic that is easy to verify and optimize
  • Trend filtering effectively reduces counter-trend false signals and improves win rate
  • High degree of parameterization allows users to flexibly adjust periods and lot sizes for different instruments and market conditions
  • Systematic execution eliminates emotional interference and ensures consistent trading discipline

Weaknesses

  • MACD signals have noticeable lag, leading to late entries during rapid reversals which reduce profit potential
  • Lacks adaptive volatility mechanism (ATR), prone to frequent false signals in low-volatility ranging markets
  • Default stop-loss and take-profit are zero, exposing trades to unlimited risk if users do not manually set them
  • No new bar check mechanism, potentially opening duplicate positions on the same bar leading to overtrading
  • Does not consider trading session or spread filtering, which may result in unfavorable fills during low liquidity or widened spreads

Possible improvements

  • Add ATR-adaptive stop-loss and take-profit mechanism that dynamically adjusts stop distances based on market volatility, improving strategy adaptability across different market conditions
  • Add new bar check and maximum position count limits to prevent duplicate entries and overtrading, along with spread filtering to avoid high-cost executions

Risk assessment

Overall risk: Medium

  • Default stop-loss and take-profit are zero — if users forget to set them, trades have no price protection and may suffer significant losses
  • Lacks new bar check mechanism, potentially triggering multiple entries on a single bar leading to duplicate positions
  • No maximum drawdown protection or account equity monitoring, which may lead to continued position addition and expanded losses during extreme market conditions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.3

Parameters

ParameterDefaultDescription
FastEMA_Period12MACD fast EMA period
SlowEMA_Period26MACD slow EMA period
SignalSMA_Period9MACD signal SMA period
LotSize0.1Trading lot size
StopLoss0Stop loss in points
TakeProfit0Take profit in points
TrailingStop0Trailing stop in points
MagicNumber123456EA magic number for identifying orders
TimeFrameH1Trading timeframe

Similar Momentum 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.