EA-53526 · Trend Following

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

RiskHigh risk
Blow-up riskLow
Rating★☆☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsMACD, SMA
AuthorSIMON GITHIRI

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

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

Code quality1.0
Strategy logic2.0
Risk management2.0
Robustness1.0
Innovation1.0
Documentation2.0
Overall1.5

Parameters

ParameterDefaultDescription
Signal_ThresholdOpen10Entry signal threshold [0...100]
Signal_ThresholdClose10Exit signal threshold [0...100]
Signal_PriceLevel0.0Trade execution price level
Signal_StopLevel1000.0Stop loss level in points
Signal_TakeLevel5500.0Take profit level in points
Signal_Expiration4Pending order expiration (bars)
Signal_MACD_PeriodFast12MACD fast EMA period
Signal_MACD_PeriodSlow24MACD slow EMA period
Signal_MACD_PeriodSignal9MACD signal line period
Signal_MACD_AppliedPRICE_CLOSEMACDapplied price
Signal_MACD_Weight1.0MACDsignal weight[0...1.0]
Signal_0_MA_PeriodMA12fastMA period
Signal_0_MA_MethodMODE_SMAfastMA method
Signal_1_MA_PeriodMA26slowMA period
Signal_1_MA_MethodMODE_SMAslowMA method
Trailing_MA_Period12trailing stopMA period
Money_FixLot_Percent10.0Money management percentage
Money_FixLot_Lots0.06Fixed trading lot size

Similar Trend Following 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.