EA-19550 · Momentum

Starter_v6mod (jpkfox)

This EA is a multi-indicator momentum-based trading system that uses EMA Angle, Laguerre RSI with Laguerre filter, CCI, and two EMAs to generate buy/sell signals. It incorporates grid-style position stepping, trailing stops, daily loss limits, Friday exit rules, and a lot-decrease factor after consecutive losses. Positions are managed with both indicator-based and time-based exit conditions.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskCaution
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsEMA Angle (custom), Laguerre RSI with Laguerre Filter (custom), CCI, EMA (120-period), EMA (40-period)
Authorjpkfox

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-5.12%-4.46%5.70%13349.20%-1.21-0.907−$3.62Reliable
GBPUSD-1.10%-0.95%4.67%13647.40%-0.16-0.248−$0.63Reliable
USDJPY-4.25%-3.70%7.58%13740.90%-0.88-0.568−$3.10Reliable
XAUUSD+34.06%+27.40%69.59%14051.10%0.820.499+$22.73Reliable

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 18% of 68 · GBPUSD: better than 53% of 66 · USDJPY: better than 18% of 68 · XAUUSD: better than 68% of 75

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD31%+2.29% 2026-03-2.05% 2026-08
GBPUSD46%+1.67% 2026-05-1.65% 2026-10
USDJPY31%+1.84% 2026-09-2.75% 2026-03
XAUUSD77%+67.13% 2026-03-37.10% 2026-08

From the backtest equity curve, sampled about every two days; only reliable results.

Blow-up risk: No blow-up pattern found

  • Can hold up to 10 positions at once

On its own this is not a typical blow-up pattern, 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 strategy concept relies on multi-indicator momentum confirmation: the EMA Angle indicator determines trend direction (negative values signal uptrend, positive values signal downtrend), the Laguerre RSI identifies overbought/oversold zones, CCI confirms momentum direction, and dual EMAs (period 120 and 40) provide trend-following confirmation. The buy condition requires Laguerre RSI below 0.15 (oversold), both EMAs declining, and CCI below zero, seeking reversal opportunities within bearish momentum; the sell condition is the mirror opposite. For exits, long positions close when Laguerre RSI exceeds 0.85, short positions close when it drops below 0.15, and all positions are forcefully closed after Friday 20:00. Position management uses a grid-stepping logic where new buy entries must be a minimum distance (ExtStepGrid) from the lowest existing buy price, preventing over-concentration. Money management supports either fixed lot sizing or risk-percentage mode, with lot size reduced by a DecreaseFactor after losses, a daily maximum of 3 losing trades, and trading halted when equity falls below the margin cutoff threshold.

Strengths

  • Multi-indicator confirmation reduces false signals: EMA Angle for trend direction, Laguerre RSI for overbought/oversold, CCI and dual EMAs for momentum confirmation
  • Comprehensive risk control system: daily loss count limit, margin cutoff threshold, lot decrease after consecutive losses, maximum position count limit
  • Friday forced exit avoids weekend gap risk, and grid stepping prevents over-concentration of entry positions
  • Supports both fixed lot and risk-percentage money management modes, flexibly adapting to different account sizes

Weaknesses

  • Contradictory entry logic: buy conditions require both EMAs declining and CCI below zero, which means buying in a downtrend — this is counter-trend rather than momentum following, creating logical inconsistency
  • Trailing stop logic is duplicated in CheckOpenPositions and a standalone Trailing() function that is never called, representing dead code
  • Lacks new bar detection mechanism, meaning trading logic can trigger on every tick, potentially causing redundant entries or over-trading during volatile conditions
  • Stop loss of 35 pips vs take profit of 10 pips yields a risk-reward ratio of only ~0.29, requiring an extremely high win rate for profitability, raising sustainability concerns

Possible improvements

  • Add new bar detection (isNewBar) to prevent trading logic from executing on every tick, reducing unnecessary computation and potential redundant entries
  • Fix entry logic consistency: if the strategy is momentum-following, buys should occur during uptrends with rising EMAs; if it's mean reversion, clearly label the strategy type and add reversal confirmation indicators
  • Invoke or remove the unused Trailing() function to eliminate dead code and consolidate trailing stop implementation in one location
  • Add spread filtering to avoid opening positions during high-spread periods (e.g., around news releases or low-liquidity sessions), improving win rates for scalping-style trades

Risk assessment

Overall risk: Caution

  • Stop loss far exceeds take profit (35 vs 10 pips), yielding an extremely low risk-reward ratio that amplifies drawdown risk during losing streaks
  • No new bar detection may allow multiple entries within the same bar, increasing risk exposure especially during rapid market moves
  • Grid stepping logic allows up to 10 same-direction positions, potentially creating large cumulative risk exposure in extreme market conditions
  • Lack of spread filtering may result in immediate losses when opening positions during high-spread environments

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
InpLotSetManuallyfalseLot mode: true=fixed lot, false=risk percentage calculation
InpLots0.1Fixed lot size value
InpStopLoss35stop losspoints (pips)
InpTakeProfit10take profitpoints (pips)
InpTrailingStop0Trailing stop distance in points
InpTrailingStep5Trailing stop step in points
Risk5Risk per trade as percentage of free margin
InpDecreaseFactor1.6Lot reduction factor after losses
InpMaxLossesPerDay3Maximum daily loss count limit
InpMargincutoff800Stop trading when equity falls below this value
InpMaxtrades10Maximum positions
InpStepGrid30Grid step distance in pips
EMAPeriod34EMA angle indicator period
AngleThreshold3.0EMA angle threshold; exceeding this signals a trend
RsiGamma0.80Laguerre RSI gamma parameter
RsiSmoothGamma0.001Laguerre RSI smoothing gamma parameter
FilterGamma0.60Laguerre filter gamma parameter
LevelUp0.85Laguerre RSIoverbought level
LevelDown0.15Laguerre RSIoversold level
CCI_ma_period14CCI indicator period
MA_One_ma_period120Slow EMA period
MA_Two_ma_period40Fast EMA period
m_magic15489EA magic number for identifying its positions

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.