Торговый бот Coinlist
Coinlist — сервис для проведения ICO криптовалют (токенсейлы).
Как проходит процесс?
На токенсейл регистрируется огромное количество участников. В указанное время нужно зайти на страницу распродажи. Система случайным образом назначает номер очереди каждому участнику. Начинаются покупки в порядке очереди. Как правило могут купить только около 30.000 из 1.000.000 участников. С такой системой очень мало шансов.
Coinlist запустил карму.
Карма — это баллы или рейтинг аккаунта. Выполняя определенные задания ты повышаешь карму. С высокой кармой можно получить доступ к приоритетной очереди на токенсейле. Я, прокачав карму, каждый раз получал приоритетную очередь и всегда мог купить на ней криптовалюту. Значит нужно качать карму!
Coinlist запустил недельную карму.
Предыдущие задания были одноразовыми и ограниченными. Выполнил один раз — получил свои баллы и все. Теперь нужно выполнять еженедельные повторные задания, а именно — торговать на их бирже. Нужно просто проторговывать объем $5.000 на любой валютной паре для получения максимальной кармы.
Проблема.
Комиссии и спред на их бирже очень большие. Ликвидности мало. Для проторговки такого объема требуется очень много денег и времени. Да и не трейдер я, уж тем более не краткосрочный.
Решение.
Разработать бота, который будет сам торговать каждую неделю необходимый объем. Не с целью заработка, а с целью проторговки объема для прокачки аккаунта. Автоматизация процесса с возможностью управления и получения уведомлений.
Я разработал телеграм бота. Он каждую неделю начинает торговать на паре стейблойнов (крипто-доллары 1:1), чтобы был минимальный спред. Ликвидности там еще меньше, но боту это не важно, он может целую неделю торговать.
Функциональность бота:
- Ручная настройка торгового объема на неделю.
- Ручная настройка объема ордера.
- Добавление нескольких аккаунтов.
- Оповещение о начале и окончании торгов, а также о сбоях.
- Остановить торги.
- Отслеживание статуса торгов — сколько еще осталось.
- Просмотр истории торгов, в том числе расходов при торговле.
- Автоматическое определение баланса и подстраивание под него. Бот может самостоятельно уменьшать объем ордера и переливать деньги из одной монеты в другую.
Бот разрабатывался в первую очередь для себя. С задачей он отлично справлялся. Затем я решил “упаковать” его для всех. Настроил авторизацию для любого желающего. Разработал систему оплаты через криптовалюту — покупка внутренней валюты бота, которая тратится при торговле за объем. Также каждому в начале дается некоторая сумма валюты, чтобы опробовать бота.
При небольшой рекламе ботом стали пользоваться люди и оплачивать его.
Реализация.
Бот разрабатывался на Python3 при помощи библиотеки telebot. Сам бот-телеграм — это внешний интерфейс для управления ПО. ПО работает на сервере в фоновом процессе с поддержкой от supervisor. Используется параллелизм процессов — один процесс на каждый аккаунт. Общий процесс управляет всеми этими дочерними процессами. Данные хранятся в базе данных MariaDB. Стейт машина для бота и ПО хранит все состояния и прочие данные в базе данных. Работа с coinlist настроена через их API.
Стек разработки:
- telegram
- python
- telebot
- threading — параллелизм процессов
- API coinlist — торговля на бирже
- API методы для чтения блокчейна при оплате криптовалютой
- mariaDB
- supervisor
- VPS, Centos 7, ISPManager
При некоторых сбоях на бирже coinlist бот временно недоступен.