Сервер ZeroMQ + JSON

Jolian  

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

 

Разработка 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
Vladimir Perervenko  
Jolian:

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Vladimir Perervenko  

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

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

Vasiliy Sokolov  
Jolian:

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

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

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

Vasiliy Sokolov  
Jolian:

...

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

...

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

Vasiliy Sokolov  

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

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

Было бы логично вести их отдельно.
Maxim Dmitrievsky  
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...
Vasiliy Sokolov  
Maxim Dmitrievsky:

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

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

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

Taras Slobodyanik  
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...
Vasiliy Sokolov  
Taras Slobodyanik:

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

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

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