EA-1294 · Trend Following

Exp_ADX_Smoothed

This EA trades based on crossover signals from the smoothed ADX indicator's DI+ and DI- lines. It enters long when DI+ crosses above DI- and short when DI- crosses above DI+, with configurable permissions for opening and closing positions. Position sizing uses a money management parameter that can represent either a fixed lot size or a percentage of the deposit.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsADX_Smoothed (DI+, DI-)
AuthorCopyright © 2012, 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 strategy uses the crossover of smoothed ADX indicator's DI+ and DI- lines to determine trend direction. Entry conditions: a buy signal is generated when DI+ crosses above DI-, opening a long position and closing any existing short position; a sell signal is generated when DI+ crosses below DI-, opening a short position and closing any existing long position. Exit conditions include fixed Stop Loss and Take Profit in points, as well as position closure triggered by opposing crossover signals. Position sizing is controlled by the MM parameter, where negative values represent a fixed lot size and positive values represent a share of the deposit. The strategy checks for signals on each new bar formation to avoid redundant per-tick calculations, using the SignalBar parameter to specify the bar index for signal retrieval. This is a classic trend-following system that relies on directional indicator crossovers to capture trend initiation points.

Strengths

  • New bar detection mechanism avoids redundant per-tick calculations, reducing resource consumption
  • Flexible position sizing parameter supports both fixed lot size and deposit share modes
  • Buy/sell open and close permissions can be independently controlled for high configuration flexibility
  • Smoothed ADX indicator reduces signal noise, making crossover signals more reliable

Weaknesses

  • No protection when StopLoss or TakeProfit is set to zero, potentially leading to unlimited risk exposure
  • No spread filter, which may cause unfavorable entries during wide spread conditions
  • Strategy relies solely on DI+/DI- crossover, prone to frequent false signals in ranging markets
  • Lacks maximum position count and drawdown control mechanisms

Possible improvements

  • Add an ADX strength threshold filter to only enter trades when the ADX value exceeds a certain level, avoiding false signals in ranging markets
  • Add spread filtering and maximum drawdown limits to improve risk management capabilities

Risk assessment

Overall risk: Medium

  • StopLoss and TakeProfit parameters can be set to zero, posing unlimited risk potential
  • No spread filter mechanism, severe slippage possible during high volatility periods
  • Frequent DI crossover reversals in ranging markets may lead to consecutive losses

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM-0.1Trade share or lot; negative value=fixed lots
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price deviation in points (slippage tolerance)
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Timeframe for indicator calculation
ADXperiod14ADX indicator period
alpha10.25Smoothing coefficient 1
alpha20.33Smoothing coefficient 2
SignalBar1Bar index for entry signal

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.