EA-12548 · Trend Following

Exp_ElderImpulseSystem

This EA implements Alexander Elder's Impulse System, which combines a 13-period EMA with MACD histogram direction to determine trend impulse. It opens buy positions when both EMA and MACD histogram are bullish, opens sell positions when both are bearish, and closes positions when the impulse reverses. The system uses the custom ElderImpulseSystem indicator buffers to read color-coded signal values for entry and exit decisions.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskLow
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsEMA, MACD
AuthorCopyright © 2015, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.00%0.00%0.00%0—————Not convertible yet

Why this EA never traded: no entry rule survived the conversion.

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

This EA implements Alexander Elder's Impulse System strategy, whose core concept combines a trend indicator (EMA) with a momentum indicator (MACD histogram) to confirm trend impulses. Entry conditions: when the indicator buffer value is 2 (bullish impulse) and the previous value is 1 or 0, a buy position opens; when the value is 1 (bearish impulse) and the previous value is 0 or 2, a sell position opens. Exit conditions: positions close when the impulse signal reverses — sell positions close on bullish impulse, buy positions close on bearish impulse. Position sizing uses either fixed lot or margin percentage mode (MM parameter), supporting LOT and FREEMARGIN modes. Money management is controlled by the MM parameter, defaulting to 0.1 meaning 10% of available margin is used for opening positions. Stop loss and take profit default to 1000 and 2000 points respectively, yielding a 1:2 risk-reward ratio. The system only recalculates signals when the signal bar changes or a new bar appears, preventing redundant trades.

Strengths

  • Dual-indicator confirmation (EMA + MACD) reduces false signals and improves entry quality
  • Complete stop loss and take profit setup with default 1:2 risk-reward ratio provides sound risk control
  • Independent toggles for buy/sell open and close operations offer high flexibility
  • IsNewBar mechanism limits signal calculation frequency, preventing redundant trades within the same bar
  • Strategy based on classic technical analysis theory (Elder's Impulse System) with clear and verifiable logic

Weaknesses

  • Depends on external custom indicator ElderImpulseSystem; EA fails to run if the indicator is not installed
  • Stop loss and take profit use fixed points instead of ATR-based dynamic calculation, adapting poorly across varying volatility markets
  • Lacks scaling in/out logic, unable to pyramid positions as the trend develops
  • Does not account for spread and transaction costs impact on short-term trades
  • Signals only calculated on bar completion, potentially missing timely entry opportunities during sharp market moves

Possible improvements

  • Change stop loss and take profit to ATR-based dynamic calculation to adapt to different market volatilities
  • Add spread filter mechanism to pause trading when spread is excessively wide, avoiding unfavorable fills
  • Add position check and duplicate open protection to prevent multiple openings on the same signal

Risk assessment

Overall risk: Low

  • Depends on external indicator file; EA initialization fails when indicator is missing but no capital loss occurs
  • Fixed-point stop loss may be inflexible during extreme market conditions, though stop loss protection is in place

Evaluation scores

Code quality3.0
Strategy logic4.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.7

Parameters

ParameterDefaultDescription
MM0.1Money management ratio controlling position size
MMModeLOTLot sizing mode: fixed lots or margin percentage
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage in points
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Indicator calculation timeframe
ma_period13EMA period
fast_ema_period12MACD fast EMA period
slow_ema_period26MACD slow EMA period
signal_period9MACD signal line period
SignalBar1Bar index for trade signal calculation

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.