Build an MT5 Expert Advisor: Grid Martingale with Dual Cycles & Hedge

Job finished

Execution time 9 days
Feedback from customer
This developer was a dream! He coded my EA perfectly, was incredibly responsive, and patiently answered all my questions. Felt completely supported throughout the entire process.
Feedback from employee
Amazing Customer

Specification

EA Concept: Grid Martingale with Hedge

This EA for MT5 (MQL5) runs a continuous price-level grid system with independent buy and sell cycles.
It uses manual martingale lot sizes, a hidden profit target, and a Full hedge when price moves too far from the anchor or reaches max negative equity.

No indicators or signals — it starts trading immediately on launch.


🎯 Core Behavior

  • Rule # 1: Always has one buy and one sell base trade active on each grid.

  • Rule # 2:  As price moves in one direction, the with-trend side keeps taking hidden TPs at next grid and reopening.

  • Rule # 3:  The against-trend side builds a martingale basket using predefined lot steps.
  • Rule # 4:  Once the basket’s total floating profit reaches a set cash or pip target, it closes all trades on that side together.
  • Rule # 5:  If price keeps trending far enough (past a defined number of grids or equity), the EA opens a full hedge to flatten exposure, then resets the whole cycle.

⚙️ Key Inputs

Input Description
GridSizePips = 30 Distance between grid levels
LotSizes = "0.01;0.02;0.03;0.06;0.09;0.18;0.33;0.57;0.75" Manual list of lot sizes per leg; last one repeats if needed
Profit$ = 10 Hidden profit target in account currency (for martingale baskets)
ProfitPips = 5 Hidden pip target from weighted average price
HedgeLevel = 10
Number of grids from anchor before hedge trigger
Max Equity = 1000  Maximum Negative Equity from anchor will trigger hedge 
MaxSpreadPips = 1 Spread filter – skip new trades if exceeded
MagicNumber = 1995 Default magic number, user can change
SlippagePips = 1 Max slippage allowed
AllowHedgeReset = true Enables/disables the hedge reset logic
AllowNewCycle = true Master on/off switch for opening new cycles after hedge
CommentTag = "GridMartingaleEA" Order comment prefix

🧩 Definitions

  • Pip: 0.0001 for standard pairs, 0.01 for JPY pairs.

  • Convert grids to points automatically.

  • Spread check: If spread > MaxSpreadPips, skip new entries but continue managing open trades.


🔁 State Model (per symbol)

The EA tracks:

  • anchor_price : Starting point for the current grid cycle.

  • grid_index : Current grid level relative to anchor.

  • Lists of open buy and sell trades (tickets, lots, prices, grid levels).

  • lot_step_index_buy/sell : Which lot size to use next.

  • hedge_triggered : Flag for when hedge is active.

  • cycle_id : Used in comments for order tracking and recovery after restart.


🧠 Trading Logic Summary

  1. On startup (Grid 0)

    • Open one Buy and one Sell (first lot each).

    • No visible SL/TP — handled internally.

  2. When price moves one grid up:

    • The Buy side (with trend) closes its hidden TP and reopens a new base Buy at the new level.

    • The Sell side adds a new leg (next lot size) at the new grid level.

  3. When price moves one grid down:

    • Mirror behavior — Sell side takes profit and reopens; Buy side adds new leg.

  4. Take Profit rules:

    • Base trades close individually on hidden TP (small cash or pip target).

    • Martingale baskets close all legs together when combined profit hits the target (cash or pips).

  5. Hedge Reset:

    • If price moves HedgeLevel grids away from anchor, EA opens a hedge position equal to total opposite exposure.

    • After that, all orders stay open for manual closure.

    • EA resets cycle (new anchor = current price, clear arrays, start over).

  6. Limits:

    • Max one buy and one sell per grid level.

    • If spread too high, skip entries.

    • Continue managing existing trades even when new entries are paused.


