Exp_F2a_AO
This EA uses a multi-timeframe approach combining a higher-timeframe trend filter (daily candlestick direction) with the F2a_AO custom indicator signals on a lower timeframe (H12) to generate buy and sell entries. It opens long positions when the trend is bullish and the F2a_AO oscillator gives an up signal, and short positions when the trend is bearish and a down signal appears, with configurable stop-loss and take-profit levels.
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 | +4.27% | +3.70% | 4.40% | 15 | 42.90% | — | — | — | — | Custom indicator approximated |
| GBPUSD | -2.25% | -1.96% | 8.15% | 23 | 31.80% | — | — | — | — | Custom indicator approximated |
| USDJPY | -7.93% | -6.93% | 9.62% | 36 | 25.70% | — | — | — | — | Custom indicator approximated |
| XAUUSD | -22.99% | -19.41% | 89.23% | 150 | 46.00% | — | — | — | — | Custom indicator approximated |
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 is a multi-timeframe trend-following system that uses the difference between the daily candle's close and open prices to determine the macro trend direction. The F2a_AO indicator is a custom oscillator based on triple MA filtering (MA_Filtr=3, MA_Fast=13, MA_Slow=144), generating buy signals when the upper signal buffer has a value and sell signals when the lower signal buffer has a value. Entry conditions require alignment between the macro trend and oscillator direction — longs are only opened when Trend>0 and shorts only when Trend<0. Exit conditions include hard stop-loss and take-profit levels, oscillator reversal signals triggering position closes, and a supplementary lookback mechanism that scans historical bars to find the most recent opposite signal for closing. Position sizing supports five modes: fixed lot, balance-based, equity-based, loss-share-based, and free-margin-based, defaulting to fixed lot mode (LOT). Money management is controlled via the MM parameter with a default of 0.1 share of deposit.
Strengths
- Multi-timeframe trend filter effectively reduces counter-trend trades and improves win rate
- Five position sizing modes provide flexibility for different money management approaches
- Explicit stop-loss and take-profit with default 2:1 reward-to-risk ratio has positive expectancy potential
- Buy and sell directions can be independently toggled for different market conditions
- New bar detection mechanism prevents duplicate trades on the same bar
Weaknesses
- Trend determination relies solely on a single bar's open-close difference, lacking trend confirmation and prone to whipsaws in ranging markets
- The unlimited bar lookback loop for finding closing signals may cause performance issues, especially during backtesting
- No spread filter or volatility filter — trades are executed even during high-spread or volatile conditions
- The custom F2a_AO indicator is an external dependency, making it impossible to audit its signal logic reliability
- No position check or maximum position limit, potentially leading to repeated entries in the same direction
Possible improvements
- Add trend confirmation mechanism such as multi-bar trend or ADX filter to reduce false signals in ranging markets
- Add a maximum bar lookback limit for the closing signal search loop to prevent performance degradation
- Add spread filter and maximum position count limits to improve capital safety
Risk assessment
Overall risk: Medium
- Unlimited bar lookback in closing signal search poses performance risk and potential infinite loop
- Lack of position check may cause repeated entries in the same direction leading to over-concentration
- Oversimplified trend determination can cause frequent whipsaw entries and consecutive losses in ranging markets
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Fraction of capital used in trading |
MMMode | LOT | Lot sizing method (free margin/balance/loss ratio/fixed lot) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Max slippage in points |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
Inp_Timeframe | PERIOD_D1 | Trend bar timeframe |
TrendBar | 1 | Trend judgment bar index |
InpInd_Timeframe | PERIOD_H12 | MUV_NorDIFF_Cloud indicator timeframe |
MA_Filtr | 3 | MA filter period |
MA_Fast | 13 | Fast MA period |
MA_Slow | 144 | Slow MA period |
SignalBar | 1 | Bar index for entry signal |
Similar Multi-Timeframe EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.