Торговый робот (EA) для XAUUSD и XAUUSD+ с Market Depth (Order Book) L0/L1/L2/L3

Spécifications

Цель

Создать эксперт-советник (EA) для MetaTrader 5, торгующий инструментами XAUUSD и XAUUSD+ на основе потока данных стакана заявок (Market Depth / Order Book) с уровнями L0/L1/L2/L3, вычисляющий простые коэффициенты, сравнивающий отклонения от настроечных порогов, подающий алерты и автоматически совершающий сделки с заданными параметрами риска и мани-менеджмента.


Термины и уровни стакана

  • L0 (Quote/Top-of-Book snapshot): best bid/ask, спред, last trade (если доступен), midprice.

  • L1: лучшая цена покупки/продажи и их объём (1-й уровень по обеим сторонам).

  • L2: агрегированные уровни цен (N уровней по bid/ask).

  • L3: поток отдельных ордеров/изменений в стакане (если доступно от брокера/внешнего провайдера).

В MT5 базовый стакан: MarketBookGet() + события OnBookEvent() . При наличии внешнего источника L2/L3 — подключение через WebRequest/DLL/локальный шлюз.


Источники данных

  1. Внутренний DOM MT5 для соответствующего символа (XAUUSD, XAUUSD+):

    • Использовать MarketBookAdd(Symbol())/MarketBookRelease() и OnBookEvent() для подписки.

    • Периодически брать срез MarketBookGet() для расчётов.

  2. Опционально: внешний поток L2/L3

    • Заказчик при необходимости оплачивает внешний фид (например, агрегатор ликвидности).

    • Техническая интеграция:

      • Предпочтение — локальный мост: внешний скрипт (Python/Node) тянет WebSocket и публикует в локальный HTTP (localhost) → EA опрашивает через WebRequest() .

      • Формат JSON (см. «Контракты данных» ниже).

    • Частота обновления и троттлинг настраиваемые.

  3. Синхронизация символов

    • Параметры EA: имена символов для DOM/торговли (по умолчанию XAUUSD , XAUUSD+ ).

    • Проверка доступности стакана у брокера (если недоступен — лог/алерт).


Алгоритм (высокоуровневый)

  1. Подключение к источникам (внутренний DOM; при включении — внешний поток).

  2. Непрерывный сбор L0/L1/L2/L3 (по событию OnBookEvent + по таймеру OnTimer ).

  3. Расчёт метрик/коэффициентов (простые, быстрые):

    • Spread = ask1 - bid1

    • Mid = (ask1 + bid1)/2

    • Imbalance (L1) = (BidVol1 − AskVol1) / (BidVol1 + AskVol1)

    • Book Pressure (L2) = ΣBidVol[1..N] / ΣAskVol[1..N]

    • Microprice = (Bid1AskVol1 + Ask1BidVol1) / (BidVol1 + AskVol1)

    • Delta of DOM за окно T: изменения суммарных объёмов по сторонам

    • Spoofing/Flip heuristic (L3): частые добавления/отмены крупного объёма на удалённых уровнях (если L3 доступен)

  4. Сравнение с порогами и условиями входа/выхода (конфиги, см. ниже).

  5. Сигналы:

    • Алерты (терминал, пуш/почта по желанию).

    • Торговые действия: отправка заявок с учётом риска, фильтров и ограничений.

  6. Управление позицией:

    • Стоп-лосс/тейк-профит/трейлинг, частичная фиксация, безубыток.

  7. Логирование и мониторинг (файл + журнал, панель на графике).


Répondu

1
Développeur 1
Évaluation
(183)
Projets
236
20%
Arbitrage
21
43% / 19%
En retard
0
Travail
2
Développeur 2
Évaluation
(9)
Projets
22
9%
Arbitrage
3
0% / 67%
En retard
3
14%
Travail
3
Développeur 3
Évaluation
(505)
Projets
972
74%
Arbitrage
27
19% / 67%
En retard
100
10%
Chargé
Publié : 1 article, 6 codes
4
Développeur 4
Évaluation
(12)
Projets
13
8%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
5
Développeur 5
Évaluation
(2)
Projets
4
0%
Arbitrage
2
0% / 50%
En retard
1
25%
Travail
6
Développeur 6
Évaluation
(295)
Projets
474
39%
Arbitrage
103
41% / 23%
En retard
79
17%
Occupé
Publié : 2 codes
7
Développeur 7
Évaluation
(10)
Projets
14
43%
Arbitrage
0
En retard
3
21%
Gratuit
8
Développeur 8
Évaluation
(10)
Projets
12
25%
Arbitrage
0
En retard
3
25%
Chargé
9
Développeur 9
Évaluation
(3)
Projets
1
100%
Arbitrage
3
0% / 100%
En retard
0
Gratuit

Informations sur le projet

Budget
200 - 500 USD