XAUUSD Grid Recovery EA — HTF Trend Filter, Server-Side Pending Orders, Low-Latency Execution (MQL5)

Termos de Referência

PROJECT OVERVIEW

I need an experienced MQL5 developer to build a production-grade Expert Advisor for
XAUUSD (Gold) on MT5, intended for continuous, unattended live operation. This is a
trend-confirmed grid recovery system. Execution speed and reliability are the top
priorities — every recovery level must be a real pending order resting on the broker's
server, not something the EA monitors and reacts to on ticks. No blocking calls of any
kind are allowed in the tick-processing path.

CORE IDENTIFICATION

- Magic Number: 25051996
- Trade comment: TRCN-FX GOLD MINER 2.0

1. HTF TREND FILTER (H1, EMA5/EMA15 crossover)

- Direction is confirmed on the H1 timeframe using a 5-period EMA vs a 15-period EMA,
  read from the last FULLY CLOSED H1 candle (must not repaint intrabar).
- Fast EMA above Slow EMA = confirmed BUY trend. Fast EMA below Slow EMA = confirmed
  SELL trend.
- The EA may only open a NEW basket in the currently confirmed direction.
- If a basket is already open and the trend later flips against it, do not close it —
  keep managing it normally until it closes on its own (TP or max loss). No new trades
  are opened until it's fully closed, at which point the EA switches to the newly
  confirmed direction.
- Two opposite-direction baskets must never run at the same time.

2. LIVE MA-DISTANCE FILTER (new-trade qualification only)

- Before opening any NEW basket, check the live distance between the fast and slow H1
  EMA, measured on the current, still-forming candle (recalculated every tick — this is
  different from the direction check above, which only updates once per closed H1
  candle).
- A new basket may only open if this distance is at least a customizable minimum
  (default 200 points). Purpose: avoid opening new trades when the trend looks
  exhausted or is about to reverse.
- This filter does not affect an already-open basket.

3. INITIAL ENTRY — TRAP ORDERS

- Once flat and a direction is confirmed, place two real pending orders on the server,
  both in the confirmed direction:
  - A Stop order (breakout entry), default 25 points from current price.
  - A Limit order (pullback entry), default 25 points from current price.
  - Both distances must be independently customizable.
- Whichever triggers first becomes Order #1 and opens the basket. The other (untriggered)
  order must be deleted immediately.
- If the trend flips before either triggers, cancel both and re-place in the new
  direction.

4. RECOVERY GRID — REAL SERVER-SIDE PENDING ORDERS

This is the most important architectural requirements. 

- When Order #1 fills, immediately calculate the full remaining sequence of orders
  (up to a customizable Max Orders, default 20): price, lot size, and direction for
  each. Calculate this once.
- Immediately place ALL remaining levels as real pending Limit orders directly on the
  broker's server (Buy Limit below price for a BUY basket, Sell Limit above price for
  a SELL basket), so the broker's own matching engine triggers each fill instantly.
- Grid spacing: Orders 1–5 = 100 points apart, Orders 6–25 = 200 points apart (both
  customizable). - start lot = 0.02
- Lot sizing: each order's lot = previous lot x multiplier (default 1.65, customizable),
  respecting the broker's minimum/maximum/step lot rules.
- Track each level by its order ticket, and detect fills precisely by ticket (not by
  guessing which position belongs to which level).
- Every tick, verify each unfilled level's order still exists on the server; if it was
  deleted, expired, rejected, or stopped out without filling, re-place it automatically.

5. TREND REVERSAL MITIGATION

