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

İş tamamlandı

Tamamlanma süresi: 9 gün
Müşteri tarafından geri bildirim
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.
Geliştirici tarafından geri bildirim
Amazing Customer

Şartname

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.


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(22)
Projeler
28
7%
Arabuluculuk
9
33% / 33%
Süresi dolmuş
1
4%
Çalışıyor
2
Geliştirici 2
Derecelendirme
(510)
Projeler
977
74%
Arabuluculuk
27
19% / 67%
Süresi dolmuş
100
10%
Çalışıyor
Yayınlandı: 1 makale, 6 kod
3
Geliştirici 3
Derecelendirme
(258)
Projeler
269
29%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
3
1%
Çalışıyor
Yayınlandı: 2 kod
4
Geliştirici 4
Derecelendirme
(85)
Projeler
174
44%
Arabuluculuk
3
100% / 0%
Süresi dolmuş
5
3%
Serbest
Yayınlandı: 1 kod
5
Geliştirici 5
Derecelendirme
(7)
Projeler
6
0%
Arabuluculuk
4
25% / 75%
Süresi dolmuş
2
33%
Serbest
6
Geliştirici 6
Derecelendirme
(319)
Projeler
568
35%
Arabuluculuk
82
30% / 45%
Süresi dolmuş
206
36%
Yüklendi
7
Geliştirici 7
Derecelendirme
(14)
Projeler
19
11%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
5
26%
Serbest
8
Geliştirici 8
Derecelendirme
(25)
Projeler
31
13%
Arabuluculuk
13
0% / 77%
Süresi dolmuş
9
29%
Serbest
9
Geliştirici 9
Derecelendirme
(160)
Projeler
208
61%
Arabuluculuk
10
80% / 0%
Süresi dolmuş
0
Serbest
Yayınlandı: 1 kod
10
Geliştirici 10
Derecelendirme
(6)
Projeler
6
17%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
0
Çalışıyor
11
Geliştirici 11
Derecelendirme
(1)
Projeler
1
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
12
Geliştirici 12
Derecelendirme
(1)
Projeler
2
0%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
Yayınlandı: 2 kod
13
Geliştirici 13
Derecelendirme
(78)
Projeler
246
74%
Arabuluculuk
7
100% / 0%
Süresi dolmuş
1
0%
Serbest
Yayınlandı: 1 makale
Benzer siparişler
I need an MT5 Expert Advisor for XAUUSD (Gold) running on an Exness account. STRATEGY LOGIC The exact entry and exit rules will be provided in writing before development starts. Please quote for a single rule-based strategy with clearly separated logic, so the rules can be adjusted later without rewriting the whole EA. RISK MANAGEMENT (this is the priority of the project) - Risk per trade as a percentage of account
Modification of Trade_Panel_7 7.05 Objective . I have this utility “Trade_Panel_7 7.05” with which I open and close positions. Please refer to attached “Trade Panel Modification.jpg”. It shows an input parameter “Volume Step”. This parameter has the initial value of 0.02 as shown. This feature needs to be amended. Present Status . Value of lot size is increased by this “Volume Step”. I have built a whole series of
Hello Traders, Have a trading strategy or idea you want to automate? I specialize exclusively in MQL5 development, helping traders turn their concepts into professional trading solutions. Custom Expert Advisors — automate your strategy and reduce manual execution Custom Indicators — transform your market ideas into powerful trading tools Fix & Debug — identify errors and get your existing code working properly
please share: Strategy description — entry/exit rules, indicators used, timeframe(s), and instrument(s) (a written explanation, screenshots, or an existing indicator/EA to reference all work) Risk management rules — position sizing method (fixed lot / % risk), stop loss / take profit logic, max drawdown or daily loss limits, and whether martingale/grid/hedging is involved Broker & account details — broker name
I need a unique grid trading system for XAUUSD that combines entry, controlled two-sided grid expansion, DCA (Dollar Cost Averaging) basket profit control, hedging. Unlike traditional grid EAs that only trade against price, this unique grid system should dynamically build positions in both directions based on market movement, allowing flexible adaptation to changing conditions ie the grid needs to dynamically move
I need an experienced MQL5 developer to create a fully automated MT5 Expert Advisor called Ayoub Gold EA , focused exclusively on XAUUSD (Gold) . Main requirements: Platform: MT5 / MQL5. Fully automated BUY and SELL trading on XAUUSD. Must support broker suffixes such as XAUUSD, XAUUSD.f and XAUUSDm. Trading strategy based mainly on Range Breakout with trend confirmation. EMA, ADX and ATR filters. London/New York
Mashiri 50 - 10000 USD
I need a custom MetaTrader 5 indicator designed specifically for XAUUSD gold trading. The indicator should identify potential buy and sell opportunities, display clear entry and exit signals on the chart, provide alerts, and help identify market trends and possible reversals
Looking for an experienced Sierra Chart ACSIL/C++ developer to customize an existing footprint chart. I need 3 things: 7-Day ATR – calculate and display a configurable 7-day ATR. Custom Footprint – modify my existing footprint chart to match my preferred layout/data display. Automatic LVN – detect and plot Low Volume Nodes automatically based on volume distribution. I already have a working footprint chart, so no
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {
1. Title Development of a Custom MQL5 Expert Advisor for XAUUSD (MetaTrader 5) 2. Requirements Specification Overview: I am looking for an experienced MQL5 developer to build a robust, fully custom Expert Advisor (EA) for MetaTrader 5 tailored for trading Gold (XAUUSD). Core Specifications & Features: Asset & Timeframe: Designed specifically for XAUUSD. Timeframe should be selectable directly from the EA inputs

Proje bilgisi

Bütçe
30+ USD
Son teslim tarihi
to 2 gün