EA-1524 · Momentum

Exp_JMASlope

This EA trades based on the JMASlope indicator, which measures the slope of a Jurik Moving Average. It supports two entry algorithms: zero-line breakthrough (breakdown) and direction change (twist), opening buy/sell positions when the slope signals momentum shifts.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsJMASlope (Jurik Moving Average Slope)
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

This EA uses the JMASlope indicator as its core strategy, which measures the slope of a Jurik Moving Average to gauge price momentum direction and strength. Entry conditions are available in two modes: breakdown mode triggers a buy when the slope crosses above zero and a sell when it crosses below zero, implementing a zero-line breakout strategy; twist mode triggers a buy when the slope turns from declining to rising and a sell when it turns from rising to declining, implementing a direction-reversal strategy. Exit conditions include a fixed stop loss of 1000 points and take profit of 2000 points by default, along with signal-based position closing when the opposite signal appears. Position sizing is controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent a share of the deposit per deal. Money management relies on external functions from the TradeAlgorithms.mqh library, supporting both deposit-proportional and fixed-lot sizing modes. Overall, the strategy is a momentum-following system operating on a multi-timeframe basis, defaulting to the H4 timeframe.

Strengths

  • Dual-mode entry algorithm provides flexibility to switch between breakthrough and twist strategies based on market conditions
  • Jurik Moving Average is a high-quality smoothing algorithm with less lag than standard MAs, producing more timely signals
  • Comprehensive toggle controls allow independent management of buy/sell opening and closing permissions
  • New bar detection prevents repeated trading within the same bar
  • Multi-timeframe support allows flexible indicator period selection

Weaknesses

  • Lacks spread filtering, which may result in unfavorable fills in high-spread environments
  • Stop loss and take profit are fixed point values without ATR-based volatility adaptation
  • No check for existing position direction, potentially leading to duplicate same-direction entries
  • Depends on external TradeAlgorithms.mqh library, making core trading logic opaque
  • No drawdown protection mechanism or maximum drawdown limit during consecutive losses

Possible improvements

  • Add ATR-based dynamic stop loss and take profit that adapts to current market volatility
  • Add position direction check and maximum position count limit to prevent duplicate entries and overleveraging
  • Add spread filter and slippage protection to pause trading when spreads are excessively wide

Risk assessment

Overall risk: Medium

  • Fixed stop loss/take profit without volatility consideration: stops may be too wide in low volatility causing unnecessary losses, or take profit too close in high volatility missing moves
  • No position direction check may lead to duplicate same-direction entries causing excessive concentration risk
  • Negative MM parameter meaning fixed lot size may be misunderstood by users, potentially leading to oversized positions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
MM-0.1Money management parameter controlling lot size ratio or fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy to open position
SellPosOpentrueAllow sell to open position
BuyPosClosetrueAllow buy to close (close long)
SellPosClosetrueAllow sell to close (close short)
ModebreakdownEntry algorithm: zero-line breakout or direction change
InpInd_TimeframePERIOD_H4Indicator timeframe
jLength14Smoothing depth
jPhase0Smoothing parameter, range -100 to +100
IPCPRICE_CLOSE_Applied price type
SignalBar1Bar index for entry signal

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.