{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Как OrbitSoft автоматизировал торговлю на бирже криптовалюты с помощью бота

Трейдеры получают прибыль на биржах от курсовой разницы

Трейдеры — активные участники биржи. Они отслеживают курсы валют и проводят сделки купли-продажи, чтобы извлекать прибыль.

Криптовалютные биржи работают по аналогичному принципу, только с биткоином, эфириумом и другими цифровыми валютами.

Доход от сделок зависит от способности трейдера к анализу рыночной ситуации и быстроты реакции. Чем больше эффективных сделок, тем выше прибыль игрока.

Задача: создать алгоритм для трейдинга на биржах криптовалют

В 2017 году в OrbitSoft обратилась американская компания за разработкой робота для сделок с криптовалютой. Задача — автоматизировать покупку и продажу криптовалют на бирже для получения прибыли.

Необходим был алгоритм, который работает как трейдер — анализирует курсы криптовалют и совершает сделки. Чем больше разница (спред) между ценой покупки и продажи, тем выше прибыль.

Чтобы максимизировать доход заказчика, алгоритм должен был уметь:

  • постоянно мониторить рынок, чтобы купить валюту по выгодной цене;
  • подавать заявки на покупку и продажу;
  • переводить деньги на разные биржи, где торгуется нужная криптовалюта;
  • собирать аналитику по сделкам и прогнозировать изменение цены;
  • присылать отчеты заказчику о сделках

Решение: разработка алгоритма для совершения сделок, анализа данных и представления отчетов

OrbitSoft предоставил заказчику комплексное решение, которое автоматически покупает и продает криптовалюту на разных биржах с использованием API. Система состоит из 3 модулей

Сбор и анализ данных.

Постоянно собирает данные через API: курсы криптовалют, сделки за период и последние транзакции. После анализа данных программа предлагает решение в соответствии со стратегией трейдера

Взаимодействие с биржами.

Создает и отменяет биржевые заявки, открывает и закрывает позиции по сделкам, обновляет статус сделки.

Статистика по сделкам.

Обрабатывает данные по транзакциям, считает эффективность и ведет детальный учет.

Расскажем подробнее, как работает и что умеет алгоритм.

Использует стратегию арбитража и триангуляции

Биржевой арбитраж — последовательные сделки, которые приносят доход от разницы цен на разных биржах.

Например, робот выбирает пару «биткоин/доллар» (BTC/USD) на биржах, А и В. Он отслеживает, когда есть разница в ценах на биткоин на двух биржах, и делает последовательные шаги: покупает на бирже, А и продает на бирже B.

Стратегия триангуляции использует расхождение курсов трех криптовалют и выявляет пары валют с наибольшей прибылью. На выбранные пары алгоритм одновременно выставляет три заявки: две на покупку и одну на продажу. Прибыль появляется за счет разницы курсов.

Все сделки могут проходить в рамках одной биржи или сразу на нескольких биржах.

Например, робот покупает криптовалюту DASH за доллары США, затем криптовалюту EMC за DASH и продает EMC за доллары США.

USD → DASH → EMC → USD

Сравнивает не только курсы валют, но и комиссии бирж за сделки

Из прибыли по сделкам нужно вычесть комиссию биржи. Она может составлять от 1 до 15% от прибыли. Робот учитывает размер комиссий при расчетах эффективности сделки.

Получает данные и рассчитывает спреды внутри и между биржами

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

Алгоритм определяет вероятные временные интервалы, в которых спред между биржами будет держаться на необходимом уровне. Он находит наиболее выгодное значение спреда для покупок, а при достижении максимальных значений спреда сигнализирует системе о размещении заявки на покупку или продажу.

На данный момент интегрированы следующие биржи:

  • kraken.com
  • bittrex.com
  • bitfinex.com
  • binance.com
  • poloniex.com
  • hitbtc.com
  • livecoin.net
  • dsx.uk
  • bitstamp.net
  • gatecoin.com
  • bitmex.com
  • xbtce.com
  • cryptopia.co.nz

Интегрирована работа со всеми валютными парами, представленными на биржах.

Предсказывает вероятную цену и анализирует доступные объемы валюты

Чтобы осуществлять арбитражную стратегию, трейдер определяет рыночные цены для заданного объема криптовалюты. Алгоритм предсказывает цену на основе анализа заявок. Он учитывает скрытые ордера и заявки stop loss и take profit. Анализирует предложения о покупке и продаже в стакане и доступный объем валюты.

Умеет одновременно ставить, отменять и проверять статус заявок на бирже

Робот работает со следующими типами заявок или ордеров: market, limit, fill или kill. Априори используется ордер типа market. Если он не найден или не поддерживается, то робот применяет fill or kill или limit.

Работа с ордерами ведется для следующих бирж:

• kraken.com

• bittrex.com

• poloniex.com

• hitbtc.com

• livecoin.net

• dsx.uk

• xbtce.com

Решает проблемы с отменой или сбоем при размещении заявки

В процессе выставления и исполнения заявок могут возникать следующие проблемы:

— изменение цены после отправки ордера;

— отмена транзакции;

— неполное выставление заявки или неполная сделка.

OrbitSoft провел серию тестов алгоритма на случай, если ордер выставлен на одной бирже и не выставлен, отменен или сброшен на второй.

В результате мы учли возможные проблемы и разработали защитный механизм, который позволяет успешно выставить заявку в пределах существующего спреда.

Представляет анализ и отчетность в удобном, наглядном виде

Робот показывает спреды и базы заявок в виде наглядного графика.

Для передачи данных заказчику разработан Telegram-бот. Он получает все уведомления о доставке, отмене и исполнении заявок и отправляет оповещения через Telegram.

На графике могут быть представлены спреды на биржах и между биржами. А также книги заявок с аналитикой за период и отсортированные по объему сделок

Пример отчета о прогрессе и исполнении заявок на бирже

Условия и ограничения алгоритма

Предлагаемое решение эффективно при соблюдении следующих условий:

  • Достаточный размер спреда и объемов торгов.

Для арбитража между биржами:

  • объем спреда между биржами в процентах превышает совокупную комиссию по сделкам;
  • схождение и расхождение спредов в приемлемые сроки;
  • необходимый объем торгов на биржах для проведения операций и исполнения заявок в заданные промежутки времени.

Для триангуляции внутри одной биржи:

  • курсовая разница между валютными парами превышает комиссию за операции с заявками на бирже;
  • необходимое количество валютных пар на бирже;
  • необходимый объем торгов на биржах для проведения операций исполнения ордеров в заданные промежутки времени.
  • Сильная волатильность рынка криптовалют для эффективного трейдинга.
  • Возможность работать с биржей по API, чтобы отправлять заявки и получать данные.
  • Возможность работать с биржами на сокетах, чтобы сохранять неразрывное подключение и обмен данными.
0
Комментарии
-3 комментариев
Раскрывать всегда