Как из MT4 передать данные в другую программу? - страница 2

 

Всем спасибо, выбор сделан.


Остановился на ZeroMQ (https://github.com/dingmaotu/mql-zmq), хоть он, говорят, что полудохлый и я по этой причине искал nanomsg. Версия mql-zmq не обновлялась китайцем с 2017 года, но, тем неменее, она безглючно работает из коробки без всяких перекомпилений библиотек.


Написание провайдера тиков свелось к лёгкому допиливанию примера WeatherUpdateServer.mq4. Соседний пример WeatherUpdateClient.mq4 показывает, как сделать клиента/подписчика. Я просто сую все нужные данные в обычный string через пробел, а у клиента просто разрезаю по пробелу и кастую каждую подстроку в свой тип.


На клиетской стороне использую python, (продукты работы в котором можно будет и на виндовсе запускать, и не только). И для начала просто сделал элементарный питоний скрипт, складирующий полученные тиковые данные в файлы по дням; будет независимо от остальных клиентов заниматься сохранением истории тиков.

Вместо миллисекунд по порядку нумерую тики с одной и той же секундой. Почему-то mt4 в лог свой умеет писать миллисекунды, а пользователю в mql4 эту функцию разработчики постеснялись дать.


А для обработки тиковых данных решил пользовать pyqtgraph и PyQt5, это, говорят, самое быстрое, что есть для питона. Думаю себе написать более интересную и расширенную рисовалку графиков вместо стандартного терминала MT4|5. А дальше можно будет и с нейросетями поиграться, благо, питон под них весьма заточен.

Начал пока с лёгкого перепиливания под PyQt5 вот этого примера Writing a client for a zeromq service.


Алексей Тарабанов:

Дурак. 

Сам такой :Р


ALEKSEJ CIGILEJCIK, достойно. Но для моих задач это слишком низкий уровень абстракции. Тут гораздо удобней таки сериализовать в строку и в первое слово писать тип сообщения.

dingmaotu/mql-zmq
dingmaotu/mql-zmq
  • dingmaotu
  • github.com
This is a complete binding of the ZeroMQ library for the MQL4/5 language provided by MetaTrader4/5. Traders with programming abilities have always wanted a messaging solution like ZeroMQ, simple and powerful, far better than the PIPE trick as suggested by the official articles. However, bindings for MQL were either outdated or not complete...
 
vipermagi:

Всем спасибо, выбор сделан.


Остановился на ZeroMQ (https://github.com/dingmaotu/mql-zmq), хоть он, говорят, что полудохлый и я по этой причине искал nanomsg. Версия mql-zmq не обновлялась китайцем с 2017 года, но, тем неменее, она безглючно работает из коробки без всяких перекомпилений библиотек.


Написание провайдера тиков свелось к лёгкому допиливанию примера WeatherUpdateServer.mq4. Соседний пример WeatherUpdateClient.mq4 показывает, как сделать клиента/подписчика. Я просто сую все нужные данные в обычный string через пробел, а у клиента просто разрезаю по пробелу и кастую каждую подстроку в свой тип.


На клиетской стороне использую python, (продукты работы в котором можно будет и на виндовсе запускать, и не только). И для начала просто сделал элементарный питоний скрипт, складирующий полученные тиковые данные в файлы по дням; будет независимо от остальных клиентов заниматься сохранением истории тиков.

Вместо миллисекунд по порядку нумерую тики с одной и той же секундой. Почему-то mt4 в лог свой умеет писать миллисекунды, а пользователю в mql4 эту функцию разработчики постеснялись дать.


А для обработки тиковых данных решил пользовать pyqtgraph и PyQt5, это, говорят, самое быстрое, что есть для питона. Думаю себе написать более интересную и расширенную рисовалку графиков вместо стандартного терминала MT4|5. А дальше можно будет и с нейросетями поиграться, благо, питон под них весьма заточен.

Начал пока с лёгкого перепиливания под PyQt5 вот этого примера Writing a client for a zeromq service.


Сам такой :Р


ALEKSEJ CIGILEJCIK, достойно. Но для моих задач это слишком низкий уровень абстракции. Тут гораздо удобней таки сериализовать в строку и в первое слово писать тип сообщения.

Очень правильный выбор. У него кстати очень интересные мысли о собственно языке MQL4/5 которые он реализовал в библиотеке mql4-lib. К сожалению слабо документирован и больше не поддерживается, но работает без "допиливания". Собственно интересна идея заложенная в библиотеку. Я к сожалению не того уровня программист чтобы разобраться досконально в ней. Думаю, что для fxsabera эта библиотека представляла бы интерес.

Удачи

dingmaotu/mql4-lib
dingmaotu/mql4-lib
  • dingmaotu
  • github.com
MQL4/5 programming language provided by MetaQuotes is a very limited version of C++, and its standard library is a clone of the (ugly) MFC, both of which I am very uncomfortable with. Most MQL4 programs have not adapted to the MQL5 (Object Oriented) style yet, let alone reuable and elegant component based design and programming. mql4-lib is a...
Причина обращения: