← Все видеоинструкции
MT5 API · 4:21

Котировки MT5 через WebSocket

Подключение, подписка, чтение тиков и завершение сеанса.

Пошаговая инструкция

  1. 0:00

    Котировки MT5 через WebSocket

    В этом уроке мы получим котировки MetaTrader пять через WebSocket. Подключим демосчёт, подпишемся на инструмент, разберём реальные сообщения сервера, а затем остановим поток и отключим терминал.

  2. 0:16

    Откройте консоль API

    Откройте эм ти пять точка эм эр пи си точка про. Консоль откроется автоматически. В разделе подключений выберите Connect Ex. В этом уроке мы только читаем котировки и не совершаем сделок.

  3. 0:33

    Подключите демосчёт

    Используйте Trial или свой ключ API. Введите логин демосчёта, торговый пароль и точное имя сервера брокера. Для нового подключения оставьте необязательное поле id пустым и нажмите «Выполнить запрос». Не раскрывайте свои учётные данные.

  4. 0:56

    Сохраните id терминала

    Для Connect Ex проверьте код состояния HTTP двести, затем ответ JSON. Если поле error содержит ошибку, сначала прочитайте её описание. При успехе в data возвращается terminal Instance Guid. Консоль сохраняет этот id для следующих запросов и показывает, что терминал подключён.

  5. 1:22

    Выберите инструмент

    В разделе подписок выберите On Symbol Tick. Сохраните id текущего подключения. В поле symbol Names укажите точное имя инструмента у брокера, здесь EURUSD. У разных брокеров названия и суффиксы могут отличаться. Нажмите «Подключить поток».

  6. 1:45

    Следите за котировками

    Индикатор подключения означает, что WebSocket открыт. Карточка котировки обновляется при поступлении тиков. Полученные кадры содержат реальные сообщения сервера. Это непрерывный поток, а не повторные HTTP-запросы. В каждом сообщении сначала проверяйте error, затем читайте data точка symbol Tick.

  7. 2:11

    Разберите bid и ask

    В объекте symbol Tick поле symbol обозначает инструмент. Bid — цена продажи, ask — цена покупки. Их разница — спред. Это котировки, а не подтверждение исполнения сделки. Last и volume могут быть нулевыми, если брокер не передаёт сведения о последней сделке по этому инструменту.

  8. 2:37

    Используйте время UTC

    Для единого времени в разных системах используйте time U T C или time M S C U T C для миллисекунд. На записи время брокера на два часа опережает явное время UTC. Не считайте поле времени брокера временем UTC только из-за буквы Z в строке. Время получения кадра — отдельная отметка.

  9. 3:03

    Пример на JavaScript

    Пример JavaScript использует защищённый адрес WebSocket и тот же инструмент. Браузер не позволяет задать произвольные заголовки WebSocket, поэтому ключ API и id терминала передаются в параметрах адреса. Не раскрывайте полный адрес. Разберите JSON, сначала обработайте error, затем прочитайте тик и время UTC.

  10. 3:31

    Остановите подписку

    Завершив работу, нажмите «Отключить» на панели потока. В коде закройте WebSocket. Это останавливает подписку, но не отключает сам терминал. Отсутствие новых сообщений не обязательно означает ошибку: проверьте подключение, имя инструмента и наличие котировок у брокера.

  11. 3:55

    Отключите терминал

    Теперь выберите метод Disconnect и выполните запрос с тем же id терминала. Проверьте код состояния HTTP двести и поле error. В успешном ответе на записи есть идентификатор терминала и время его работы. Индикатор меняется на «Отключён». Подписка и сеанс терминала завершены.