ADX MACD Deev
This EA combines the ADX indicator to measure trend strength with the MACD oscillator for momentum-based entry signals. It opens buy trades when MACD crosses above its signal line while ADX confirms a strong trend, and sells on the opposite conditions. The strategy aims to capture momentum moves only in confirmed trending markets, filtering out weak or sideways conditions.
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 | +5.62% | +4.87% | 3.10% | 55 | 44.40% | 1.12 | 1.81 | 4 | +$9.72 | Reliable |
| GBPUSD | +3.13% | +2.72% | 4.53% | 72 | 47.90% | 0.56 | 0.69 | 5 | +$4.75 | Reliable |
| USDJPY | +2.43% | +2.11% | 4.95% | 79 | 49.40% | 0.50 | 0.49 | 7 | +$3.07 | Reliable |
| XAUUSD | -8.10% | -6.74% | 54.29% | 114 | 49.60% | 0.21 | -0.15 | 6 | −$4.97 | Reliable |
Profitable on 3 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 Momentum EAs with a reliable result on the same market: EURUSD: better than 88% of 68 · GBPUSD: better than 82% of 66 · USDJPY: better than 81% of 68 · XAUUSD: better than 52% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 62% | +2.36% 2026-02 | -1.44% 2026-03 |
| GBPUSD | 62% | +4.88% 2026-04 | -2.43% 2026-03 |
| USDJPY | 54% | +2.26% 2025-12 | -1.70% 2025-11 |
| XAUUSD | 38% | +55.20% 2026-07 | -33.06% 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 EA's strategy concept is built on a dual-confirmation mechanism combining ADX trend strength filtering with MACD momentum crossover signals. Entry conditions require MACD main line crossing above the signal line for buys (and below for sells), while simultaneously ADX must exceed a threshold to confirm a trending market exists. Exit conditions rely on MACD reverse crossover signals for closing positions, with some versions potentially including fixed take-profit and stop-loss levels. Position sizing typically uses fixed lot sizes or a balance-based calculation method. Money management is relatively basic, lacking dynamic risk adjustment mechanisms that scale position size based on volatility or account equity changes. Overall, the strategy logic is clear but conventional; ADX filtering effectively reduces false signals in ranging markets, but MACD's inherent lag may cause late entries, missing the initial portion of trend moves.
Strengths
- ADX trend filtering effectively reduces false signals in sideways markets, improving signal quality
- Dual-indicator confirmation logic is clear and easy to understand and optimize
- MACD momentum crossover is a proven and reliable trend-following method validated over decades of market use
Weaknesses
- MACD's inherent lag causes late entries, potentially missing the initial portion of trend moves
- Lacks dynamic position sizing that adjusts risk exposure based on market volatility
- Stop-loss and take-profit may be inadequately configured; default values of 0 mean reliance on reverse signals for exits, exposing larger drawdown risk
Possible improvements
- Add ATR-based dynamic stop-loss and take-profit that automatically adjusts exit levels based on market volatility
- Implement new bar checking mechanism to prevent multiple duplicate entries within the same candle
Risk assessment
Overall risk: Medium
- Default stop-loss of 0 means full reliance on reverse signal exits, which can cause significant losses during volatile market moves
- Lack of new bar checking may lead to duplicate entries on the same signal, increasing risk exposure
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
ADX_Period | 14 | ADX indicator period parameter |
ADX_Level | 25 | ADX trend strength threshold, only open positions above this value |
MACD_FastEMA | 12 | MACD fast EMA period |
MACD_SlowEMA | 26 | MACD slow EMA period |
MACD_SignalSMA | 9 | MACD signal SMA period |
LotSize | 0.1 | Fixed trading lot size |
StopLoss | 0 | Auto stop loss in points |
TakeProfit | 0 | Auto take profit in points |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.