Сервер ZeroMQ + JSON

 

Добрый день, форумчане.

 

Разработка MQL5 сервера для питонячего торгового фреймворка Backtrader вылилась в самостоятельный проект. Серверная часть работает на сокетах ZeroMQ и общается через JSON. Может быть использована с любым ЯП, который имеет имплементацию ZeroMQ.

Краткий функционал:

- конфигурирование скрипта через JSON

- информация о счете/балансе

- получение исторических данных

- управление ордерами

- управление позицией

- транслирование свечи при закрытии

- транслирование данных OnTradeTransaction

https://github.com/khramkov/MQL5-JSON-API

Любые Ваши идеи и участие в проекте приветствуются.

khramkov/MQL5-JSON-API
khramkov/MQL5-JSON-API
  • khramkov
  • github.com
<a href="#metaquotes-mql5
 
Jolian:

Добрый день, форумчане.

 

Разработка MQL5 сервера для питонячего торгового фреймворка Backtrader вылилась в самостоятельный проект. Серверная часть работает на сокетах ZeroMQ и общается через JSON. Может быть использована с любым ЯП, который имеет имплементацию ZeroMQ.

Краткий функционал:

- конфигурирование скрипта через JSON

- информация о счете/балансе

- получение исторических данных

- управление ордерами

- управление позицией

- транслирование свечи при закрытии

- транслирование данных OnTradeTransaction

https://github.com/khramkov/MQL5-JSON-API

Любые Ваши идеи и участие в проекте приветствуются.

Это интересно, но не могли бы Вы поподробней описать(может со структурной схемой) взаимодействие ЯП <-> MQL(MT ?). Я например первый раз слышу о ZeroMQ. Ваш GIT и сайт ZeroMQ просмотрел, но пока не совсем понял.

 

Кроме того нужно иметь ввиду, что в МТ5 уже реализованы сокеты а получать котировки (очень быстро!) можно напрямую с терминала с помощью пакета MetaTrader. Много лишнего. 

Нужно разбираться. Поможете?

 
Jolian:

Добрый день, форумчане.

В вашем проекте самое интересное, это Zmq/Zmq.mqh, однако его нет ни в одном из Ваших двух публичных проектов, хотя ссылки на файл в проекте MQL5-JSON-API присутствуют, поэтому проект невозможно будет скомпилировать. Это намеренно сделано?

Интересно как Вы реализовали Zmq.mqh - нативно для MQL5 или как просто файл-прослойку к одному из ЯП где есть поддержка ZeroMQ.

 
Jolian:

...

- конфигурирование скрипта через JSON

...

Вижу парсер JSON в Вашем проекте. Это само по себе ценно. Не могли бы выложить его в CodeBase?

 

По факту у Вас три независимых проекта:

  • ZeroMQ
  • Парсер JSON
  • MQL5 DataProvider

Было бы логично вести их отдельно.
 
Vasiliy Sokolov:

В вашем проекте самое интересное, это Zmq/Zmq.mqh, однако его нет ни в одном из Ваших двух публичных проектов, хотя ссылки на файл в проекте MQL5-JSON-API присутствуют, поэтому проект невозможно будет скомпилировать. Это намеренно сделано?

Интересно как Вы реализовали Zmq.mqh - нативно для MQL5 или как просто файл-прослойку к одному из ЯП где есть поддержка ZeroMQ.

https://github.com/dingmaotu/mql-zmq

ZMQ это прокладка поверх сокетов. В мт5 сокеты есть и так

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...
 
Maxim Dmitrievsky:

https://github.com/dingmaotu/mql-zmq

ZMQ это прокладка поверх сокетов. В мт5 сокеты есть и так

Я в курсе что такое ZeroMQ. А вот за ссылочку спасибо!

 
Vasiliy Sokolov:

Вижу парсер JSON в Вашем проекте. Это само по себе ценно. Не могли бы выложить его в CodeBase?

думаю, парсер "честно" стянут с кодебазы)

JSON Serialization and Deserialization (native MQL)
JSON Serialization and Deserialization (native MQL)
  • www.mql5.com
Сериализация и десериализация JSON-протокола. Портированный код со скоростной библиотеки С++. Практичный пример: авторизация на сайте и парсинг ответа Благодарности принимаются в виде примеров, кто как применяет MQL для работы с веб-ресурсами. Поделитесь своим опытом работы с JSON в MQL. В протокол добавлены функции Escape / Unescape...
 
Taras Slobodyanik:

думаю, парсер "честно" стянут с кодебазы)

Парсер стянут с кодебазы, Zmq у китайца... Что же остается в остатке? Хотя сделано по современному, по питоничьи: объединил несколько либ, добавил чуть своих строк, и все это гордо назвал ПРОЕКТ. Ай молодца;)

 
Китаец конечно молодца! Правда давно не обновлялось. Кто нибудь пробовал на работоспособность его библиотек?
Причина обращения: