EA-1312 · Trend Following

Exp_ColorStepXCCX

This EA trades based on the ColorStepXCCX custom indicator, which uses step-filtered moving averages with dual smoothing. It enters long when the fast line crosses above the slow line and short when it crosses below, with configurable permissions for opening and closing positions independently.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsColorStepXCCX, JJMA, T3
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Custom indicator approximated
GBPUSD0.00%0.00%0.00%0—————Custom indicator approximated
USDJPY0.00%0.00%0.00%0—————Custom indicator approximated
XAUUSD0.00%0.00%0.00%0—————Custom indicator approximated

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 EA's core strategy is trend following based on the ColorStepXCCX indicator, which combines dual smoothing algorithms — price smoothing (e.g., JJMA) and deviation smoothing (e.g., T3) — then generates signals through fast and slow step sizes. Entry conditions: a buy signal triggers when buffer 0 (MPlus) crosses above buffer 1 (MMinus), and a sell signal triggers on the opposite crossover, with the additional requirement that the prior bar showed no crossover (confirming a fresh cross). Exit conditions: reverse crossover signals close positions, supplemented by fixed StopLoss and TakeProfit values in points for risk control. Position sizing is governed by the MM parameter: negative values specify a fixed lot size, while positive values represent a share of the deposit per deal. Money management relies on the TradeAlgorithms.mqh library functions (BuyPositionOpen/SellPositionOpen), which include deviation control to manage slippage. The strategy also uses an IsNewBar mechanism to ensure signals are calculated only once per bar, preventing duplicate trades within the same bar.

Strengths

  • Dual smoothing algorithms (JJMA+T3) produce higher quality signals with reduced noise
  • Independent control over buy/sell open and close permissions provides flexible configuration
  • IsNewBar mechanism prevents redundant signal calculation and duplicate trades within the same bar
  • Reasonable StopLoss/TakeProfit defaults with a 2:1 reward-to-risk ratio favoring long-term profitability
  • Step filtering mechanism effectively reduces frequent false signals in choppy markets

Weaknesses

  • Depends on the custom ColorStepXCCX indicator which must be installed separately, increasing deployment complexity
  • No spread filter, potentially leading to unfavorable entries in high-spread conditions
  • No explicit position check logic, potentially allowing duplicate position openings under certain conditions
  • StopLoss 1000 and TakeProfit 2000 points may be too large or small for some instruments without adaptive adjustment
  • The positive/negative MM parameter logic is unintuitive and prone to misconfiguration

Possible improvements

  • Add a spread filter to pause trading when spread exceeds a threshold, avoiding unfavorable slippage
  • Add position checking to prevent duplicate same-direction opens and allow max position limits
  • Split the MM parameter into separate position sizing mode and lot/ratio parameters for better readability

Risk assessment

Overall risk: Medium

  • No spread filter means entry prices may be unfavorable during high-spread periods
  • The negative MM value for fixed lots is error-prone and could accidentally use oversized lots
  • Dependency on external custom indicator means EA fails silently if indicator file is missing

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM-0.1Deposit percentage or fixed lot; negative value = lot size
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage deviation in points
BuyPosOpentrueAllow buy position opening
SellPosOpentrueAllow sell position opening
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4AroonSignal indicator timeframe
DSmoothMethodMODE_JJMAPrice smoothing method
DPeriod30Moving average period
DPhase100Smoothing parameter
MSmoothMethodMODE_T3Deviation smoothing method
MPeriod7Average deviation period
MPhase15Deviation smoothing parameter
IPCPRICE_TYPICALPrice constant type (close/open/high/low/median/typical/weighted etc.)
StepSizeFast5Fast step size
StepSizeSlow30Slow step size
SignalBar1Bar index for entry signal

Similar Trend Following 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.