Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо реализовать на языке Perl подключение к бирже Bittrex.com через websocket и получение информации для формирования «локальной копии» биржевого стакана (orderbook). 

Задача:  

1) получать информацию (поддерживать актуальное состояние стакана цен) по нескольким валютным парам одновременно. Например, USD-BTC, USD-ETH, USD-XRP, USDT-BTC, USDT-ETH, USDT-TRX, BTC-ETH, BTC-TRX, BTC-LTC, ETH-XRP, ETH-BCH, ETH-ETC, 

2) в случае изменения лучшей цены продажи или покупки по одной из вышеперечисленных пар, дописать в файл с именем формата «price_change_dd.mm.yy.log» строку вида «dd.mm.yy-hh.mm.ss,pair_name,ask_price,ask_volume, bid_price,bid_volume», где «pair_name» – одна из валютных пар перечисленных выше, «ask_price,ask_volume,bid_price,bid_volume» – лучшая цена покупки, объем этой покупки, лучшая цена продажи, объем этой продажи соответственно. 

Скрипт должен: 

- запускаться на ОС Linux и Windows (Perl от ActiveState), 

- стабильно работать 24/7 без необходимости перезапуска, следить за подключением к бирже и автоматически восстанавливать подключение при разрыве, 

- логировать существенные события и ошибки в CSV формате («dd.mm.yy-hh.mm.ss,event/error_name,details») в файл с именем формата «working_dd.mm.yy.log» и «errors_dd.mm.yy.log» соответственно, 

- получать информацию (поддерживать актуальное состояние стакана цен) по нескольким валютным парам одновременно, 

- проверять актуальность текущего стакана цен, а в случае рассинхронизации, выполнять ресинхронизацию по необходимой валютной паре (плюс запись в лог-файл момента рассинхронизации, ее причины и момента восстановления), 

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

Необходимо предусмотреть: 

- возможность расширена функционала в части получения информации для которой требуется авторизация, например состояние баланса, 

- подключения к другим биржам с целью получения аналогичной информации о котировках и др. 

Дополнительные требования: 

- скрипт должен быть «thread safe», включая используемые модули, 

- информация из биржевого стакана и флаги доступности торгов, состояния синхронизации должна быть доступна в других тредах. 

Сразу указывайте примерные сроки и цену

Пример реализации на Python: github.com/slazarov/pytho...

6 лет назад
selisotos
Андрей 
37 лет
6 лет в сервисе
Был
6 лет назад

Заявки фрилансеров

Нет заявок фрилансеров