EA-15618 · Trend Following

Exp_Q2MA

This EA trades based on crossover signals from the Q2MA custom indicator, which uses configurable smoothing algorithms (SMA, EMA, JJMA, T3, etc.). It opens buy positions when the upper indicator line crosses above the lower line and sell positions on the opposite crossover, with optional position closing on signal reversal. Money management supports multiple margin modes including fixed lot sizing.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsQ2MA, T3, JJMA, VIDYA, AMA, JurX, ParMA
Author—

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

This EA employs a dual-line crossover trend-following strategy, relying on two smoothed lines from the Q2MA custom indicator to determine market direction. Entry conditions: a buy signal is generated when the upper line crosses above the lower line, and a sell signal is generated on the opposite crossover, with an optional inversion feature. Exit conditions include configurable stop-loss and take-profit levels, plus optional closing of opposite positions upon signal reversal. Position sizing is controlled via the MM parameter with five money management modes: free margin-based, balance-based, loss-adjusted free margin, loss-adjusted balance, and fixed lot sizing. The strategy detects signal changes only on new bar formation using the CIsNewBar class, with a SignalBar parameter controlling signal lag to avoid false signals on incomplete bars. The smoothing algorithm is highly configurable, supporting advanced methods like JJMA, JurX, ParMA, T3, VIDYA, and AMA for improved signal quality.

Strengths

  • Supports multiple advanced smoothing algorithms (JJMA, T3, VIDYA, etc.) for tunable signal quality
  • Complete risk parameters with stop-loss, take-profit, and slippage control
  • New bar detection mechanism prevents duplicate signals; SignalBar parameter avoids false triggers on incomplete bars
  • Independent buy/sell direction switches provide high flexibility
  • Opposite position closing on signal reversal reduces holding risk

Weaknesses

  • Default SL=1000 and TP=2000 points are large and may be unsuitable for shorter-term trading
  • No trailing stop or position addition mechanism, limiting profit-locking capability during favorable moves
  • Depends on external custom indicator Q2MA and include files, increasing deployment complexity
  • No trading session or spread filter, potentially opening positions during unfavorable conditions
  • MM=0.1 has no practical effect in LOT mode, creating parameter ambiguity

Possible improvements

  • Add trailing stop functionality to lock in profits during extended trends
  • Add trading session filter and spread filter to avoid entries during high spread or low liquidity periods
  • Add position count check and maximum position limits to prevent over-concentration risk

Risk assessment

Overall risk: Medium

  • No spread filter means stop-losses can be easily triggered in high-spread environments
  • Default 1000-point stop-loss is large, potentially causing larger-than-expected single-trade losses
  • No maximum position limit may lead to consecutive entries and cumulative losses in choppy markets
  • Dependency on external indicator files can cause initialization failures if missing

Evaluation scores

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

Parameters

ParameterDefaultDescription
MM0.1Money management parameter, lots or ratio
MMModeLOTMargin calculation mode (fixed lots, balance percentage, etc.)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy to open
SellPosOpentrueAllow sell to open
BuyPosClosetrueClose long positions on reverse signal
SellPosClosetrueAllow closing short positions on signal reversal
InvertfalseInvert buy/sell signals
InpInd_TimeframePERIOD_H4trend_arrows indicator timeframe
XMA_MethodMODE_T3Smoothing algorithm type
XLength8Smoothing period length
XPhase15Smoothing phase (JJMA: -100~+100, VIDYA: CMO period, AMA: fast MA period)
SignalBar1Signal bar index (0 for current bar)

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.