Обсуждение статьи "Биржевые данные без посредников: подключаем MetaTrader 5 к MOEX через ISS API"
спс за статью очень информативно и познавательно - еще читаю...
перед работой всю не успел прочитать и усвоить... продолжу - извините если эта тема далее рассматривается - получается торговать без брокера чтоли на МТ 5 с регистрацией на МОЕСК - т.е. в практическом применении брокера же подключать надо?
Как будет выглядеть организационная связка биржа - брокер - МТ 5 - клиент?
Это в контексте и быстрого доступа к данным биржи и торговли на ней через МТ 5.
также в контексте этой темы, где человек написал выделенное приложение для ускорения работы с биржей и торгов.
Т.е. как торговать на ней через сервисы API, как с брокером взаимодействовать?
Может вообще эту тему развернуть в отдельную статью, как раз с доуточнением и разъяснением данных по опубликованной статье? )
- 2025.01.26
- prostotrader
- www.mql5.com
спс за статью очень информативно и познавательно - еще читаю...
перед работой всю не успел прочитать и усвоить... продолжу - извините если эта тема далее рассматривается - получается торговать без брокера чтоли на МТ 5 с регистрацией на МОЕСК - т.е. в практическом применении брокера же подключать надо?
Как будет выглядеть организационная связка биржа - брокер - МТ 5 - клиент?
Это в контексте и быстрого доступа к данным биржи и торговли на ней через МТ 5.
также в контексте этой темы, где человек написал выделенное приложение для ускорения работы с биржей и торгов.
Т.е. как торговать на ней через сервисы API, как с брокером взаимодействовать?
Может вообще эту тему развернуть в отдельную статью, как раз с доуточнением и разъяснением данных по опубликованной статье? )
Конкретно через ISS API торговать не предусмотрено. В начале статьи перечислены некоторые (но не все) протоколы, которые биржа предлагает для торговли - разумеется, не бесплатно. Про их особенности можно почитать на сайте самой биржи. Их можно подключить к МТ5 разными способами - это отдельная большая работа. Полагаю такого рода статью потенциально может написать кто-то, кто биржевым программированием уже занялся, я пока остановился на ISS.
Если нужно что-то близкое к HFT, то, вероятно, лучше действительно пилить какую-то свою программулину (хотя бы библиотеку), потому что событийная модель МТ5 не позволяет получать данные в реальном времени (то есть в виде "пуша" по инициативе биржи, а не зацикленного "пула" от МТ5, но вроде я где-то видел API биржи на веб-сокетах - не вдавался в подробности).
Предполагаемый способ применения текущей связки - обработка данных биржи в МТ5 с помощью имеющихся индюков и отбраковка стратегий/оптимизация экспертов на кастом-символах. На основе этой инфы можно торговать в терминалах других брокеров.
Иными словами - брокер или подключение к бирже по другим протоколам (API) необходимо для торговли.
Самый простой вариант - инструменты биржи в МТ5 от брокера, но выбора тут нет (сейчас).Небольшой нюанс, опущенный в статье.
Если серверное время вашего МТ5 отличается от московского и предполагается совместно анализировать данные с биржи и от вашего брокера, то все значения дата-время от биржи (в котировках, тиках и т.д.) нужно корректировать на разницу часовых поясов. Например, для центральноевропейского сервера при текущем зимнем времени нужно вычитать 1 час из получаемого времени с биржи.
Конкретно через ISS API торговать не предусмотрено. В начале статьи перечислены некоторые (но не все) протоколы, которые биржа предлагает для торговли - разумеется, не бесплатно. Про их особенности можно почитать на сайте самой биржи. Их можно подключить к МТ5 разными способами - это отдельная большая работа. Полагаю такого рода статью потенциально может написать кто-то, кто биржевым программированием уже занялся, я пока остановился на ISS.
Если нужно что-то близкое к HFT, то, вероятно, лучше действительно пилить какую-то свою программулину (хотя бы библиотеку), потому что событийная модель МТ5 не позволяет получать данные в реальном времени (то есть в виде "пуша" по инициативе биржи, а не зацикленного "пула" от МТ5, но вроде я где-то видел API биржи на веб-сокетах - не вдавался в подробности).
Предполагаемый способ применения текущей связки - обработка данных биржи в МТ5 с помощью имеющихся индюков и отбраковка стратегий/оптимизация экспертов на кастом-символах. На основе этой инфы можно торговать в терминалах других брокеров.
Иными словами - брокер или подключение к бирже по другим протоколам (API) необходимо для торговли.
Самый простой вариант - инструменты биржи в МТ5 от брокера, но выбора тут нет (сейчас).Станислав, спасибо за огромную проделанную работу. Тот редкий случай, когда статейный материал носит хрестоматийный характер... есть вопрос такого плана. В файле moexindex.mqh в определении перечисления MOEX_SECURITYTYPES вижу такое:

Т.е. к примеру именованная константа определена как currency·gold_metal. Наверное корректная запись могла быть такой currency_gold_metal.
Ну и соот-но новый компилятор (build 5200) ругается, что имена некоторых идентификаторов совпадают:
idenfitier 'currency' already used moexindex.mqh 1990 3 see declaration of 'MOEX_ENGINES::currency' moexindex.mqh 14 3
Станислав, спасибо за огромную проделанную работу. Тот редкий случай, когда статейный материал носит хрестоматийный характер... есть вопрос такого плана. В файле moexindex.mqh в определении перечисления MOEX_SECURITYTYPES вижу такое:
Т.е. к примеру именованная константа определена как currency·gold_metal. Наверное корректная запись могла быть такой currency_gold_metal.
Ну и соот-но новый компилятор (build 5200) ругается, что имена некоторых идентификаторов совпадают:
Символ "дот" (· посередине, код Unicode 0x00B7), как и множество других, был разрешен для использования в именах переменных MQL5 и по-прежнему разрешен в C++. В частности, цитата по cpprefernce:
The first character of a valid identifier must be one of the following:
- uppercase Latin letters A-Z
- lowercase Latin letters a-z
- underscore
- any Unicode character with the Unicode property XID_Start
Any other character of a valid identifier must be one of the following:
- digits 0-9
- uppercase Latin letters A-Z
- lowercase Latin letters a-z
- underscore
- any Unicode character with the Unicode property XID_Continue
В свою очередь группа символов XID_Continue может быть найдена среди прочих групп на сайте unicode.org.
Почему прежний компилятор был совместим с C++, а новый нет - я не знаю.
Я напишу об этом в ветке по последнему релизу, но со своей стороны изменить вряд ли что-то смогу, т.к. объяснение данного технического решения было в статье:
Иными словами, разные сущности в иерархии MOEX могут использовать одно и то же слово, и потому требуется некий символ-разделитель внутри идентификатора между контейнером и вложенным элементом. Использовать краткое имя только элемента - нельзя, потому что мы сразу же упремся в дубликаты. Использовать подчеркивание нельзя, потому что оно уже используется в именах элементов MOEX. Использовать позиционное кодирование нельзя, т.к. количество слов в названии элемента неизвестно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Биржевые данные без посредников: подключаем MetaTrader 5 к MOEX через ISS API:
В статье предложено решение для интеграции MetaTrader 5 с веб-сервисом MOEX ISS. Прилагаются утилиты для автоматической генерации исходных кодов на основе справочника API и индекса основных элементов сервиса.
Предлагаю воспользоваться открытыми веб-сервисами MOEX, которые станет легко... или, по крайней мере, не так уж и сложно... интегрировать с терминалом после прочтения данной статьи. В ней речь пойдет о самом простом и доступном бесплатно сервисе ISS — Информационно-статистическом сервере Московской Биржи. Говоря научным языком — это связка интернет-протокола HTTP и технологии REST-сервиса, а по-простому — то, что мы можем запросить в виде удобочитаемых веб-страниц из обычного браузера или через специально написанную программу для скачивания и анализа данных других форматов, более удобных для программ, например, xml, csv, json.
Биржа предоставляет и более продвинутые, но потому платные, сервисы, построенные по аналогичным техническим принципам. Поэтому потренировавшись на ISS, желающие смогут усовершенствовать текущее решение для выполнения расширенного круга задач.
Если описывать возможности ISS в общих чертах, то он позволяет получать списки и спецификации инструментов, котировки, тики/сделки (за текущий день, история — по подписке), статистические данные (например, по оборотам и открытому интересу), текущие стаканы заявок (по подписке) и многое другое. Бесплатные данные передаются с задержкой 15 минут, но для анализа и выявления внутридневных торговых сигналов с частотой, ниже чем в стратегиях HFT, этого вполне достаточно.
Автор: Stanislav Korotky