🧾 Technical Notes for Implementation

  • Use SymbolInfoInteger to get pip size/digits.

  • Parse LotSizes string into a numeric array; repeat last value if more legs are needed.

  • Respect broker min/max lot and margin.

  • Handle ECN brokers (no SL/TP on order send).

  • Retry on REQUOTE or PRICE_CHANGED .

  • Identify each order by magic number + cycle_id + grid + side + leg in comment.

  • Manage logic on every tick (or timer for quiet markets).


🧱 Example Flow

  1. Grid 0: Buy 0.01, Sell 0.01

  2. Price up 1 grid → Buy hits hidden TP → new Buy 0.01; Sell adds 0.02 leg

  3. Price up another grid → Buy TP again → new Buy 0.01; Sell adds 0.03 leg

  4. Price drops back → Buy side now accumulates legs; Sell side resumes its base TP behavior.

  5. If Sell basket profit ≥ $10 (or 5 net pips), close all Sell legs; reset side.


🧩 Summary in One Line

Always one buy + one sell active, build martingale legs only on the losing side, close baskets at hidden TP, and if price drifts too far — hedge Full and restart EA.


On-Chart Summary Display

Add an on-chart status summary that updates automatically while the EA is running.
The summary should display key live metrics for both Buy and Sell sides in a compact, readable format at the top-left corner of the chart.

Display format example:

Grid Martingale EA Status Summary Buy Side: Neutral Sell Side: Martingale Martingale Trades Open: 5 Total Martingale Lots: 1.70 Floating P/L: -215 USD Anchor Price: 1.08420 Current Grid Index: +3 Hedge Trigger: OFF Cycle ID: 24 Spread: 0.8 pips

Behavior requirements:

  • Refresh automatically on every tick (or once per second).

  • Always show the current EA state clearly — even if no trades are open.

  • If either side (Buy or Sell) is running a martingale sequence, label it as “Martingale”; otherwise, “Neutral”.

  • Floating profit/loss should show the combined unrealized P/L of the active martingale basket in account currency.

  • Use consistent decimal precision (2 for lots, 1 for pips, 2 for USD).

  • Optional: color-code values for clarity (e.g., green for profit, red for loss).

Placement and style:

  • Top-Right or Left corner of the chart.

  • Clear, easy-to-read font.

  • Simple layout, no external UI libraries needed.

  • Should not interfere with order execution or EA logic.


Responded

