Exp_2pbIdealMA
This EA uses a dual moving average crossover system based on two custom indicators (2pbIdeal1MA and 2pbIdeal3MA) to generate buy and sell signals. It opens positions when the faster 1-MA crosses above/below the slower 3-MA, and closes positions on the reverse crossover. Position sizing is controlled by a flexible money management parameter that supports either fixed lot sizes or percentage-based allocation.
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 EA employs a trend-following strategy based on custom ideal moving average indicators. Entry conditions are triggered when 2pbIdeal1MA crosses above 2pbIdeal3MA for buy signals and below for sell signals, representing a classic dual MA crossover trend-following logic. Exit conditions include reverse MA crossover position closure along with fixed stop loss and take profit levels. Position sizing is controlled by the MM parameter where negative values represent fixed lot sizes and positive values represent deposit-proportional allocation. The EA detects signals on each new bar rather than every tick, which is a sensible approach to avoid duplicate trades and reduce noise. The strategy uses a triple-smoothed ideal moving average (3MA indicator) with multi-level rough and fine smoothing to reduce false signals, but all period parameters default to 10, lacking differentiated configuration. The money management allows a large stop loss (1000 points) and take profit (2000 points) with a 1:2 risk-reward ratio, though the stop loss may be insufficient in highly volatile markets.
Strengths
- New bar detection mechanism avoids duplicate signals and excessive trading, with clear and sensible logic
- Independent toggle switches for buy/sell opening and closing provide flexible directional control
- Multi-level smoothed ideal moving averages reduce false signals compared to simple MA crossovers
- 1:2 risk-reward ratio is well-designed with take profit exceeding stop loss, fitting trend-following strategy characteristics
- Includes data readiness checks and history loading mechanism for better operational robustness
Weaknesses
- All smoothing period parameters default to 10 with no differentiation, the 3MA triple smoothing may effectively behave like single smoothing
- MA crossover strategies generate frequent false signals in ranging/choppy markets leading to consecutive losses
- No trailing stop or break-even mechanism, potentially exiting too early in strong trends and not capturing full profit
- No trading session filter, spread filter, or market state detection, allowing entries under unfavorable conditions
- Depends on external custom indicator files (2pbIdeal1MA/2pbIdeal3MA), making deployment and migration inconvenient
Possible improvements
- Set differentiated default periods for each smoothing layer of the 3MA indicator to avoid convergent triple smoothing effects
- Add trailing stop or break-even mechanism to lock in floating profits and extend holding time during strong trends
- Add a ranging market filter (such as ADX or ATR) to pause trading during trendless periods and reduce false signal losses
Risk assessment
Overall risk: Medium
- MA crossovers generate numerous false signals in ranging markets causing consecutive small losses
- Fixed 1000-point stop loss may be insufficient during extreme market moves, lacking volatility-adaptive mechanism
- No spread or trading session filters, potentially opening positions during low liquidity or high slippage periods
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Deposit ratio; negative value=fixed lot size |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippage in points |
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 |
SignalBar | 1 | Bar index for entry signal |
Period1 | 10 | First coarse smoothing period |
Period2 | 10 | First fine smoothing period |
PeriodX1 | 10 | 3MA first coarse smoothing period |
PeriodX2 | 10 | 3MA first fine smoothing period |
PeriodY1 | 10 | 3MA second coarse smoothing period |
PeriodY2 | 10 | 3MA second fine smoothing period |
PeriodZ1 | 10 | 3MA third coarse smoothing period |
PeriodZ2 | 10 | 3MA third fine smoothing period |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.