CCXT на MQL5: Унифицированная библиотека для работы с криптобиржами - альфа-тестирование

24 сентября 2018, 12:29
Stanislav Korotky
3
1 321
CCXT, одна из наиболее популярных библиотек для работы с широким набором криптобирж, переводится в среду MetaTrader. CCXT - это CryptoCurrency eXchange Trading Library, доступная в исходных кодах на GitHub (https://github.com/ccxt/).

Изначально разрабатываемая на JavaScript, она параллельно поддерживается для нескольких других языков программирования путем "транспайлинга". Её абсолютно точный перевод на MQL5 затруднен из-за отсутствия некоторых языковых возможностей, таких как, например, замыкания и исключения. В связи с этим, а также в целях еще большего развития идеи универсальности, структура библиотеки существенно изменена в MQL5. Непосредственно на MQL5 реалируется только основной класс биржи CcxtExchange, и он собственно и является библиотекой. Всё остальное - алгоритмы по настройке http-запросов и преобразованию получаемых данных для конкретных бирж - описываются на специальном языке в файлах формата json, и интерпретируются ядром библиотеки. Если в исходной библиотеке каждая биржа - это производный класс, то в библиотеке CCXTMT каждая биржа - это файл json. Формат json был выбран, поскольку он является практически единым форматом API криптобирж.

Правила преобразования json-данных описываются в настроечном json-файле

Правила преобразования json-данных описываются в настроечном json-файле


Вот основные плюсы библиотеки с точки зрения пользователей (внимание: речь о пользователях библиотеки, то есть программистах).

Унифицированный API позволяет:
  • не изучать API конкретных бирж; 
  • (в перспективе) сразу получить доступ к большому числу криптобирж и без накладных расходов строить различные торговые стратегии, включая арбитражные;
  • не требовать перекомпиляции ядра и не ждать распространения обновлений в случае изменений в логике работы поддерживаемых бирж;
  • самостоятельно добавлять новые биржи;
Более подробно о структуре и возможностях CCXTMT рассказано в файле документации, который распространяется вместе с альфа-версией. 

Библиотека находится на начальной стадии разработки (далеко не все возможности исходной CCXT реализованы, баги следует ожидать практически в любом месте). В силу новых архитектурных особенностей библиотеки, для поддержки различных криптобирж необходимо создавать и тестировать настроечные json-файлы. В связи с этим приветствуется помощь со стороны программистов, желающих принять участие в альфа-тестировании.

Пожелания к кандидатам: уверенное владение MQL5, знакомство с json и веб-технологиями, наличие учетных записей на криптобиржах. Настоятельно рекомендуется разобраться в логике работы и документации оригинальной библиотеки CCXT. Активные тестеры и настройщики получат окончательную версию библиотеки.

По поводу участия обращайтесь в личку.
Поделитесь с друзьями: