EA-299 · Momentum

Expert_ADC_PL_MFI

This EA uses a custom signal filter based on the Market Facilitation Index (MFI) combined with a Moving Average to generate trading signals within the MQL5 Standard Library Expert Advisor framework. It employs fixed lot sizing with no trailing stop, relying solely on the CDC_PL_MFI signal filter for entry and exit decisions with configurable thresholds.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskLow
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsMFI, MA
AuthorMetaQuotes Software Corp.

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 is based on a custom signal filter CDC_PL_MFI that combines the Market Facilitation Index (MFI) indicator with its Moving Average. Entry conditions are determined by the MFI period (default 49) and MA period (default 11), triggering trades when signal strength exceeds the opening threshold (default 10). Exit conditions similarly rely on the signal filter's reverse signal strength exceeding the closing threshold, with fixed stop loss (50 points) and take profit (50 points) levels in place. Position sizing uses a fixed lot model (default 0.1 lots) without dynamic adjustment. Money management employs the CMoneyFixedLot class, controlling risk via a fixed percentage (10%) and fixed lot size. The overall strategy falls under the momentum category, leveraging the MFI indicator to measure market money flow intensity combined with MA smoothing to judge trend direction and trading opportunities. The EA does not use trailing stops, has relatively tight stop loss and take profit (50 points), and pending orders have a 4-bar expiration time.

Strengths

  • Clear momentum strategy logic based on MFI indicator, which effectively measures market money flow intensity
  • Uses MQL5 Standard Library Expert framework with well-structured, modular code that is easy to maintain and extend
  • Fixed stop loss and take profit (50 points) in place, keeping risk controlled without dangerous stopless positions
  • Adjustable signal weight allows flexible control over the signal filter's influence on overall trading decisions
  • Per-bar execution rather than per-tick (Expert_EveryTick=false) reduces overtrading

Weaknesses

  • Fixed 50-point stop loss and take profit without ATR-based dynamic adjustment may not suit all instruments and timeframes
  • No trailing stop mechanism (uses TrailingNone), preventing profitable positions from riding trends for larger gains
  • Relies on a single signal filter without multi-dimensional confirmation, making it vulnerable to false signals and resulting losses
  • Fixed 0.1 lot sizing doesn't dynamically adjust based on account equity and risk, leading to inconsistent risk exposure across different account sizes
  • Default MFI period 49 and MA period 11 lack documentation, making it unclear whether they were adequately backtested and optimized

Possible improvements

  • Replace fixed stop loss/take profit with ATR-based dynamic adjustment to adapt to different market volatility environments
  • Add a trailing stop module to replace TrailingNone, allowing profitable positions to lock in gains and follow trends
  • Add multi-timeframe confirmation or combine multiple signal filters to improve entry signal reliability

Risk assessment

Overall risk: Low

  • Fixed 50-point SL/TP may be too wide on low-volatility instruments causing larger losses, or too narrow on high-volatility instruments causing frequent stop-outs
  • Single signal filter without confirmation mechanism may generate excessive false signals

Evaluation scores

Code quality4.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.8

Parameters

ParameterDefaultDescription
Expert_TitleExpert_ADC_PL_MFIEA document name
Expert_MagicNumber32035EA magic number for order identification
Expert_EveryTickfalseExecute trading logic on every tick
Signal_ThresholdOpen10Open position signal threshold [0...100]
Signal_ThresholdClose10Close position signal threshold [0...100]
Signal_PriceLevel0.0Price level for trade execution
Signal_StopLevel50.0Stop loss level (points)
Signal_TakeLevel50.0Take profit level (points)
Signal_Expiration4Pending order validity (bars)
Signal__PeriodMFI49MFI indicator period
Signal__PeriodMA11MA moving average period
Signal__Weight1.0Signal filter weight [0...1.0]
Money_FixLot_Percent10.0Money 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.