Expert_AMS_ES_CCI
This EA uses a CCI (Commodity Channel Index) indicator smoothed by a Moving Average as its core signal filter within the MQL5 Standard Library Expert Advisor framework. It opens and closes positions based on threshold-driven signal strength from the CMS_ES_CCI filter, with fixed-lot money management and no trailing stop. The strategy is a momentum-based system that relies on CCI extremes filtered through MA smoothing.
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 | -3.18% | -2.77% | 7.48% | 123 | 45.50% | -0.66 | -0.42 | 5 | −$2.58 | Reliable |
| GBPUSD | -5.60% | -4.89% | 9.50% | 128 | 49.20% | -0.96 | -0.59 | 6 | −$4.38 | Reliable |
| USDJPY | -1.95% | -1.70% | 4.77% | 131 | 41.50% | -0.32 | -0.41 | 8 | −$1.38 | Reliable |
| XAUUSD | -100.00% | -100.00% | 100.00% | 32 | 37.50% | -1.79 | -1.00 | 4 | −$482.89 | Account stopped out |
Profitable on 0 of 4 markets with reliable results.
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.
Against the other Momentum EAs with a reliable result on the same market: EURUSD: better than 29% of 68 · GBPUSD: better than 23% of 66 · USDJPY: better than 38% of 68 · XAUUSD: better than 0% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 46% | +2.70% 2026-09 | -3.71% 2026-04 |
| GBPUSD | 38% | +1.01% 2025-11 | -3.25% 2026-04 |
| USDJPY | 46% | +1.63% 2026-01 | -3.06% 2025-12 |
| XAUUSD | 0% | -4.56% 2025-11 | -100.00% 2026-01 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Has no stop loss or trailing stop
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
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 a momentum-based trading system centered on the CCI (Commodity Channel Index) indicator. Entry conditions are determined by comparing the CCI value (default period 25) smoothed through a Moving Average (default period 5) against an opening threshold (default 40) and a closing threshold (default 20): positions are opened when signal strength exceeds the opening threshold and closed when it falls below the closing threshold. Exit conditions, aside from threshold-triggered closes, include pending order expiration (default 4 bars), but both Stop Loss and Take Profit are set to 0, meaning there is no hard stop-loss or take-profit protection. Position sizing uses a fixed lot model (default 0.1 lots), with no dynamic adjustment based on account balance or market volatility. Money management employs the MoneyFixedLot module, controlling risk exposure solely through a fixed percentage (10%) and fixed lot size, with no trailing stop mechanism to lock in floating profits. Overall, the strategy relies on directional trading from CCI momentum signals but lacks stop-loss protection and profit-tracking mechanisms, making risk control relatively weak.
Strengths
- Uses the MQL5 Standard Library Expert framework with clean, modular code structure
- CCI indicator smoothed by MA reduces false signals and improves signal quality
- Threshold-based mechanism provides adjustable entry/exit sensitivity for different market conditions
- Fixed lot sizing makes risk predictable and simplifies backtesting validation
Weaknesses
- Both Stop Loss and Take Profit are set to 0, providing no hard risk protection which could lead to significant losses during extreme market moves
- No trailing stop means the EA cannot lock in floating profits on winning trades, creating profit giveback risk
- Fixed lot sizing ignores account size changes and market volatility, making money management overly simplistic
- Single signal filter lacks multi-dimensional confirmation, prone to frequent false signals in ranging markets
Possible improvements
- Add Stop Loss and Take Profit parameters, or implement ATR-based dynamic SL/TP to protect capital
- Replace TrailingNone with an actual trailing stop module to automatically lock in profits on winning trades
- Introduce multi-timeframe confirmation or an additional trend filter (e.g., MA direction) to reduce false signals in ranging markets
Risk assessment
Overall risk: High risk
- Stop Loss and Take Profit both at 0 means no price protection, allowing single-trade losses to escalate unchecked
- No trailing stop means winning positions can fully give back profits on market reversals
- Fixed lot sizing ignores account equity changes, causing risk ratio to continuously increase during losing streaks
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Signal_ThresholdOpen | 40 | Entry signal threshold [0...100] |
Signal_ThresholdClose | 20 | Exit signal threshold [0...100] |
Signal_PriceLevel | 0.0 | Trade execution price level |
Signal_StopLevel | 0.0 | Stop loss level (in points) |
Signal_TakeLevel | 0.0 | Take profit level (in points) |
Signal_Expiration | 4 | Pending order expiration (in bars) |
Signal__PeriodCCI | 25 | CCI indicator period |
Signal__PeriodMA | 5 | MA period overlaid on RSI |
Signal__Weight | 1.0 | Signal filter weight [0...1.0] |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 0.1 | Fixed trading lot size |
Expert_MagicNumber | 7663 | EA magic number (not used for trading) |
Expert_EveryTick | false | Execute every tick |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.