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
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
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
Parameters
| Parameter | Default | Description |
|---|---|---|
Magic | 12345 | Magic number for identifying this EA's orders |
Slippage | 30 | Maximum allowed slippage in points |
ProfitTarget | 1000 | Take profit target in points |
StopLoss | 10000 | Stop loss distance in points |
Lots | 0.1 | Fixed trading lot size |
ReallyRandom | true | Use true random (true=time seed, false=fixed seed) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.