С нуля разработал торгового бота для фьючерсов USDT на Bybit (BTC/ETH, только лонг), которым полностью управляют через Telegram. Вход по RSI по двухлинейной логике: линия взводится, когда свеча закрывается ниже нее, а сделка открывается на первом пересечении линии вверх внутри свечи по тиковым данным. Тейк-профит (лимитная заявка на бирже), стоп-лосс и безубыток меняются на лету из панели "Уровни" с подтверждением и ценой. Отдельным этапом по запросу заказчика добавил автозапуск по индексу: бот следит за RSI контракта SPYUSDT (S&P 500 на Bybit) и включает торговлю, когда RSI пересекает заданную границу сверху вниз. После каждой сделки бот заново проверяет индекс и решает, продолжать или ждать нового сигнала. Логика на конечных автоматах защищена, переживает обрывы WebSocket и рестарты сервера, восстанавливая режим, позицию и настройки. Настройки (таймфрейм от 3м до 1д, период RSI, границы, размер, плечо) сохраняются между перезапусками, а запуск на реальном счете требует подтверждения в Telegram. Код покрыт 337 автотестами, логика проверена живым прогоном на Bybit Demo. Бот развернут на VPS как systemd-сервис с ротацией логов, SSH по ключу, фаерволом и fail2ban.
Стек: Python 3.11, asyncio, aiogram 3, aiohttp, aiohttp-socks, Bybit API V5 (REST, WebSocket), python-dotenv, pytest, Ubuntu, systemd, uv, ufw, fail2ban, logrotate, Git/GitHub.