EA-1113 · Martingale

Terminator v2z0

A multi-signal martingale-style EA that opens positions based on one of six selectable signal types (MACD, Pivot, Support/Resistance, i_Trend+RSI, i_Trend+RSI+Stochastic, i_Trend+RSI+Stochastic+MFI). It employs aggressive position scaling by doubling lots on subsequent entries when price moves against the position, then switching to 1.5x multiplication after a configurable count, with a trailing stop for exit management.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMartingale
RiskDangerous
Blow-up riskElevated
Rating★☆☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsMACD, Pivot, Support/Resistance, i_Trend, Bollinger Bands, Bulls Power, Bears Power, RSI, Stochastic, MFI
AuthorInteger

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: Elevated

  • Increases the position size after losses (martingale)
  • Can hold up to 10 positions at once

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 multi-indicator signal confirmation for trade entry, supporting six different signal sources including MACD momentum, Pivot levels, Support/Resistance breakouts, and various combinations of i_Trend with RSI, Stochastic, and MFI. Entry conditions trigger when the selected signal source produces a buy or sell signal without a conflicting opposite signal. Exit conditions include initial take-profit, recalculated weighted-average take-profit after additional entries, and an optional trailing stop. Position sizing employs martingale-style progressive scaling: the first DoubleCount additional entries multiply the starting lot by powers of 2, then switching to 1.5x multiplication thereafter, with each add-on requiring a minimum adverse price movement of Pips points. Money management calculates lot size from account free margin and MaximumRisk when the Lots parameter is set to zero. After adding positions, take-profit is recalculated as the volume-weighted average entry price plus TakeProfit2 points, and a stop-loss is only set on the final MaxCount entry. The trailing stop function moves the stop-loss to breakeven or better once price moves favorably.

Strengths

  • Supports six switchable signal sources, providing high strategy flexibility for different market conditions
  • Uses object-oriented design with clean signal class inheritance, making it easy to extend with new signal types
  • Recalculates volume-weighted average take-profit after adding positions, ensuring coherent profit targets for the overall position
  • Includes stop-loss validation and minimum stop-level checks as risk control measures

Weaknesses

  • Martingale-style position scaling carries extreme risk; consecutive adverse moves cause exponential lot growth that can blow the account
  • Stop-loss is only set on the final MaxCount entry, leaving all prior additions without stop-loss protection against strong trends
  • MaxCount=-1 allows unlimited additions, creating unbounded loss potential in extreme market conditions
  • CSigi_TrendRSISto class has a copy-paste bug where m_buy is assigned the sell condition, making that signal type completely non-functional
  • SolveLots risk calculation is oversimplified, not accounting for leverage and tick value per symbol

Possible improvements

  • Fix the m_buy assignment bug in CSigi_TrendRSISto where line 741 incorrectly assigns the sell condition to m_buy instead of the proper buy condition
  • Set stop-loss on every additional entry rather than only on the final MaxCount entry, reducing unprotected position risk
  • Add maximum account risk limits and maximum total position lot caps to prevent martingale scaling from spiraling out of control
  • Incorporate spread and commission costs into the weighted-average take-profit calculation, as the current formula ignores transaction costs

Risk assessment

Overall risk: Dangerous

  • Martingale-style 2x lot doubling causes exponential position growth,easily blowing the account during sustained adverse moves
  • No stop-loss on early additions leaves positions unprotected with unlimited downside in trending markets
  • CSigi_TrendRSISto signal bug causes buy signal to execute sell logic instead
  • MaxCount=-1 option removes all limits on position scaling, creating completely uncontrolled risk

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management1.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.0

Parameters

ParameterDefaultDescription
Trade_ONtrueEnable trade opening
Lots0.1Fixed lot size; 0 to calculate by risk
MaximumRisk0.05Risk percentage; effective when Lots is 0
StopLoss2500Stop loss in points; 0 to disable
TakeProfit500First position take profit in points
TakeProfit2100Weighted average take profit in points after adding positions
MaxCount10Max add-on count per direction; -1 for unlimited
DoubleCount52x add-on count before switching to 1.5x
Pips500Add-on spacing in points
Trailing0Trailing stop in points; 0 to disable
Shift1Bar offset used for indicator calculation
ReverseConditionfalseReverse buy/sell signals
OPEN_POS_BASED_ONMACDTrade signal type selection
MACD_FastPeriod14MACD fast line period
MACD_SlowPeriod26MACD slow line period
MACD_PricePRICE_CLOSEMACD applied price
Pivot_DayStartHour0Pivot day start hour
Pivot_DayStartMinute0Pivot day start minute
Pivot_AttachSundToMondtrueMerge Sunday bars into Monday
SupRes_iPeriod70Support/Resistance indicator period
iT_BBPeriod10Bollinger Bands period
iT_BBDeviation2Bollinger Bands deviation
iT_BullsBearsPeriod6Bulls/Bears Power indicator period
RSI_Period14RSI period
St_KPeriod8Stochastic K period
St_DPeriod3Stochastic D period
St_SPeriod4Stochastic smoothing period
St_UpperLevel80Stochastic upper level
St_LowerLevel20Stochastic lower level
MFI_Period5MFI 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.