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
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.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
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management parameter controlling lot size ratio or fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy to open position |
SellPosOpen | true | Allow sell to open position |
BuyPosClose | true | Allow buy to close (close long) |
SellPosClose | true | Allow sell to close (close short) |
Mode | breakdown | Entry algorithm: zero-line breakout or direction change |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
jLength | 14 | Smoothing depth |
jPhase | 0 | Smoothing parameter, range -100 to +100 |
IPC | PRICE_CLOSE_ | Applied price type |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.