EA-15801 · Momentum

Exp_iDeMarkerSign

This EA trades based on signals from the custom iDeMarkerSign indicator, which identifies overbought and oversold conditions using DeMarker oscillator levels. It opens buy positions when the indicator signals an upward crossover above the lower level and sell positions when it signals a downward crossover below the upper level, with configurable close-on-opposite-signal logic. Position sizing is managed via a money management module supporting multiple margin modes.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsDeMarker, ATR, iDeMarkerSign
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

The core strategy of this EA trades on DeMarker indicator reversal signals from extreme zones. Entry conditions: a buy position is opened when iDeMarkerSign generates an upward signal in the oversold zone (below DnLevel=0.3), and a sell position is opened when a downward signal appears in the overbought zone (above UpLevel=0.7). Exit conditions include fixed StopLoss and TakeProfit in points, plus an opposite-signal close mechanism — the code includes logic that retrospectively scans historical bars to find earlier closing signals when no current reverse signal exists. Position sizing supports five modes: fixed lot, free margin-based, balance-based, net free margin-based, and net balance-based proportional calculation. Money management is implemented via the TradeAlgorithms.mqh library functions, including a deviation/slippage tolerance setting. The strategy defaults to the H4 timeframe and uses SignalBar=1, meaning it confirms trades on the previous closed bar, which is a sound practice to avoid repainting issues.

Strengths

  • Uses closed bar (SignalBar=1) for signal confirmation, avoiding repainting issues from future data
  • Supports five position sizing modes, providing high flexibility in money management
  • Opposite-signal closing mechanism adds an extra exit strategy beyond fixed SL/TP
  • Includes slippage tolerance parameter, improving execution robustness in live trading
  • Independent buy/sell toggle controls allow flexible unidirectional trading configuration

Weaknesses

  • ATR_Period variable is not declared as input, preventing users from modifying it in the parameters panel
  • The historical bar retrospective scanning logic for finding close signals is inefficient and may lead to inconsistent closing decisions
  • Lacks spread filter and trading session filter, potentially opening positions under unfavorable conditions
  • Default StopLoss of 1000 points and TakeProfit of 2000 points are excessively large for most instruments
  • No check for existing same-direction positions before opening new ones, risking duplicate positions

Possible improvements

  • Change ATR_Period to input type and add spread filter and trading session filter functionality
  • Add same-direction position check logic to prevent duplicate entries, and optimize the efficiency and reliability of retrospective close-signal searching

Risk assessment

Overall risk: Medium

  • No same-direction position check may cause duplicate entries amplifying risk exposure
  • Lack of spread and session filters can result in unfavorable fills during high-cost periods
  • Fixed SL/TP values do not adapt to the volatility characteristics of all instruments

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.3

Parameters

ParameterDefaultDescription
MM0.1Money management ratio or lot value
MMModeLOTLot mode: free margin/balance/post-loss free margin/post-loss balance/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Slippage deviation allowance
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Timeframe for iDeMarkerSign indicator
ATR_Period14ATR period (for indicator normalization)
iDeMarkerPeriod14DeMarker indicator period
UpLevel0.7Upper overbought level threshold
DnLevel0.3Lower oversold level threshold
SignalBar1Bar index for signal reading (0=current, 1=last completed)

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.