EA-186 · Martingale

Promart

This EA uses dual MACD crossover signals for entry and implements a Martingale position-sizing system that doubles the lot size after each loss. It opens buy or sell positions with fixed stop-loss and take-profit levels, reverting to signal-based entry only after a winning trade and doubling lots after a loss.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMartingale
RiskDangerous
Blow-up riskElevated
Rating★☆☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsMACD
AuthorAlf.

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD+0.86%+0.75%6.61%3331.20%0.170.138+$1.99Reliable
GBPUSD-8.70%-7.60%12.68%6226.20%-1.20-0.6913−$14.74Reliable
USDJPY-5.73%-5.00%8.72%6830.90%-0.87-0.6612−$8.42Reliable
XAUUSD+110.84%+85.21%43.59%15153.00%1.622.547+$73.40Reliable

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 Martingale EAs with a reliable result on the same market: EURUSD: better than 88% of 16 · GBPUSD: better than 0% of 15 · USDJPY: better than 0% of 16 · XAUUSD: better than 81% of 16

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD62%+2.67% 2026-09-2.64% 2026-02
GBPUSD38%+3.30% 2026-09-4.99% 2026-06
USDJPY31%+2.53% 2026-09-3.09% 2026-05
XAUUSD62%+74.62% 2026-08-26.53% 2026-05

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

Blow-up risk: Elevated

  • Increases the position size after losses (martingale)

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 dual MACD crossover signals to identify trend reversal points for entry, combined with a Martingale money management system. Entry conditions require MACD1 signal line to show a turning point (comparing t[0], t[1], t[2] to detect extrema) and MACD2 direction confirmation (comparing k[1] vs k[0]). Exit conditions rely on fixed stop-loss of 500 points and take-profit of 1500 points. Position sizing follows the Martingale principle, doubling lot size after each loss (controlled by the Ud parameter for doubling count), and reverting to the initial lot size after a win. Money management uses the DML parameter to set the initial lot scale and persists the Martingale state via global variables. When there are no historical orders, entries are purely signal-based; when historical orders exist, the system checks the last trade's profit/loss to decide whether to use signals or immediately reverse with a doubled lot.

Strengths

  • Dual MACD confirmation reduces false signal entries
  • Take-profit exceeds stop-loss (1500 vs 500), yielding a 3:1 reward-to-risk ratio where one win can cover multiple small losses
  • Global variable persistence for Martingale state prevents loss of position management info on EA restart
  • Custom OnTester metric provides meaningful backtest optimization criteria

Weaknesses

  • Martingale position sizing causes exponential lot growth during consecutive losses, risking account blowup
  • After a loss, entries are hardcoded reversals (poz=1 or poz=-1) without signal confirmation, lacking market direction judgment
  • OrderSend return value is not checked, so failed orders go unnoticed
  • The tick_volume>1 filter is unreliable as tick volume data varies significantly across brokers
  • Only a single position is allowed (PositionSelect check), limiting strategy flexibility

Possible improvements

  • Add a maximum Martingale doubling count limit and maximum lot cap to prevent unlimited doubling and account blowup
  • After a loss, still check MACD signals before deciding direction instead of blindly reversing
  • Add OrderSend return value checking and error retry logic
  • Replace tick_volume filter with a new bar check (isNewBar) to avoid duplicate signals

Risk assessment

Overall risk: Dangerous

  • Martingale position sizing causes exponential lot growth during consecutive losses,easilyleading toaccount blow-up
  • Post-loss entries are blind reversals without signal confirmation, essentially gambling
  • No safety mechanism such as maximum lot size or maximum drawdown limit exists

Evaluation scores

Code quality2.0
Strategy logic2.0
Risk management1.0
Robustness2.0
Innovation1.0
Documentation1.0
Overall1.5

Parameters

ParameterDefaultDescription
DML1000Initial Martingale lot scale parameter
Ud1Martingale doubling count
Stop500Stop-loss in points
Tp1500Take-profit in points
Slipage50Allowed slippage
MACD1Fast5MACD1 fast line period
MACD1Slow20MACD1 slow line period
MACD2Fast10MACD2 fast line period
MACD2Slow15MACD2 slow line period

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