VIZANIXРазработка · Автоматизация · Дизайн

ИНЖЕНЕРНЫЙ КЕЙС · Bybit · USDT-перпетуалы · продакшн

Торговый бот для Bybit

Мультиключевой исполнитель на Bybit V5: поток свечей, сигнальный движок, брекет-выходы и полноценный пульт в Telegram.

Задача: Клиент торговал разворотную схему руками и стабильно пропускал входы ночью. Нужно было, чтобы несколько аккаунтов работали независимо — каждый со своими параметрами и своим набором монет — и без человека перед экраном.

РЕАЛИЗАЦИЯ

Что было построено

  • Bybit V5 REST и WebSocket на unified trading account
  • Шардированный поток свечей: одно соединение перестаёт быть точкой отказа
  • Сигнальный движок: серия свечей и RSI по каждой монете на каждом таймфрейме
  • Лимитный вход со временем жизни и досрочной отменой, если движение случилось без нас
  • Брекет при заливке: до пяти частичных take-profit и один стоп, размеры от импульса
  • Расчёт объёма с учётом комиссии входа и стопа — до того, как это сделает биржа
  • Лестница повторов при «недостаточно средств»: ужать объём и переставить, до пяти попыток
  • Скользящий архив свечей за 7 суток с автоматическим доливом
  • Пульт в Telegram: ключи, параметры, универсум монет, статистика, позиции

ИЗМЕРЕНИЯ

Инженерные характеристики

725монет в живом потоке
10 / 10WebSocket-шардов подключено
1 850подписанных топиков
1 450буферов свечей (монета × ТФ)
~900/ссообщений в устойчивом режиме
±40 мсрасхождение часов с биржей
1,2 млнсообщений за одну сессию
15 тыс.строк кода приложения
5 тыс.строк тестов

Цифры описывают поведение ПО и сняты с работающей системы. Заказчик, параметры стратегии и финансовый результат остаются под NDA; обложка — схема, а не скриншот клиентской системы.

СЛОЖНОСТЬ

Что нельзя было упростить

Частичные исполнения и лимиты API. Наполовину налитая GTC-лимитка оставляет позицию, которую никто не планировал, а наивное решение — ждать TTL — оставляет риск непокрытым. Второе — переподключения: обрыв WebSocket не должен порождать дубли ордеров.

РЕШЕНИЕ

Как закрыли риск

Явная машина состояний ордера. Частично исполненный вход снимает остаток сразу, не дожидаясь TTL, а исполненная часть либо закрывается по рынку, либо получает брекет — по настройке. При переподключении бот восстанавливает последовательность и сверяется с биржей, прежде чем ему разрешено что-либо отправлять.

КОНТАКТ

Расскажите о задаче

Достаточно короткого описания и одного контакта. Мы не просим биржевые ключи, пароли или чувствительные данные.

Или напишите напрямую · @vx_ceo

Укажите email или Telegram — хотя бы одно поле.