Exp_MACD_Xtr
This EA trades based on signals from the custom MACD_Xtr indicator, which is an enhanced MACD with volatility-based normalization using ATR, standard deviation, or volume as the source. It opens buy/sell positions on trend signals and closes them when the trend fades or reverses, with configurable stop loss and take profit levels.
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 | — | — | — | — | — | Run error |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
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 core strategy of this EA generates momentum trading signals based on the custom MACD_Xtr indicator, which enhances traditional MACD with volatility normalization using ATR, standard deviation, or tick volume as the source. Entry conditions are: when the indicator signal value equals 2, a buy position is opened (bullish signal), and when the signal value equals 0, a sell position is opened (bearish signal), requiring the current bar signal to differ from the previous bar to confirm a trend change. Exit conditions include: when the signal value equals 1 indicating no trend, both long and short positions are closed; passive exits also occur via configurable stop loss and take profit levels. Position sizing uses a deposit share model controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent the share of account balance per deal. Money management relies on functions from the external include file TradeAlgorithms.mqh, supporting dynamic position calculation based on deposit share. The strategy also incorporates a sensitivity threshold (Sens) and front/back smoothing periods to filter out noise from the signals.
Strengths
- Uses a volatility-normalized enhanced MACD indicator that adapts better to varying market volatility than traditional MACD
- Includes complete stop loss/take profit settings and directional toggles for buy/sell, providing comprehensive risk control parameters
- Signal processing employs front/damping dual smoothing filter, effectively reducing false signals
Weaknesses
- Core trading logic depends on the external include file TradeAlgorithms.mqh, making it impossible to independently evaluate the complete trade execution safety
- The default BackPeriod value of 444 is extremely large, potentially causing severe indicator lag and missing many trading opportunities
- Lacks spread filtering and maximum position checks, which could lead to additional losses under adverse market conditions
Possible improvements
- Add a spread filter mechanism to avoid opening positions during high-spread periods that would incur unnecessary trading costs
- Add maximum simultaneous position limits and maximum drawdown controls to improve overall capital safety
Risk assessment
Overall risk: Medium
- Depends on external include file TradeAlgorithms.mqh whose internal implementation is unreviewed, potentially containing position sizing or execution logic flaws
- Lacks spread filtering, potentially executing at unfavorable prices during low-liquidity market sessions
- Stop loss and take profit use fixed points rather than ATR-based dynamic adjustment, which may be inappropriate across different volatility environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Trade capital percentage; negative = 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 buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
FastMA | 12 | Fast EMA period |
SlowMA | 26 | Slow EMA period |
Source | ATR | Signal source type (Volume/ATR/StdDev) |
SourcePeriod | 22 | Signal source calculation period |
FrontPeriod | 1 | Front smoothing period |
BackPeriod | 444 | Damping smoothing period |
xVolatility | 0.5 | Volatility coefficient |
Sens | 0 | Sensitivity threshold (points or ticks) |
VolumeType | VOLUME_TICK | Volume type (ticks/real volume) |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.