EA-1648 · Trend Following

Exp_Color3rdGenXMA

This EA trades based on signals from the Color3rdGenXMA custom indicator, which uses a third-generation moving average with configurable smoothing methods. It opens buy positions when the indicator signals an uptrend (value=2) and sell positions when it signals a downtrend (value=0), with time-based entry filtering and position holding duration limits.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsColor3rdGenXMA, EMA, JJMA, JurX, ParMA, T3, VIDYA, AMA
AuthorCopyright © 2013, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.00%0.00%0.00%0—————Not convertible yet

Why this EA never traded: no entry rule survived the conversion.

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 of this EA is a trend-following system based on the third-generation moving average indicator (Color3rdGenXMA). Entry conditions are: a buy signal is generated when indicator buffer 1 equals 2, and a sell signal when it equals 0, with the value 1 representing no directional signal. Entry timing is strictly controlled, only allowing new positions at a user-specified hour and minute (StartHour:StartMinute), functioning as a session-based trade filter. Exit conditions include: indicator reversal signals triggering position closure (if BuyPosClose/SellPosClose are enabled), and forced closure based on position holding time (TimeMin parameter, default 720 minutes). Position sizing is managed through the TradeAlgorithms.mqh library, supporting five money management modes: free margin percentage, balance percentage, free margin loss share, balance loss share, and fixed lot size. The EA also implements maximum price deviation (slippage) control and history data loading to ensure correct indicator calculations.

Strengths

  • Supports 10 smoothing algorithms, providing high strategy flexibility to adapt to different market conditions
  • Time-based entry filter avoids trading during unfavorable sessions, reducing false signal risk
  • Position holding time limit (TimeMin) prevents prolonged drawdowns, with forced stop-loss and take-profit for risk management
  • Five money management modes offer flexible position sizing control options
  • Separate permission controls for opening and closing positions allow fine-grained strategy tuning

Weaknesses

  • Entry time filter is precise only to the minute and triggers at a single moment, potentially missing optimal entries or forcing entries at suboptimal times
  • Indicator-based position closing is disabled by default (BuyPosClose/SellPosClose=false), preventing timely exits on trend reversals
  • No spread filter included, which may lead to unfavorable fills in high-spread environments
  • Depends on the custom Color3rdGenXMA indicator, which must be correctly installed or the EA cannot run
  • Signals are based on a single indicator without multi-dimensional confirmation, potentially generating many false signals

Possible improvements

  • Add spread filtering and multi-timeframe confirmation to reduce unfavorable fills and false signals
  • Change the entry time filter from a single moment to a time window for greater entry flexibility
  • Add a trailing stop feature to protect profits during trend continuation

Risk assessment

Overall risk: Medium

  • Indicator-based closing disabled by default, potentially holding losing positions until stop-loss or timeout on trend reversal
  • Single indicator signal lacks confirmation mechanism, may trigger frequent stop-losses in ranging markets
  • Entry limited to a single minute, risk of unfavorable fills if price gaps at that moment

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM0.1Trade capital percentage
MMModeLOTLot sizing method (free margin/balance/loss ratio/fixed lot)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price deviation (slippage) in points
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosefalseAllow closing long positions on indicator signal
SellPosClosefalseAllow closing short positions on indicator signal
StartHourH08Position opening hour
StartMinuteM00Position opening minute
TimeMin720Max position holding time (minutes)
InpInd_TimeframePERIOD_H4Indicator timeframe
XMA_MethodMODE_EMASmoothing method (SMA/EMA/SMMA/LWMA/JJMA/JurX/ParMA/T3/VIDYA/AMA)
XLength50Smoothing depth
XPhase15Smoothing parameter (JJMA: -100 to +100, VIDYA: CMO period, AMA: slow MA period)
IPCPRICE_TYPICAL_Applied price type
Shift0Indicator horizontal shift (bars)
PriceShift0Indicator vertical shift (points)
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.