SUPERMACBOT BY THE GUARDIAN FOREX TV
This EA combines MACD and two Moving Average signals through the MQL5 Standard Library CExpert framework to generate trend-following trade entries and exits. It uses a fixed lot size for money management and an MA-based trailing stop to protect profits. The strategy opens positions when the weighted composite signal exceeds configurable thresholds.
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
This EA employs a multi-signal filtered trend-following strategy composed of three indicator signals: a MACD signal and two Moving Average signals with different periods (12-period SMA and 26-period SMA). Entry conditions trigger when the weighted composite value of all three signals exceeds the opening threshold (default 10), and closing occurs when the composite exceeds the closing threshold. Exit conditions include a fixed stop loss at 1000 points, a fixed take profit at 5500 points, and a trailing stop based on a 12-period SMA. Position sizing uses a fixed lot mode (default 0.06 lots) without dynamic adjustment based on account balance. Money management uses the CMoneyFixedLot class with a 10% percent parameter, but actually uses fixed lots, creating a semantic ambiguity in parameter usage. The strategy relies on the MQL5 Standard Library CExpert signal aggregation mechanism where all three signal filters carry equal weight of 1.0.
Strengths
- Uses the MQL5 Standard Library CExpert framework with a well-structured signal aggregation architecture
- Implements fixed stop loss (1000 points) and take profit (5500 points) for basic risk control
- Multi-signal filtering mechanism (MACD + dual MA) reduces false signals and improves entry quality
- Employs MA-based trailing stop to track and lock in floating profits
Weaknesses
- Critical logic bug in OnInit: lines 81 and 97 return INIT_SUCCEEDED prematurely, causing signal creation, filter configuration, trailing stop, and money management initialization code to never execute
- Fixed lot sizing lacks adaptive position adjustment, resulting in inconsistent risk exposure across different account sizes
- The stop loss of 1000 points and take profit of 5500 points have a reasonable ratio (1:5.5), but the absolute SL value may still be insufficient for high-volatility instruments
- No explicit new bar check mechanism; while Expert_EveryTick=false trades per new bar, there is no explicit new bar detection logic
- The Money_FixLot_Percent parameter is semantically ambiguous in fixed lot mode and can mislead users
Possible improvements
- Fix the premature return statements in OnInit by removing the return INIT_SUCCEEDED on lines 81 and 97, ensuring all initialization code executes properly
- Add explicit new bar detection logic to prevent repeated position openings on the same bar and improve trade efficiency
- Add spread filter and trading session filter to avoid trading during high-spread and inactive market periods
Risk assessment
Overall risk: High risk
- Critical premature return in OnInit means the EA never actually initializes any trading logic, causing unpredictable behavior at runtime rather than expected position management
- No new bar check mechanism, potentially triggering signals multiple times on the same bar
- No spread filter, making the stop loss vulnerable to being hit in high-spread environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Signal_ThresholdOpen | 10 | Entry signal threshold [0...100] |
Signal_ThresholdClose | 10 | Exit signal threshold [0...100] |
Signal_PriceLevel | 0.0 | Trade execution price level |
Signal_StopLevel | 1000.0 | Stop loss level in points |
Signal_TakeLevel | 5500.0 | Take profit level in points |
Signal_Expiration | 4 | Pending order expiration (bars) |
Signal_MACD_PeriodFast | 12 | MACD fast EMA period |
Signal_MACD_PeriodSlow | 24 | MACD slow EMA period |
Signal_MACD_PeriodSignal | 9 | MACD signal line period |
Signal_MACD_Applied | PRICE_CLOSE | MACDapplied price |
Signal_MACD_Weight | 1.0 | MACDsignal weight[0...1.0] |
Signal_0_MA_PeriodMA | 12 | fastMA period |
Signal_0_MA_Method | MODE_SMA | fastMA method |
Signal_1_MA_PeriodMA | 26 | slowMA period |
Signal_1_MA_Method | MODE_SMA | slowMA method |
Trailing_MA_Period | 12 | trailing stopMA period |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 0.06 | Fixed trading lot size |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.