EA-159 · Momentum

GurooEx01

A random-entry expert advisor that simulates coin tosses to decide trade direction. It opens either a buy or sell position based on a random number, with fixed stop-loss and profit-target levels. The EA is explicitly for educational purposes and warns against live trading.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskHigh risk
Blow-up riskLow
Rating★☆☆☆☆
TypeTrading EA
TimeframesM1, M5, M15, H1, H4, D1
IndicatorsRandomNumber
AuthorCopyright © 2010, Marketing Dreams Ltd.

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

The core strategy concept of this EA uses a random number generator to simulate coin tosses for trade direction, completely ignoring any technical indicators or fundamental analysis. Entry conditions are: go long when MathRand() returns a value below 16384, go short when 16384 or above, effectively a 50/50 probability direction choice. Exit conditions rely on fixed point-based stop-loss (10000 points) and profit-target (1000 points), with the profit target far smaller than the stop-loss, resulting in an unfavorable risk-reward ratio. Position sizing uses a fixed lot size (0.1 lots) with no dynamic position adjustment logic whatsoever. Money management is entirely absent — the GetSize() function simply returns the fixed Lots input parameter without considering account balance or risk ratios. After each position closes, the system reinitializes its state and waits for the next random entry signal.

Strengths

  • Clean OOP code structure with good encapsulation using MQL5 framework classes
  • Includes live account protection — detects real accounts and warns with a message box before refusing to initialize
  • Serves as an excellent educational example demonstrating MQL5 OOP framework and trade library usage
  • Configurable random seed allows reproducible backtesting results when ReallyRandom=false

Weaknesses

  • Strategy relies entirely on random entry with no technical analysis basis — essentially gambling
  • Extremely poor risk-reward ratio: 10000-point stop-loss vs 1000-point profit-target (1:10 R:R), requiring over 90% win rate to be profitable
  • No new bar check means it attempts entry on every tick, potentially opening positions too frequently on the same bar
  • No spread filter, making it vulnerable to additional losses from slippage in wide-spread environments
  • Fixed lot sizing with no money management — no dynamic position adjustment based on account balance

Possible improvements

  • Add new bar check logic to prevent repeated entries on the same candle
  • Implement dynamic position sizing based on account risk percentage instead of fixed lots
  • Adjust stop-loss to profit-target ratio to at least 1:1 or better, or introduce trailing stop instead of fixed profit target
  • Add spread filter and trading session filter to avoid entering under unfavorable conditions

Risk assessment

Overall risk: High risk

  • Pure random entry provides no statistical edge, guaranteeing long-term losses
  • 1:10 risk-reward ratio means one loss requires ten wins to recover
  • No new bar check means every tick can trigger a trade, leading to over-trading
  • No spread check means high-volatility sessions can cause additional losses from widened spreads

Evaluation scores

Code quality4.0
Strategy logic1.0
Risk management2.0
Robustness2.0
Innovation1.0
Documentation3.0
Overall2.2

Parameters

ParameterDefaultDescription
Magic12345Magic number for identifying this EA's orders
Slippage30Maximum allowed slippage in points
ProfitTarget1000Take profit target in points
StopLoss10000Stop loss distance in points
Lots0.1Fixed trading lot size
ReallyRandomtrueUse true random (true=time seed, false=fixed seed)

Similar Momentum 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.