Moving Average Trade System
This EA implements a trend-following strategy based on moving average signals, entering trades when price crosses or aligns with a moving average. It systematically opens buy or sell positions depending on the relationship between price and the configured moving average indicator. The system includes basic parameter configuration for MA period, method, and applied price.
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 | -2.99% | -2.61% | 5.38% | 94 | 48.40% | — | — | — | — | Same as other EAs |
| GBPUSD | +3.48% | +3.02% | 5.07% | 95 | 49.50% | — | — | — | — | Same as other EAs |
| USDJPY | +1.77% | +1.53% | 4.61% | 94 | 48.90% | — | — | — | — | Same as other EAs |
| XAUUSD | +39.50% | +31.66% | 58.50% | 89 | 53.40% | — | — | — | — | Same as other EAs |
On every market this backtest is identical to EA-18443. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.
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 is trend following based on moving averages, determining market direction by evaluating the relative position of price to the moving average line. Entry conditions are triggered when price breaks above the moving average for buy signals and breaks below for sell signals, representing a classic MA crossover/breakout approach. Exit conditions rely on reverse signals from the moving average, which may lack independent stop-loss and take-profit mechanisms. Position sizing uses a fixed lot approach without dynamic adjustment based on account equity or market volatility. Money management is relatively simplistic, with no visible risk control modules such as maximum drawdown limits or position ratio controls, making the overall strategy logic clear but risk protection insufficient.
Strengths
- Strategy logic is simple and clear, easy to understand and verify
- Trend following performs well in clear trending markets, capturing large swing moves
- Configurable parameters allow users to adjust MA settings for different instruments and timeframes
- Relatively clean code structure facilitates secondary development and feature extension
Weaknesses
- Lacks independent stop-loss and take-profit mechanisms, exits rely entirely on reverse signals which may lead to significant drawdowns
- Fixed lot position sizing does not consider account equity ratio, posing overtrading risk
- MA strategies tend to generate frequent false signals in ranging markets leading to consecutive losses
- Missing spread filter, new bar check, and other anti-duplicate entry mechanisms
- No multi-timeframe confirmation, single MA signal reliability is limited
Possible improvements
- Add independent stop-loss/take-profit parameters and multi-condition exit mechanisms to reduce per-trade risk
- Introduce multi-timeframe confirmation and additional indicator filters (e.g., RSI, ATR) to reduce false signals
- Implement dynamic position sizing based on account equity ratio and maximum drawdown protection
Risk assessment
Overall risk: Medium
- Exits depend on reverse MA signals without hard stop-loss protection, potentially causing massive losses in extreme market conditions
- Fixed lot sizing ignores account size, small accounts may blow up quickly from oversized single positions
- No new bar detection may cause duplicate position opening on the same candle
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MA_Period | 14 | Moving average period |
MA_Method | MODE_SMA | MA calculation method (Simple/Exponential/Weighted, etc.) |
MA_Applied_Price | PRICE_CLOSE | Moving average applied price type |
LotSize | 0.1 | Fixed trading lot size |
StopLoss | 0 | Initial stop loss distance, 0 for no initial SL |
TakeProfit | 0 | Take profit per order in pips |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.