1
Developer 1
Rating
(18)
Projects
22
9%
Arbitration
6
33% / 50%
Overdue
1
5%
Working
2
Developer 2
Rating
(504)
Projects
971
74%
Arbitration
27
19% / 67%
Overdue
100
10%
Working
Published: 1 article, 6 codes
3
Developer 3
Rating
(252)
Projects
258
30%
Arbitration
0
Overdue
3
1%
Free
Published: 2 codes
4
Developer 4
Rating
(85)
Projects
168
44%
Arbitration
3
67% / 0%
Overdue
5
3%
Working
Published: 1 code
5
Developer 5
Rating
(6)
Projects
5
0%
Arbitration
2
50% / 50%
Overdue
2
40%
Free
6
Developer 6
Rating
(308)
Projects
553
35%
Arbitration
79
32% / 42%
Overdue
200
36%
Loaded
7
Developer 7
Rating
(14)
Projects
19
11%
Arbitration
1
0% / 100%
Overdue
5
26%
Free
8
Developer 8
Rating
(24)
Projects
30
13%
Arbitration
12
0% / 75%
Overdue
8
27%
Free
9
Developer 9
Rating
(154)
Projects
192
58%
Arbitration
10
80% / 0%
Overdue
0
Working
Published: 1 code
10
Developer 10
Rating
(6)
Projects
6
17%
Arbitration
1
0% / 0%
Overdue
0
Working
11
Developer 11
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
12
Developer 12
Rating
(1)
Projects
2
0%
Arbitration
1
0% / 100%
Overdue
0
Free
Published: 2 codes
13
Developer 13
Rating
(77)
Projects
243
74%
Arbitration
7
100% / 0%
Overdue
1
0%
Free
Published: 1 article
Similar orders
I am offering a ready-to-use trading system that connects MetaTrader 4 signals with automated trading on Polymarket. The system is already fully developed and working. What the system does: The bot copies signals from a custom MT4 indicator and executes trades automatically on Polymarket prediction markets. How it works: A custom MT4 indicator generates BUY or SELL signals using buffers. When a signal appears, it is
DO NOT RESPOND TO WORK WITH ANY AI. ( I CAN ALSO DO THAT ) NEED REAL DEVELOPING SKILL Hedge Add-On Rules for Existing EA Core Idea SL becomes hypothetical (virtual) for the initial basket and for the hedge basket . When price hits the virtual SL level , EA does not close the losing trades. Instead, EA opens one hedge basket in the opposite direction. Original basket direction Hedge basket direction (opposite) Inputs
Billionflow 30 - 100 USD
Trading specifications: Indicators: Bollinger band ( Period 40, Deviation 1 apply to close) Moving Average (Exponential ) Period 17 applied to high Moving Average ( Exponential ) Period 17 applied to low But Signal enter a buy trade when prices crosses the lower band of the bollinger band up and also crosses the moving average channel of high and low the reverse is true for sell signal
Hello, I am a user of the "BUY STOP SELL STOP V6" trading bot, which is an advanced Grid System bot. The bot is primarily designed for Gold (XAUUSD), but I want it to work on all currency pairs. "The bot contains a privacy/protection code that prevents it from running on other accounts or being modified on any platform, as it has a client account number lock mechanism" --- Bot Description & Current Settings Bot Type
I need Ea that executes trade based on trading view indicator called Market Structure CHoCH/BOS (Fractal) [LuxAlgo] I need developer to recreate the indicator as an Ea in MQL5 The core of the system will be a structured Market Structure engine that detects CHOCH (Change of Character) and BOS (Break of Structure) Signals will be confirmed once the indicator gave ( the bos/choch) no need to wait candle close
Looking to purchase a Good forex or gold/ BTC trading EA and it's source code. Must be compatible with low budget like less than $500 accounts, Must need no manual intervention and run fully automated. If you are interested in selling me the source code, please share the Read only account access where the EA has already been running on, so i can check past performance and get an idea on how it works or runs. Dont
Hello, I’m looking for an experienced MQL4/MQL5 developer to work with me on an ongoing basis. My clients request services such as: Converting TradingView Pine Script indicators/strategies into MT4 or MT5 Expert Advisors Converting MT4 EAs to MT5 (and MT5 to MT4) Compiling and fixing existing MQL4 / MQL5 EA code Adding simple features like alerts, SL/TP, lot size, and basic money management This job is for
I am looking someone to create an EA based on my MACD Histo indicator / strategy from Pinescript. I will send it to you for you to replicate. The EA shall have: - Divergence length in bars, min and max values. - Pivot Logic - Entry on close of divergence confirmation bar. - Dynamic lot size dependent on SL/TP, in monetary value. - SL / TP in percent away from entry, separate values for long and short. - Time, day and
Hello, I have a breakout EA with reversal logic. I own the full source code for both MT4 and MT5 versions. I need the modifications implemented for both MT4 and MT5 versions. I need several modifications: – Multiple reversals with configurable parameters – Breakeven functionality – Entry only after candle close beyond range + offset – Time-based activation – Alternative offset calculation logic – Automatic close at
PROJECT DESCRIPTION Looking for 1 experienced MQL5 developer to build 2 Expert Advisors for MetaTrader 5, targeting XAUUSD and major currency pairs. Strong preference for a single developer handling both EAs to maximize code reuse, reduce cost, and ensure consistency. EA1 — Grid Martingale Pro · Buy/Sell grid with Fixed or ATR Dynamic distance (ATR read once per fill, stored in grid_step_at_open[]) · Gap

Project information

Budget
30+ USD
Deadline
to 2 day(s)