EA-1225 · Momentum

Exp_MACD_Xtr

This EA trades based on signals from the custom MACD_Xtr indicator, which is an enhanced MACD with volatility-based normalization using ATR, standard deviation, or volume as the source. It opens buy/sell positions on trend signals and closes them when the trend fades or reverses, with configurable stop loss and take profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsMACD_Xtr, EMA, ATR, Standard Deviation
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Run error
GBPUSD0.00%0.00%0.00%0—————Run error
USDJPY0.00%0.00%0.00%0—————Run error
XAUUSD0.00%0.00%0.00%0—————Run error

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 strategy of this EA generates momentum trading signals based on the custom MACD_Xtr indicator, which enhances traditional MACD with volatility normalization using ATR, standard deviation, or tick volume as the source. Entry conditions are: when the indicator signal value equals 2, a buy position is opened (bullish signal), and when the signal value equals 0, a sell position is opened (bearish signal), requiring the current bar signal to differ from the previous bar to confirm a trend change. Exit conditions include: when the signal value equals 1 indicating no trend, both long and short positions are closed; passive exits also occur via configurable stop loss and take profit levels. Position sizing uses a deposit share model controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent the share of account balance per deal. Money management relies on functions from the external include file TradeAlgorithms.mqh, supporting dynamic position calculation based on deposit share. The strategy also incorporates a sensitivity threshold (Sens) and front/back smoothing periods to filter out noise from the signals.

Strengths

  • Uses a volatility-normalized enhanced MACD indicator that adapts better to varying market volatility than traditional MACD
  • Includes complete stop loss/take profit settings and directional toggles for buy/sell, providing comprehensive risk control parameters
  • Signal processing employs front/damping dual smoothing filter, effectively reducing false signals

Weaknesses

  • Core trading logic depends on the external include file TradeAlgorithms.mqh, making it impossible to independently evaluate the complete trade execution safety
  • The default BackPeriod value of 444 is extremely large, potentially causing severe indicator lag and missing many trading opportunities
  • Lacks spread filtering and maximum position checks, which could lead to additional losses under adverse market conditions

Possible improvements

  • Add a spread filter mechanism to avoid opening positions during high-spread periods that would incur unnecessary trading costs
  • Add maximum simultaneous position limits and maximum drawdown controls to improve overall capital safety

Risk assessment

Overall risk: Medium

  • Depends on external include file TradeAlgorithms.mqh whose internal implementation is unreviewed, potentially containing position sizing or execution logic flaws
  • Lacks spread filtering, potentially executing at unfavorable prices during low-liquidity market sessions
  • Stop loss and take profit use fixed points rather than ATR-based dynamic adjustment, which may be inappropriate across different volatility environments

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation4.0
Documentation2.0
Overall2.8

Parameters

ParameterDefaultDescription
MM-0.1Trade capital percentage; negative = fixed lots
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price deviation in points (slippage tolerance)
BuyPosOpentrueAllow buy position opening
SellPosOpentrueAllow sell position opening
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Indicator timeframe
FastMA12Fast EMA period
SlowMA26Slow EMA period
SourceATRSignal source type (Volume/ATR/StdDev)
SourcePeriod22Signal source calculation period
FrontPeriod1Front smoothing period
BackPeriod444Damping smoothing period
xVolatility0.5Volatility coefficient
Sens0Sensitivity threshold (points or ticks)
VolumeTypeVOLUME_TICKVolume type (ticks/real volume)
SignalBar1Bar index for entry signal

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.