iCCI iMA
This EA combines the Commodity Channel Index (CCI) and Moving Average (iMA) indicators to generate trade signals. It opens buy positions when CCI crosses below a threshold and price is above the MA, and sell positions when CCI crosses above a threshold and price is below the MA. The strategy targets momentum reversals confirmed by trend direction from the moving average.
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.49% | +0.43% | 3.36% | 132 | 47.30% | 0.13 | 0.15 | 5 | +$0.63 | Reliable |
| GBPUSD | -1.30% | -1.13% | 6.01% | 133 | 49.20% | -0.19 | -0.22 | 5 | −$0.80 | Reliable |
| USDJPY | -3.11% | -2.71% | 5.28% | 72 | 52.80% | -0.87 | -0.59 | 4 | −$4.32 | Reliable |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | No trades |
Profitable on 1 of 3 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 65% of 68 · GBPUSD: better than 45% of 66 · USDJPY: better than 31% of 68
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +2.03% 2026-06 | -1.31% 2026-09 |
| GBPUSD | 54% | +2.34% 2026-02 | -2.88% 2026-03 |
| USDJPY | 54% | +0.78% 2026-06 | -1.95% 2026-05 |
From the backtest equity curve, sampled about every two days; only reliable results.
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 concept of this strategy uses the CCI indicator to identify momentum overbought and oversold zones, while the moving average determines the main trend direction, entering trades only when the trend direction aligns. Entry conditions: for buy signals, CCI crosses up from oversold territory while price is above the MA; for sell signals, CCI crosses down from overbought territory while price is below the MA. Exit conditions rely on fixed take-profit and stop-loss levels or reverse signal triggers to close positions. Position sizing uses a fixed lot approach without dynamic adjustment based on account equity. Money management lacks risk-proportion control, using the same lot size per trade regardless of volatility or account balance changes. The overall strategy logic is simple and clear but lacks adaptability to changing market conditions.
Strengths
- Simple and clear strategy logic, easy to understand and maintain
- Dual indicator filtering reduces false signals; CCI combined with trend direction improves win rate
- High parameter adjustability allows users to optimize for different instruments and market conditions
Weaknesses
- Fixed lot position sizing without dynamic adjustment based on account risk
- Lacks new bar check mechanism, potentially opening repeated positions on the same bar
- Stop-loss and take-profit default to zero, posing serious risk of trading without protection
Possible improvements
- Add dynamic position sizing based on account equity percentage or ATR
- Add new bar detection logic to prevent repeated trades on the same bar
- Set reasonable default stop-loss and take-profit values and add spread filter
Risk assessment
Overall risk: High risk
- Default stop-loss and take-profit are zero, potentially leading to unlimited losses
- Lacks new bar check, risking repeated position opening on the same bar
- Fixed lot size ignores account equity changes, continuing same size after large losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
CCI_Period | 14 | CCI indicator calculation period |
MA_Period | 20 | Moving average period |
MA_Method | MODE_SMA | Moving average calculation method |
Applied_Price | PRICE_CLOSE | MA applied price type |
CCI_BuyLevel | -100 | CCI buy threshold level |
CCI_SellLevel | 100 | CCI sell threshold level |
LotSize | 0.1 | Lot size per leg |
StopLoss | 0 | Auto stop loss in points; 0=disabled |
TakeProfit | 0 | Auto take profit in points; 0=disabled |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.