- If the H1 trend filter (see #1) flips against an already-open basket, apply this
  exactly once per basket:
  - All already-filled levels are left untouched.
  - All remaining unfilled levels keep their original prices, but their lot sizes are
    recalculated using a separate, smaller multiplier (default 1.30, customizable)
    compounding from the last filled level's lot.
  - Any live pending order affected by this must be deleted and re-placed at the new
    lot size (MT5 does not allow changing a pending order's volume in place).

6. SHARED BASKET TAKE-PROFIT

- One shared TP for the whole basket, default 50 points (customizable), calculated
  from the volume-weighted average entry price of all open basket positions.
- Recalculate and reapply after every new fill.
- On TP hit: close every position in the basket, verify full closure, and reset for a
  new cycle.

7. MAX BASKET LOSS

- A configurable maximum floating loss in account currency (default 15,000). When
  reached: stop placing any further recovery orders, close the entire basket, verify
  closure, reset.

8. TRADING SESSION FILTER

- Configurable daily trading window in Nigeria time (WAT, UTC+1), default 23:05 to
  21:00 (overnight, wraps past midnight).
- Outside this window: no new trap or recovery orders may be placed. Existing open
  positions and live pending orders continue to be managed normally.

9. MANUAL NEWS FILTER

- Up to 4 configurable news times (WAT), each with a configurable minutes-before and
  minutes-after buffer (default 15/15).
- During a news window: no new orders placed; existing positions/orders still managed.

10. EXECUTION REQUIREMENTS (highest priority)

- All trade actions must be asynchronous / non-blocking — no Sleep() or any other
  blocking wait anywhere in the tick-processing path.
- Retry any failed action on a short, non-blocking, time-gated basis so failures self-heal without spamming the
  server.
- Include a spread filter (on/off, configurable max spread) and slippage control that
  gate new order placement without affecting management of existing positions/orders.

11. STATE RECONCILIATION (every tick)

The EA must compare its internal state against the live MT5 account every tick and
self-correct:
- Detect and warn on any untracked/unexpected position.
- Detect and clean up stray or duplicate pending orders, without ever touching
  legitimate tracked recovery orders.
- Keep the basket TP correct on all open positions at all times.
- Detect a grid level whose order disappeared without filling, and re-place it.
- If a basket is flagged active but has no positions left, reset cleanly.

12. RESTART RECOVERY

After an EA, terminal, or VPS restart:
- Reconstruct the entire basket state from the live account: direction, filled levels,
  lot sizes, average entry, current TP, and which grid levels are still live as pending
  orders vs. already filled vs. missing.
- Resume without duplicating any order or skipping any level.
- Persist and restore the "highest floating account drawdown" figure across restarts.

13. DASHBOARD

A minimal, professional dark-panel dashboard on the chart showing: Status
(Waiting/Buy/Sell/Paused), Orders filled (X/20), total lots, average entry, basket TP,
floating P/L, basket drawdown, account balance, equity, account growth/loss (as a
currency amount), highest floating account drawdown (as a currency amount), current
HTF trend, live MA distance, reversal-mitigation status, the next unfilled grid level,
session status, and news status.

DELIVERABLES & EXPECTATIONS

- Fully commented MQL5 source code (.mq5), compiling with zero errors and zero
  warnings.
- A short test report or screen recording showing: a basket opening, at least 2–3
  recovery levels filling, the shared TP closing the basket, and a restart-recovery
  test (restart the terminal mid-basket and confirm the EA reconstructs state
  correctly).
- Please ask questions before quoting if anything above is unclear — I'd rather clarify
  upfront than renegotiate scope later.

Respondido

1
Desenvolvedor 1
Classificação
(615)
Projetos
718
33%
Arbitragem
46
48% / 41%
Expirado
14
2%
Carregado
2
Desenvolvedor 2
Classificação
(395)
Projetos
556
41%
Arbitragem
30
57% / 3%
Expirado
57
10%
Livre
Publicou: 11 códigos
3
Desenvolvedor 3
Classificação
(2344)
Projetos
2949
63%
Arbitragem
124
44% / 26%
Expirado
429
15%
Livre
4
Desenvolvedor 4
Classificação
(62)
Projetos
90
29%
Arbitragem
24
13% / 58%
Expirado
7
8%
Trabalhando
5
Desenvolvedor 5
Classificação
(434)
Projetos
640
53%
Arbitragem
34
62% / 21%
Expirado
6
1%
Trabalhando
6
Desenvolvedor 6
Classificação
(17)
Projetos
21
19%
Arbitragem
5
40% / 40%
Expirado
0
Livre
7
Desenvolvedor 7
Classificação
(1)
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
8
Desenvolvedor 8
Classificação
(173)
Projetos
185
46%
Arbitragem
3
33% / 33%
Expirado
1
1%
Trabalhando
9
Desenvolvedor 9
Classificação
(83)
Projetos
95
32%
Arbitragem
9
22% / 56%
Expirado
5
5%
Trabalhando
10
Desenvolvedor 10
Classificação
(319)
Projetos
567
35%
Arbitragem
82
30% / 45%
Expirado
205
36%
Trabalhando
11
Desenvolvedor 11
Classificação
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
12
Desenvolvedor 12
Classificação
(2674)
Projetos
3413
68%
Arbitragem
77
48% / 14%
Expirado
342
10%
Livre
Publicou: 1 código
13
Desenvolvedor 13
Classificação
(1)
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
Publicou: 1 código
14
Desenvolvedor 14
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
15
Desenvolvedor 15
Classificação
(3)
Projetos
9
67%
Arbitragem
0
Expirado
0
Trabalhando
16
Desenvolvedor 16
Classificação
(28)
Projetos
34
35%
Arbitragem
0
Expirado
2
6%
Livre
17
Desenvolvedor 17
Classificação
(1)
Projetos
1
0%
Arbitragem
0
Expirado
1
100%
Livre
18
Desenvolvedor 18
Classificação
(1)
Projetos
1
0%
Arbitragem
1
0% / 100%
Expirado
0
Trabalhando
19
Desenvolvedor 19
Classificação
(18)
Projetos
22
18%
Arbitragem
8
38% / 38%
Expirado
3
14%
Trabalhando
Publicou: 1 código
20
Desenvolvedor 20
Classificação
(6)
Projetos
8
38%
Arbitragem
1
100% / 0%
Expirado
2
25%
Livre
21
Desenvolvedor 21
Classificação
(14)
Projetos
20
25%
Arbitragem
0
Expirado
2
10%
Trabalhando
Publicou: 3 códigos
22
Desenvolvedor 22
Classificação
(8)
Projetos
8
0%
Arbitragem
2
50% / 0%
Expirado
1
13%
Trabalhando
23
Desenvolvedor 23
Classificação
(25)
Projetos
31
13%
Arbitragem
13
0% / 77%
Expirado
9
29%
Trabalhando
24
Desenvolvedor 24
Classificação
(551)
Projetos
839
61%
Arbitragem
33
27% / 45%
Expirado
24
3%
Livre
Publicou: 1 código
25
Desenvolvedor 25
Classificação
(209)
Projetos
271
21%
Arbitragem
24
50% / 17%
Expirado
0
Trabalhando
26
Desenvolvedor 26
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
27
Desenvolvedor 27
Classificação
(366)
Projetos
449
55%
Arbitragem
23
57% / 17%
Expirado
30
7%
Trabalhando
28
Desenvolvedor 28
Classificação
(3)
Projetos
4
0%
Arbitragem
1
100% / 0%
Expirado
1
25%
Livre
29
Desenvolvedor 29
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
30
Desenvolvedor 30
Classificação
(1)
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
Pedidos semelhantes
ZONDII Scalpers 30+ USD
I need an Expert Advisor called ZONDII Scalpers for MT5 (MQL5). Timeframe: M5 Pairs: XAUUSD / EURUSD BUY when: Price > EMA200 and EMA50 crosses above EMA200 and RSI(14) > 50 SELL when: Price < EMA200 and EMA50 crosses below EMA200 and RSI(14) < 50 Risk: Fixed lot 0.01, SL 300 points, TP 600 points, Trailing start 200 points / step 100 points. Filter: Max spread 30 points. Only 1 trade at a time. Inputs must be
I am looking for a professional MT5 EA developer to build a high-performance trading bot specifically for XAUUSD (Gold). My target is approximately 200% return within 3 months, while keeping the drawdown and risk as controlled as reasonably possible. Requirements: MT5 Expert Advisor (EA) XAUUSD only Fully automated trading Clear risk management Stop Loss and Take Profit on trades No martingale or grid strategy unless
Hello, I’m looking for an experienced MT5 developer to build a professional Expert Advisor (EA) for trading Gold (XAUUSD). My requirements: Platform: MT5 Instrument: XAUUSD (Gold) Fully automatic trading Both BUY and SELL trades Adjustable lot size Stop Loss and Take Profit Trailing Stop / Break Even Daily maximum loss limit Maximum drawdown protection Maximum number of open trades Trading hours/session filter Spread
B6 EA 30 - 50 USD
Develop an Expert Advisor trading trend reversals. Reversal signals will be generated based on Price Action patterns. Trend will be determined based on ADX, Alligator and MACD, while the indicator selection should be available in the EA's input parameters
EA VAULT V5.1 30 - 200 USD
//+------------------------------------------------------------------+ //| EA_VAULT_V5_1_Otsile_Classic.mq5 | //| v5.11: CLASSIC VAULT EDITION - Smart Risk + License| //| Author: Otsile Trading | //| Icon: Bank Vault Guardian | //+------------------------------------------------------------------+ #property strict #property version "5.11" #property description "EA VAULT V5.1 CLASSIC EDITION" #property icon
1. PROJECT OVERVIEW Development of a custom automated and manual trading bot for NinjaTrader 8, primarily designed for Nasdaq Futures (NQ/MNQ). The bot will contain the original trading strategy, configurable risk management, automatic and manual operating modes, alerts, profit/loss management, partial profit taking, Break Even, backtesting functionality, and the additional configurable contract-averaging system
Hello, I have a custom indicator with a specific line. Logic I want: 1. When a candle closes and crosses the indicator line (I will tell you the buffer number of this line), start counting. 2. After the cross, wait for 3 consecutive candles with the same color / same direction. 3. If the 3 candles are bullish, open a BUY trade on the next candle open. 4. If the 3 candles are bearish, open a SELL trade on the
Ich möchte einen professionellen Expert Advisor (EA) für MetaTrader 5 entwickeln lassen, der sich funktional am ThunderGold Scalper orientiert. Instrument: XAUUSD / GOLD Zeitrahmen: M15 Plattform: MetaTrader 5 / MQL5 Der EA soll eine eigene, nachprogrammierte Strategie verwenden und keine geschützten Quellcodes oder proprietären Dateien des Originalprodukts kopieren. Gewünschte Funktionen: automatischer Handel auf
I need a fully automated Expert Advisor (EA) written in MQL5 for MetaTrader 5. The EA must work directly inside MT5 and must NOT require TradingView, PineConnector, webhooks, or another external connector to place trades. Trading Instrument Primary symbol: XAGUSD (Silver) My broker may display the symbol as XAGUSD-ECN, so the EA should work with the broker’s available XAGUSD symbol. Main entry timeframe: 5-minute
RECHERCHE DÉVELOPPEUR MQL5 — PARTENARIAT 50/50 Objectif : développer un EA de trading automatisé en 11 jours maximum pour participer à plusieurs concours de trading démo. Je recherche un développeur MQL5 expérimenté, capable de développer, tester et optimiser un EA proprement, avec une vraie maîtrise de la gestion du risque. CONCOURS VISÉS 🥇 XM — Weekly Demo Contest - Concours récurrent - Prize pool annoncé : 25 000

Informações sobre o projeto

Orçamento
50 - 100 USD
Prazo
para 20 dias

Cliente

Pedidos postados1
Número de arbitragens0