Exp_CMO_Duplex
This EA trades based on the CMO (Chande Momentum Oscillator) in a duplex configuration, using two CMO indicators with different periods to generate buy and sell signals. It enters long positions when the fast CMO crosses above the slow CMO or when the CMO crosses above a threshold, and enters short positions on the reverse conditions. The strategy is a momentum-based systematic trading system with configurable position sizing and stop loss/take profit management.
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 concept of this EA is based on a dual-period crossover system using the Chande Momentum Oscillator (CMO). For entry conditions, buy signals are typically triggered when the fast CMO crosses above the slow CMO or when CMO crosses above a zero line/threshold from oversold territory, while sell signals are triggered on the reverse crossings. Exit conditions are implemented through configurable stop loss and take profit parameters, and positions may also be closed when opposing signals appear. Position sizing is handled through a fixed lot mode, allowing users to set the trade volume via input parameters. In terms of money management, the EA lacks built-in dynamic money management mechanisms such as proportional position sizing based on account equity, relying instead on the user to manually set reasonable position sizes. The dual-period CMO design aims to filter out false signals by leveraging the difference between fast and slow periods to confirm momentum direction, thereby improving signal reliability.
Strengths
- The dual-period CMO crossover design effectively filters false signals from a single period, improving entry quality
- The CMO oscillator is sensitive to price momentum changes and captures trend reversals well
- The strategy logic is clear and concise with highly configurable parameters, making it easy for users to adjust and optimize
Weaknesses
- Lacks dynamic money management; fixed lot sizing provides insufficient risk control across different account sizes
- Stop loss and take profit default to 0, meaning trades have no stop loss protection if users don't manually configure them, which is extremely risky
- A single-indicator strategy tends to generate frequent false signals in ranging markets, leading to consecutive losses
- No new bar check mechanism, which may cause repeated position openings on the same bar
Possible improvements
- Add dynamic position sizing based on account equity (e.g., risk percentage mode) to improve money management capability
- Add new bar detection logic to prevent repeated entries on the same bar; include spread filter and trading session filter to reduce trades under unfavorable conditions
Risk assessment
Overall risk: High risk
- Stop loss and take profit default to 0, leaving trades completely unprotected if not configured
- No new bar check mechanism may cause multiple position openings on the same bar, leading to overexposure
- Lack of position check may cause repeated position building when signals oscillate, amplifying risk
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
CMO_PeriodFast | 9 | fastCMO period |
CMO_PeriodSlow | 21 | slowCMO period |
StopLoss | 0 | Stop loss in points |
TakeProfit | 0 | Take profit in points |
Lots | 0.1 | Fixed trading lot size |
CMO_LevelHigh | 50 | CMOoverbought threshold |
CMO_LevelLow | -50 | CMOoversold threshold |
MagicNumber | 0 | EA magic number |
Timeframe | 0 | Trading timeframe |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.