EA-317 · Momentum

Expert_AH_HM_RSI

This EA uses an RSI indicator smoothed by a moving average to generate momentum-based trade signals within the MQL5 Standard Library expert framework. It employs a threshold-based signal system to open and close positions, with fixed lot sizing and no trailing stop. The strategy relies on the CH_HM_RSI custom signal filter for all entry and exit decisions.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskHigh risk
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsRSI, MA
AuthorMetaQuotes Software Corp.

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-2.95%-2.57%8.79%10.00%————Too few trades
GBPUSD+3.58%+3.10%6.51%10.00%————Too few trades
USDJPY+2.85%+2.47%6.62%10.00%————Too few trades
XAUUSD-0.96%-0.79%64.25%10.00%————Too few trades

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

  • Has no stop loss or trailing stop

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 core strategy concept is momentum trading based on the RSI indicator, smoothed by a 2-period moving average applied to a 33-period RSI. Entry conditions are governed by signal thresholds: a position is opened when the composite signal exceeds the open threshold (default 40), and closed when it falls below the close threshold (default 20). Position sizing uses a fixed lot model (default 0.1 lots), which does not dynamically adjust based on account equity or volatility. Money management is handled by the MoneyFixedLot module, trading only with the configured fixed percentage and fixed lot size. Exit conditions include signal-based closing via thresholds, plus optional stop loss and take profit levels — however both default to 0, meaning no SL/TP is set. The strategy employs no trailing stop, relying entirely on signal reversal for exits, which can lead to significant profit giveback during trending markets.

Strengths

  • Uses the MQL5 Standard Library expert framework, resulting in clean, well-structured, and highly modular code
  • RSI smoothed by MA reduces false signals and improves signal quality
  • Adjustable signal thresholds allow users to flexibly control entry and exit sensitivity
  • Pending orders have expiration settings, preventing stale orders from occupying margin indefinitely
  • The framework supports multiple signal filters, making it easy to extend with additional strategy logic

Weaknesses

  • Stop loss and take profit default to 0, creating unlimited loss risk — trading without SL is extremely dangerous
  • Fixed lot sizing does not adapt to account equity, making it unsuitable for different account sizes
  • No trailing stop means significant profit giveback during trending markets
  • No spread filter, which can erode profits under narrow threshold conditions with high spreads
  • The RSI(33)+MA(2) parameter combination is not well-justified and may be overfitted to specific market conditions

Possible improvements

  • Set reasonable default SL/TP values, e.g. using ATR-based dynamic stop loss calculation to avoid unlimited risk exposure
  • Replace TrailingNone with a proper trailing stop module to protect floating profits in trending markets
  • Add spread filter and new bar check mechanism to avoid high slippage and duplicate signals
  • Replace fixed lot sizing with dynamic position sizing that adjusts based on account risk tolerance

Risk assessment

Overall risk: High risk

  • Both SL and TP default to 0, leaving trades completely unprotected with unlimited loss potential
  • No trailing stop mechanism means profitable positions lack protection and can give back significant gains
  • No new bar check — while EveryTick is false, the framework may still process signals multiple times on the same bar

Evaluation scores

Code quality4.0
Strategy logic3.0
Risk management1.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.3

Parameters

ParameterDefaultDescription
Expert_TitleExpert_AH_HM_RSIEA document name
Expert_MagicNumber15315EA magic number (not used for trading)
Expert_EveryTickfalseExecute every tick
Signal_ThresholdOpen40Entry signal threshold [0...100]
Signal_ThresholdClose20Exit signal threshold [0...100]
Signal_PriceLevel0.0Trade execution price level
Signal_StopLevel0.0Stop loss level (in points)
Signal_TakeLevel0.0Take profit level (in points)
Signal_Expiration4Pending order expiration (in bars)
Signal__PeriodRSI33RSI period parameter
Signal__PeriodMA2MA period overlaid on RSI
Signal__Weight1.0Signal filter weight [0...1.0]
Money_FixLot_Percent10.0Capital percentage
Money_FixLot_Lots0.1Fixed trading lot size

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.