Неприятный сюрпрайз о тиковых данных CME Globex в MT5 - страница 2

 
NastyaMaley #:

Для доступа к чистому API уже просят указать Company Name. https://www.cmegroup.com/market-data/market-data-api.html Значит, и правда, его дают только юрикам. Физику подключиться к бирже по API напрямую не вариант. Вариант - только сторонние поставщики. 

куда и как вы эти потоки собираетесь подключить ? :-) 

скорее всего (на 99%) уверен, что у вас нет технической возможности. Нет нужного софта. Иначе такой вопрос просто бы не возник 

ещё и санкции-фиганции, существенные юридические сложности и скорее всего НЕТ - cmegroup откажет

во времена когда трава была зеленее, через агрегаторов цена была порядка 80-100. Бегло глянул - вроде как всё так-же. С оплатой и аккаунтами, не знаю. Не в настроении проходить такой забавный квест

да и вообще всё это выходит за рамки MQL и MetaTrader

 
Maxim Kuznetsov #:

куда и как вы эти потоки собираетесь подключить ? :-) 

скорее всего (на 99%) уверен, что у вас нет технической возможности. Нет нужного софта. Иначе такой вопрос просто бы не возник 

ещё и санкции-фиганции, существенные юридические сложности и скорее всего НЕТ - cmegroup откажет

во времена когда трава была зеленее, через агрегаторов цена была порядка 80-100. Бегло глянул - вроде как всё так-же. С оплатой и аккаунтами, не знаю. Не в настроении проходить такой забавный квест

да и вообще всё это выходит за рамки MQL и MetaTrader

Ничего никуда не выходит ))
Сокеты, вебсокеты, rest, dll доступны из mql5.
Вопрос в выборе протокола передачи данных, от этого и будет зависеть стоимость и доступность в общем.
Санкции и бизнес - разные вещи.
Законы разных штатов так-же могут быть разные.
Например в NY будет запрет, а в CH нет ))
Обычно когда есть запрет для какой-то из стран, то её не отображают в списке стран.
То есть форма даже не даст отправить сообщение.
Только возникает вопрос о целесообразности всего мероприятия, без торгового фида.
Если конечно торговый фид будет нужен в дальнейшем, то придётся его брать отдельно у брокера.
Тогда уж лучше сразу всё брать у брокера из любого поставщика.

fm

 
Maxim Kuznetsov #:

куда и как вы эти потоки собираетесь подключить ? :-)

В MT5 можно же любые данные транслировать. Функции  CustomTicksAdd и CustomTicksReplace https://www.mql5.com/ru/book/advanced/custom_symbols/custom_symbols_ticks

Допустим. Получилось купить у CME доступ к API. Пишем простейшего советника с void OnTimer(), который через каждую миллисекунду долбит этот API. Сортируем их. И через CustomTicksAdd транслируем в МТ5. На первый взгляд все выглядит просто. Хз, правда, как на практике будет. 

Ради интереса напишу через эту форму менеджерам CME. Посмотрим, что ответят :)

Учебник по MQL5: Расширенные средства языка / Пользовательские символы / Добавление, замена и удаление тиков
Учебник по MQL5: Расширенные средства языка / Пользовательские символы / Добавление, замена и удаление тиков
  • www.mql5.com
MQL5 API позволяет формировать историю пользовательского символа не только на уровне баров, но и тиков. Таким образом, можно добиться большего...
 
NastyaMaley #:

В MT5 можно же любые данные транслировать. Функции  CustomTicksAdd и CustomTicksReplace https://www.mql5.com/ru/book/advanced/custom_symbols/custom_symbols_ticks

Допустим. Получилось купить у CME доступ к API. Пишем простейшего советника с void OnTimer(), который через каждую миллисекунду долбит этот API. Сортируем их. И через CustomTicksAdd транслируем в МТ5. На первый взгляд все выглядит просто. Хз, правда, как на практике будет. 

На практике будет множество сюрпризов. Это не так просто, как кажется, есть нюансы.

 
NastyaMaley #:

В MT5 можно же любые данные транслировать. Функции  CustomTicksAdd и CustomTicksReplace https://www.mql5.com/ru/book/advanced/custom_symbols/custom_symbols_ticks

Допустим. Получилось купить у CME доступ к API. Пишем простейшего советника с void OnTimer(), который через каждую миллисекунду долбит этот API. Сортируем их. И через CustomTicksAdd транслируем в МТ5. На первый взгляд все выглядит просто. Хз, правда, как на практике будет. 

Ради интереса напишу через эту форму менеджерам CME. Посмотрим, что ответят :)

