EA-17012 · Grid

Very Blonde System

This EA opens an initial market order when the price deviates significantly from the recent high/low, then places a series of 4 BuyLimit or SellLimit orders at fixed grid intervals with doubling lot sizes (Martingale-style). It closes all positions and pending orders when total floating profit reaches a target amount, and optionally moves stop loss to breakeven after a LockDown threshold is reached.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryGrid
RiskDangerous
Blow-up riskHigh
Rating★☆☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsHighest/Lowest
AuthorDavid

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

  • Opens a grid of orders at fixed price steps
  • Has no stop loss or trailing stop
  • Can hold up to 5 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

Strategy concept: This is a hybrid Grid + Martingale strategy based on price deviation from recent extremes. Entry conditions: Buy when the highest price minus current Bid exceeds ExtLimit*Point, Sell when current Bid minus the lowest price exceeds ExtLimit*Point. After entry, 4 limit pending orders are placed at ExtGrid intervals, with each order's volume doubling exponentially (2^i*Lots), which is a classic Martingale scaling-in pattern. Exit conditions: All positions and pending orders are closed when total floating profit reaches the Amount parameter threshold. Position sizing: Initial lot size is calculated from account balance (Balance/100/1000), and subsequent pending order volumes increase by powers of 2, creating geometric growth that carries extreme risk without proper stop loss protection. Money management: A LockDown breakeven mechanism exists — when floating profit exceeds ExtLockDown points, stop loss is moved to entry price ±1 point, but only for positions that have no stop loss already set. Overall, the strategy relies on the assumption that profits will eventually cover losses, but multi-level scaling in during extreme market conditions can lead to account blowout.

Strengths

  • Grid scaling-in captures pullback profits in ranging markets through multi-level limit orders
  • Automatic close-all on profit target hit also removes all pending orders, preventing orphan orders
  • LockDown breakeven mechanism reduces risk exposure by moving stop loss to entry when price moves favorably
  • Lot sizes are normalized via LotCheck, respecting symbol volume min/max and step constraints

Weaknesses

  • Martingale lot doubling causes exponential position and loss growth in trending markets,easilyleading to account blowout
  • No hard stop loss protection — LockDown defaults to 0 (disabled), and even when enabled it only moves to breakeven not a true stop
  • IsTradeAllowed has a redundant duplicate check of TERMINAL_TRADE_ALLOWED (lines 230 and 235)
  • iLowest/iHighest return bar indices not price values, but code compares them directly with Bid — this is a critical logic bug
  • No new bar detection mechanism, every tick triggers logic evaluation, adding unnecessary computational overhead

Possible improvements

  • Fix iLowest/iHighest return value issue — should use iLow()/iHigh() to get price values, not bar indices
  • Add hard stop loss protection to prevent unlimited single-trade or cumulative losses
  • Add new bar detection to avoid redundant calculations on every tick
  • Limit maximum grid levels and total exposure to prevent over-leveraging in extreme markets
  • Add spread filter to avoid opening positions during wide spread conditions

Risk assessment

Overall risk: Dangerous

  • Martingale doubling with no stop loss — trending markets can blow the account
  • iLowest/iHighest returns bar index not price — comparison with Bid is a logic bug causing potentially wrong entries
  • LockDown breakeven defaults to 0 (disabled), and even enabled only protects profitable positions, not losing ones
  • No maximum position limit — 4 grid levels create 15x base lot exposure (1+2+4+8+16), extremely high leverage risk

Evaluation scores

Code quality2.0
Strategy logic1.0
Risk management1.0
Robustness2.0
Innovation1.0
Documentation1.0
Overall1.3

Parameters

ParameterDefaultDescription
CountBars10Bar count for highest/lowest price calculation
InpLimit240Price deviation threshold (points) for entry condition
InpGrid35Grid spacing (points) between limit orders
Amount40Target profit amount; closes all on reach
InpLockDown0Break-even stop trigger points, 0=disabled

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