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

İş Gereklilikleri

Цель

Создать эксперт-советник (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. Логирование и мониторинг (файл + журнал, панель на графике).


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(183)
Projeler
236
20%
Arabuluculuk
21
43% / 19%
Süresi dolmuş
0
Çalışıyor
2
Geliştirici 2
Derecelendirme
(9)
Projeler
22
9%
Arabuluculuk
3
0% / 67%
Süresi dolmuş
3
14%
Çalışıyor
3
Geliştirici 3
Derecelendirme
(505)
Projeler
972
74%
Arabuluculuk
27
19% / 67%
Süresi dolmuş
100
10%
Yüklendi
Yayınlandı: 1 makale, 6 kod
4
Geliştirici 4
Derecelendirme
(12)
Projeler
13
8%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
5
Geliştirici 5
Derecelendirme
(2)
Projeler
4
0%
Arabuluculuk
2
0% / 50%
Süresi dolmuş
1
25%
Çalışıyor
6
Geliştirici 6
Derecelendirme
(295)
Projeler
474
39%
Arabuluculuk
103
41% / 23%
Süresi dolmuş
79
17%
Meşgul
Yayınlandı: 2 kod
7
Geliştirici 7
Derecelendirme
(10)
Projeler
14
43%
Arabuluculuk
0
Süresi dolmuş
3
21%
Serbest
8
Geliştirici 8
Derecelendirme
(10)
Projeler
12
25%
Arabuluculuk
0
Süresi dolmuş
3
25%
Yüklendi
9
Geliştirici 9
Derecelendirme
(3)
Projeler
1
100%
Arabuluculuk
3
0% / 100%
Süresi dolmuş
0
Serbest
Benzer siparişler
Необходима таблица с параметрами:тф,частота изменения цены за данный тф,ход цены за данный тф.Возможность выгрузки данной сформированной за выбранный период инфо.1 мин,3 мин,6 мин,20 мин …. День,неделя,месяц.Любой период который мне надо будет анализировать
1. Сеточный алгоритм, без мартингейла (открываются одинаковые ордера по лотности). 2. Депозит делится на 3 части. Условно 1000$ по 330$. Торговля ведется на 330$, лотность, просадка, маржа и тд., высчитывается от этой суммы. 3. Счет центовый. Под плечо 1:1000. 4. Ордера набираются группами. 5-7 групп по 10 -15 ордеров. Если цена ушла не в сторону сделки, робот должен дождаться сигнала на покупку
Основная идея советника заключается в использовании коррелирующих валютных пар для выравнивания отрицательного баланса. Изначально запускаются 4 пары, разделенные на 2 блока. В каждом блоке 2 пары, каждая из которых открыты разнонаправленно buy\sell с установленными заранее уровнями TP. Например: в одном блоке 2 пары EUR\USD buy и sell, во втором блоке 2 пары USD\CHF buy и sell. TP устанавливается в каждом блоке
Требуется построить индикатор ZigZag для MetaTrader 4 Который будет фиксировать точки и показывать линии ДО перерисовки значений (если таковые есть) По сути "оставлять след" перерисовки Необходимо взять за основу обычный индикатор ZigZag и модернизировать его. Основные функции обычного ZigZagа сохранить. Когда его устанавливаешь на график, то он, как обычный индикатор, должен отрисовывать ВСЮ историю. Т.е. он будет
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на

Proje bilgisi

Bütçe
200 - 500 USD