Exp_Fractal_MFI
This EA trades based on the convergence of Fractal breakout signals and Market Facilitation Index (MFI) momentum readings. It enters long when a fractal breakout upward coincides with rising MFI indicating increasing market participation, and enters short on the inverse condition. Exits are triggered by opposing fractal signals or MFI divergence.
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 | -1.04% | -0.90% | 3.87% | 136 | 51.50% | -0.21 | -0.27 | 8 | −$0.76 | Reliable |
| GBPUSD | -8.49% | -7.42% | 9.99% | 138 | 43.50% | -1.40 | -0.85 | 11 | −$6.16 | Reliable |
| USDJPY | +2.87% | +2.49% | 4.11% | 138 | 60.10% | 0.61 | 0.70 | 3 | +$2.08 | Reliable |
| XAUUSD | -93.54% | -89.60% | 96.64% | 126 | 46.00% | -1.32 | -0.97 | 6 | −$74.24 | Account stopped out |
Profitable on 1 of 4 markets with reliable results.
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.
Against the other Momentum EAs with a reliable result on the same market: EURUSD: better than 43% of 68 · GBPUSD: better than 15% of 66 · USDJPY: better than 84% of 68 · XAUUSD: better than 23% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 46% | +2.27% 2026-03 | -2.67% 2026-04 |
| GBPUSD | 38% | +2.76% 2026-03 | -4.04% 2026-04 |
| USDJPY | 69% | +1.87% 2026-03 | -2.05% 2026-07 |
| XAUUSD | 38% | +24.24% 2026-01 | -76.33% 2026-09 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
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 leverages the confluence of Williams Fractals and Market Facilitation Index (MFI) to capture trend initiation points. For entry conditions, a long position requires price breaking above an upper fractal while MFI is rising (indicating increasing volume and market efficiency), and a short position requires price breaking below a lower fractal with rising MFI. Exit conditions include encountering an opposing fractal signal, MFI divergence (price making new highs while MFI declines or vice versa), or hitting stop-loss/take-profit levels. Position sizing uses either a fixed lot size or a dynamic calculation based on account balance and risk parameters. Money management provides stop-loss and take-profit configuration, though whether every trade strictly enforces stops depends on parameter settings. Overall, this strategy is a simplified application of Bill Williams' chaos trading framework, best suited for trending market environments.
Strengths
- Dual-indicator confluence filters out false signals and improves entry accuracy
- Strategy is grounded in Bill Williams' chaos theory with solid theoretical backing
- MFI effectively identifies changes in market participation, avoiding low-liquidity entries
- Fractal breakouts inherently confirm trend direction, reducing counter-trend trade risk
Weaknesses
- Fractal signals are inherently lagging; by the time a breakout is confirmed, a significant portion of the move may already be over
- In ranging markets fractals appear frequently, generating numerous false breakouts and consecutive losses
- Lacks assessment of overall market trend context, potentially trading against the higher-timeframe trend
- Fixed stop-loss and take-profit do not account for ATR or volatility, leading to poor adaptation across varying market conditions
Possible improvements
- Add multi-timeframe trend filtering, e.g., only trading fractal breakouts on H1 when H4 trend direction aligns
- Use ATR-based dynamic stop-loss and take-profit to adapt risk management to current market volatility
- Add a ranging/trending market identification module to pause trading or switch to mean-reversion logic in choppy conditions
Risk assessment
Overall risk: Medium
- Lagging nature of fractal signals may cause entries near trend exhaustion, increasing stop-loss hit probability
- Frequent false breakouts in ranging markets without trend filtering can lead to consecutive losses
- Fixed stops do not account for volatility — stops may be too wide in low-volatility and too tight in high-volatility environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
LotSize | 0.1 | Lot size per trade |
StopLoss | 500 | Stop loss in points |
TakeProfit | 1000 | Take-profit in points (~10 points) |
MFI_Period | 14 | MFI indicator period |
FractalPeriod | 5 | Fractal identification period (N bars left/right) |
MagicNumber | 17120 | EA magic number for order identification |
Timeframe | H1 | Trading timeframe |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.