Если использовать mql5 функции, то необходим так называемый OpenApi, чтоб самому обрабатывать предоставляемый протокол и строить всю логику обработки.
Поэтому необходимо разбираться в низкоуровневых протоколах. Например на той странице где была форма, в первом абзаце предлагается вебсокет протокол.
Вторым абзацем REST запросы и т.д. Всё это конечно реализуемо в mql5, но если сокеты, то только хардкор на низком уровне с разбором протокола.
Как написал Андрей, не всё так просто как кажется, самому обработать например вебсокет протокол. Если хардкор, то искать на сайте статьи на эту тему,
если упростить себе жизнь, то в маркете есть библиотека по вебсокету. Это что касалось OpenApi.
Бывает, что не дают OpenApi, а дают готовые dll библиотеки, с ними уже проще, просто подключаешь и дёргаешь нужные функции из dll.
Но всё равно строить логику обработки необходимо грамотно. И в большинстве случаев потом надо будет пройти проверку на бирже, на корректное выполнение сетевой программы.



 
Roman #:

Если использовать mql5 функции, то необходим так называемый OpenApi, чтоб самому обрабатывать предоставляемый протокол и строить всю логику обработки.
Поэтому необходимо разбираться в низкоуровневых протоколах. Например на той странице где была форма, в первом абзаце предлагается вебсокет протокол.
Вторым абзацем REST запросы и т.д. Всё это конечно реализуемо в mql5, но если сокеты, то только хардкор на низком уровне с разбором протокола.
Как написал Андрей, не всё так просто как кажется, самому обработать например вебсокет протокол. Если хардкор, то искать на сайте статьи на эту тему,
если упростить себе жизнь, то в маркете есть библиотека по вебсокету. Это что касалось OpenApi.
Бывает, что не дают OpenApi, а дают готовые dll библиотеки, с ними уже проще, просто подключаешь и дёргаешь нужные функции из dll.
Но всё равно строить логику обработки необходимо грамотно. И в большинстве случаев потом надо будет пройти проверку на бирже, на корректное выполнение сетевой программы.

Понятно. Без специфических знаний проект CME-MT5 труднореализуем.

 
NastyaMaley #:
В MT5 можно же любые данные транслировать. Функции  CustomTicksAdd и CustomTicksReplace https://www.mql5.com/ru/book/advanced/custom_symbols/custom_symbols_ticks

Транслировать - это полдела. Надо еще торговать.

 
Ivan Titov #:

Транслировать - это полдела. Надо еще торговать.

Для моего алгоритма первичны именно качественные тиковые данные. Я торгую всего одним инструментом - фьючерсом на EUR/USD. Сами трейды можно отправлять хоть на саму CME через множество CME-брокеров, хоть на ФОРЕКС через любого ecn-брокера. Лимитки, таким маленьким трейдерам как я, из-за специфических алгоритмов исполнения у CME, использовать не вариант. CME часть ликвидности отдает не первым на этой цене по времени стакане, а крупняку и ММ, если ММ влез на уровень твоей лимитки. Остается только бить по рынку. По убыткам то же на то же выходит. Тебя не берет по лимитке, и ты пропускаешь трейд, и поэтому недозарабатываешь. Что ты теряешь на проскальзываниях и спреде у ecn-брокеров.

 
NastyaMaley #:

Понятно. Без специфических знаний проект CME-MT5 труднореализуем.

Всё зависит от того, какую реализацию доступа к api они предоставляют.
Если это OpenApi wss да еще и с сжатием сообщений, то в mql5 придётся помучится со всеми страданиями.
Если это wss dll библиотека, то проще, но подводный камень может быть в том, что mt5 может и не принять её,
так-как есть нюансы по линковке в среду мт5, и спецификации о соглашениях вызова функций из библиотеки.
Ещё как вариант могут быть облачные функции, т.е. подключаешься по сокету и в сообщениях отправляешь имена функций с параметрами.
Какая реализация того или иного api будет предоставлена биржей, из того и надо будет исходить. И тогда будет понятна сложность реализации. 

 
Roman #:

Всё зависит от того, какую реализацию доступа к api они предоставляют.
Если это OpenApi wss да еще и с сжатием сообщений, то в mql5 придётся помучится со всеми страданиями.
Если это wss dll библиотека, то проще, но подводный камень может быть в том, что mt5 может и не принять её,

Да, на текущий момент, пожалуй, имеет смысл взять wss-клиент на каком-нибудь node.js (есть выбор), и к нему прикрутить раздачу на локальные MT5 по любой технологии (wss (без сжатия!), http, etc).