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
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.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
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Trade share or lot; negative value=fixed lots |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Max price deviation in points (slippage tolerance) |
BuyPosOpen | true | Allow opening long positions |
SellPosOpen | true | Allow opening short positions |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | Timeframe for indicator calculation |
ADXperiod | 14 | ADX indicator period |
alpha1 | 0.25 | Smoothing coefficient 1 |
alpha2 | 0.33 | Smoothing coefficient 2 |
SignalBar | 1 | Bar index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.