Expert_ABC_WS_MFI
This EA uses the MFI (Market Facilitation Index) indicator smoothed by a Moving Average as a momentum signal filter within the MetaQuotes standard Expert Advisor framework. It opens and closes positions based on threshold-based signal logic from the CBC_WS_MFI filter, with fixed lot sizing and no trailing stop. The strategy relies on the weighted MFI signal crossing configurable open/close thresholds to generate trade decisions.
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
The core strategy of this EA is based on the combination of the MFI (Market Facilitation Index) indicator with a Moving Average smoother, classifying it as a momentum-type trading strategy. Entry conditions are generated by the CBC_WS_MFI filter, which produces a signal value that triggers a trade when it exceeds the open threshold (default 10) and closes when it exceeds the close threshold. The MFI indicator period is set to 37, the MA smoothing period is 13, and the weight is 1.0, indicating this filter is the sole signal source with full control over trade direction. Exit conditions rely on the signal threshold being crossed in the opposite direction along with fixed stop loss (50 points) and take profit (50 points) levels. Position sizing uses a fixed lot model (CMoneyFixedLot) with a default lot size of 0.1 and a money percentage of 10%, with no dynamic position adjustment. Money management is simplistic, lacking any mechanism to adapt lot size based on account balance or market volatility. Pending orders expire after 4 bars, and the strategy uses no trailing stop, meaning floating profits cannot be locked in after favorable price movement.
Strengths
- Uses the MetaQuotes standard Expert Advisor framework with clean, well-structured code that is easy to maintain and extend
- MFI indicator smoothed by MA reduces false signals and improves signal quality
- Fixed stop loss and take profit settings provide a basic risk control framework
- Signal threshold mechanism allows flexible adjustment of entry/exit sensitivity rather than simple directional judgment
Weaknesses
- No trailing stop means profitable trades cannot lock in floating profits, potentially facing significant drawdowns
- Fixed lot sizing lacks adaptive position management, unable to dynamically adjust based on market volatility or account balance
- Symmetric 50-point stop loss and take profit do not account for MFI indicator volatility characteristics or market conditions
- Relies solely on a single MFI filter with no multi-signal confirmation mechanism, making it prone to false signals
Possible improvements
- Add trailing stop functionality to automatically move the stop loss after reaching a certain profit threshold to protect gains
- Introduce ATR-based dynamic stop loss and take profit to adaptively adjust risk parameters based on market volatility
Risk assessment
Overall risk: Medium
- No trailing stop means winning trades can turn into losses, indicating incomplete risk control
- Fixed 50-point stop loss may be too wide in low-volatility markets and too narrow in high-volatility markets, lacking adaptability
- Single signal source without multi-confirmation carries risk of incorrect entries
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Expert_Title | Expert_ABC_WS_MFI | EA document name |
Expert_MagicNumber | 24969 | EA magic number for order identification |
Expert_EveryTick | false | Execute trading logic every tick |
Signal_ThresholdOpen | 10 | Open signal threshold [0...100]; opens when exceeded |
Signal_ThresholdClose | 10 | Close signal threshold [0...100]; closes when below |
Signal_PriceLevel | 0.0 | Trade execution price level; 0 = market price |
Signal_StopLevel | 50.0 | Stop loss level in points; 0 = no SL |
Signal_TakeLevel | 50.0 | Take profit level in points; 0 = no TP |
Signal_Expiration | 4 | Pending order expiration in bars |
Signal__PeriodMFI | 37 | MFI indicator period |
Signal__PeriodMA | 13 | MA indicator period |
Signal__Weight | 1.0 | Signal filter weight [0...1.0] |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 0.1 | Fixed trading lot size |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.