EA-21952 · Momentum

Exp_XCCI_Histogram_Vol

This EA trades based on the XCCI Histogram with Volume confirmation, entering long positions when the CCI histogram crosses above zero with volume support and short positions when it crosses below zero with volume support. It uses a customizable CCI period and volume threshold to filter signals, applying fixed stop-loss and take-profit levels for trade management. The strategy is a momentum-based approach that seeks to capture trend initiation confirmed by increasing market participation.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskHigh risk
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsCCI, Volume
AuthorCopyright © 2018, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-8.31%-7.26%8.94%14439.90%-1.68-0.936−$6.05Reliable
GBPUSD-13.44%-11.79%15.17%14442.70%-2.19-0.8911−$9.57Reliable
USDJPY-3.98%-3.47%5.58%16547.00%-0.78-0.7110−$2.33Reliable
XAUUSD+53.03%+42.12%34.90%15252.30%1.151.527+$33.49Reliable

Profitable on 1 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 4% of 68 · GBPUSD: better than 3% of 66 · USDJPY: better than 24% of 68 · XAUUSD: better than 79% of 75

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD15%+5.33% 2026-03-3.56% 2026-02
GBPUSD15%+6.88% 2026-03-5.76% 2026-02
USDJPY54%+1.35% 2026-08-3.44% 2026-09
XAUUSD54%+37.84% 2026-01-18.74% 2026-07

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 strategy concept of this EA is based on the zero-line crossover signals of the XCCI (Extended Commodity Channel Index) histogram, combined with volume confirmation to filter out false breakouts. Entry conditions are: for long positions, the CCI histogram crosses above zero from negative territory and current volume exceeds a set volume threshold; for short positions, the reverse applies with the CCI histogram crossing below zero from positive territory with sufficient volume. Exit conditions rely on fixed stop-loss and take-profit parameters, without employing trailing stops or any dynamic exit mechanism. Position sizing uses a fixed lot size approach, without implementing dynamic position sizing based on account equity or market volatility for money management. The volume filter design helps reduce false signals in low-liquidity environments, but the strategy lacks multi-timeframe analysis and market structure recognition (such as support and resistance levels), which may lead to frequent false signals in ranging markets.

Strengths

  • Volume confirmation mechanism effectively filters low-liquidity false signals, improving entry quality
  • Fixed stop-loss and take-profit provide clear risk control boundaries, preventing excessive single-trade losses
  • CCI histogram zero-line crossover logic is clear and easy to understand, with concise parameters facilitating optimization and backtesting
  • Magic number for order management avoids conflicts with other EAs

Weaknesses

  • Lacks trailing stop mechanism, profitable positions may significantly erode before being closed by take-profit or stop-loss
  • Fixed lot position sizing does not account for account size and volatility, resulting in inconsistent risk exposure across different capital levels
  • In ranging markets, CCI frequently crosses zero generating numerous false signals leading to consecutive losses
  • No new bar check is implemented, potentially causing repeated entries within the same candle

Possible improvements

  • Add trailing stop functionality to automatically tighten stops after price moves favorably, locking in profits
  • Implement dynamic position sizing based on ATR or account equity percentage to make risk exposure self-adjusting to market conditions and capital size
  • Add multi-timeframe confirmation, requiring higher timeframe trend alignment before entry, to reduce false signals in ranging markets

Risk assessment

Overall risk: High risk

  • No new bar check implemented, potentially causing repeated entries within the same candle leading to over-exposure risk
  • Fixed position sizing does not adjust to account size, potentially over-leveraging small accounts or under-utilizing large accounts
  • Lacks ranging market identification and filtering, which may generate numerous consecutive losing trades in sideways markets

Evaluation scores

Code quality2.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.0

Parameters

ParameterDefaultDescription
CCI_Period14CCI indicator calculation period
Volume_Threshold1000Volume filter threshold; no trade below this value
StopLoss300Stop loss in points
TakeProfit600Take profit in points
Lots0.1Fixed trading lot size
MagicNumber21952EA unique ID to distinguish orders across instances

Similar Momentum EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.