EA-19512 · Momentum

BeerGodEA(barabashkakvn's edition)

This EA trades momentum reversals using a single EMA indicator combined with a time-based candle filter. It opens buy positions when the price is below a falling EMA and below the previous candle close at a specific minute after bar opening, and vice versa for sells. Positions are reversed—existing opposite positions are closed before opening new ones—with fixed lot sizing and no stop loss or take profit.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskHigh risk
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsEMA
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-0.01%-0.01%3.82%11050.50%0.02-0.004+$0.30Reliable
GBPUSD+8.67%+7.49%3.82%10753.30%1.542.278+$8.10Reliable
USDJPY+2.72%+2.36%4.46%10051.00%0.580.616+$2.72Reliable
XAUUSD-18.03%-15.15%58.22%10448.50%0.17-0.317−$15.10Reliable

Profitable on 2 of 4 markets with reliable results.

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.

Against the other Momentum EAs with a reliable result on the same market: EURUSD: better than 57% of 68 · GBPUSD: better than 97% of 66 · USDJPY: better than 82% of 68 · XAUUSD: better than 45% of 75

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD54%+2.67% 2026-04-1.12% 2026-07
GBPUSD69%+2.62% 2026-04-2.51% 2026-10
USDJPY54%+2.93% 2026-04-1.90% 2026-03
XAUUSD54%+27.03% 2026-02-34.43% 2026-08

From the backtest equity curve, sampled about every two days; only reliable results.

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 strategy concept is based on EMA momentum reversal: a buy signal triggers when the price is below the current EMA, the EMA is declining (MA_current<MA_previous), and the price is below the previous candle's close, interpreted as an oversold momentum reversal opportunity; sell conditions are the exact mirror. Entry conditions require three simultaneous criteria—price relative to EMA, EMA direction, and price relative to prior close—plus a time window filter (InpTimeBarOpen) that restricts signals to a specific minute after bar opening to prevent duplicate trades within the same candle. Exit conditions rely solely on reverse signals closing existing positions, with no independent stop loss or take profit logic, meaning positions can endure prolonged and significant drawdowns. Position sizing uses a fixed lot size (InpLots) with no dynamic adjustment based on account equity, risk percentage, or volatility. Money management includes a margin sufficiency check via CheckVolume before order placement, but lacks maximum exposure limits, drawdown controls, equity protection, or any portfolio-level risk safeguards. The overall strategy is logically simple but critically deficient in risk management.

Strengths

  • Clean code structure using MQL5 standard trade libraries (CTrade/CPositionInfo/CSymbolInfo) with proper encapsulation
  • Time window filter (InpTimeBarOpen) prevents duplicate entries within the same candle
  • Pre-trade margin check (CheckVolume) prevents order failures due to insufficient funds

Weaknesses

  • No stop loss or take profit whatsoever—positions can suffer unlimited drawdown
  • Fixed lot sizing with no dynamic position management, unsuitable for varying account sizes and volatility regimes
  • Relies on only a single EMA and previous candle close, producing overly simplistic signals prone to false entries
  • No proper new bar check mechanism—the minute-based filter is less reliable than standard new bar detection
  • No spread filter—trades can open during wide spreads resulting in unfavorable fills

Possible improvements

  • Add stop loss and take profit logic, ideally using ATR-based dynamic stop distances
  • Replace the minute-based time filter with a proper new bar detection mechanism to ensure one trade per candle
  • Add spread filter and volatility filter to avoid opening positions under unfavorable market conditions

Risk assessment

Overall risk: High risk

  • No stop loss or take profit—positions can suffer extreme drawdowns without any protection
  • No new bar check mechanism; the minute-based filter may fail and allow multiple entries per candle
  • No spread filter; entries during widened spreads result in slippage losses
  • Fixed lot size ignores account risk capacity, large lots can lead to margin call

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management1.0
Robustness2.0
Innovation1.0
Documentation2.0
Overall1.8

Parameters

ParameterDefaultDescription
InpLots1.0Fixed trading lot size
InpTimeBarOpen3Minutes after bar open to trigger signal
InpPeriod_MA60EMA MA period
m_magic47120320EA magic number to identify its own positions

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.