EA-17030 · Trend Following

ADX System

This EA uses the ADX indicator to identify trending market conditions and enters trades when DI+ crosses above ADX (for buys) or DI- crosses above ADX (for sells), requiring the ADX main line to be rising. It includes a trailing stop mechanism and fixed stop-loss/take-profit for position management.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsADX
AuthorSystem

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

The strategy concept is based on the ADX trend strength indicator combined with directional indicators DI+/DI- crossover relationships to determine entry timing. Entry conditions for long: ADX previous value less than current value (rising trend), DI+ previous value below ADX previous value and DI+ current value above ADX current value (DI+ crossing above ADX). Entry conditions for short: ADX rising and DI- crossing above ADX. Exit conditions include signal reversal closing (for longs: ADX declining and DI+ crossing below ADX; for shorts: ADX declining and DI- crossing below ADX), trailing stop, and fixed stop-loss/take-profit. Position sizing uses a fixed lot size with no dynamic position adjustment mechanism. Money management only checks whether free margin is sufficient (1000*lots), lacking more refined risk control. The trailing stop moves the stop-loss to near breakeven once profit exceeds the specified points, providing dynamic protection for open positions.

Strengths

  • Clear strategy logic using ADX for trend strength combined with DI directional indicators, consistent with trend following fundamentals
  • Includes trailing stop mechanism that locks in profits and provides dynamic protection during trend continuation
  • Fixed stop-loss and take-profit settings make per-trade risk predictable
  • Uses Magic Number to distinguish this EA's positions, avoiding conflicts with other EAs
  • Supports automatic adjustment for 3-digit and 5-digit brokers, ensuring compatibility across different quote precisions

Weaknesses

  • Entry conditions require DI crossing above ADX rather than DI+/DI- crossover, which may produce fewer signals and is less intuitive than the conventional DI crossover approach
  • Fixed lot size with no dynamic position sizing ignores account size and volatility changes, leading to uneven risk exposure
  • Money management only performs a simple free margin check, lacking advanced risk controls like max drawdown limits or daily loss limits
  • No new bar check mechanism means trading logic can trigger on every tick, potentially opening multiple positions on the same candle
  • Trailing stop implementation has flaws: it only moves the stop when profit exceeds the trailing distance without considering a step value, and multiple return statements in the position management loop mean only one position is processed per tick

Possible improvements

  • Use DI+/DI- crossover as entry signals with ADX main line as trend strength filter (e.g., only trade when ADX>25), aligning with classic ADX strategy
  • Add new bar check mechanism to prevent repeated signal triggers on the same candle; implement dynamic position sizing based on ATR or account risk percentage
  • Optimize position management loop by removing unnecessary return statements so all positions can be processed per tick; add a trailing stop step parameter

Risk assessment

Overall risk: Medium

  • No new bar check may cause multiple trade signal triggers on the same candle, leading to overtrading
  • Fixed lot size ignores account size changes, creating excessive risk for small accounts and underutilization for large accounts
  • Multiple return statements in position management loop mean only one position is processed per tick, potentially delaying stop-loss modifications in multi-position scenarios

Evaluation scores

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

Parameters

ParameterDefaultDescription
InpTakeProfit15Take profit points (auto x10 for 3/5-digit)
Lots1Fixed trading lot size
InpTrailingStop20Trailing stop points (auto x10 for 3/5-digit)
InpStopLoss100Stop loss points (auto x10 for 3/5-digit)

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.