Бот по мониторингу биржи Bybit
Разработать Бота, который автоматически мониторит индикатор RSI (Relative Strength Index) на бирже Bybit для топ-100 торговых пар.
Если RSI для любой из торговых пар превышает 70 или опускается ниже 30, бот отправляет уведомление в Telegram с детальной информацией.
Функциональные требования
Подключение к бирже Bybit:
Использовать официальный API Bybit для получения данных о торгах и свечах.
Подключение через API-ключи (предоставляются заказчиком).
Мониторинг индикатора RSI:
Расчёт RSI для каждой из топ-100 торговых пар (по объёму торгов).
Использовать таймфрейм 1 час (1h).
Пороговые значения:
RSI > 70 (перекупленность).
RSI < 30 (перепроданность).
Telegram-уведомления:
Бот должен отправлять сообщение в Telegram с информацией:
Название торговой пары (например, BTC/USDT).
Текущий курс монеты в USDT.
Текущее значение RSI.
Ссылка на торговую пару на платформе Bybit (формат ссылки:
https://www.bybit.com/trade/{SYMBOL}
, гдеSYMBOL
— это название пары без слэша, например,BTCUSDT
).
Сообщение отправляется только один раз для пары при достижении порогового значения, повторное уведомление не должно быть до изменения RSI за пределы порогов (например, RSI должно вернуться в диапазон от 30 до 70).
Работа с топ-100 торговых пар:
Бот должен автоматически загружать топ-100 торговых пар по объёму с Bybit.
Если API Bybit не предоставляет информацию о топ-100, использовать заранее заданный список.
Периодичность мониторинга:
Обновление данных о торговых парах и индикаторах RSI каждые 5 минут.
Ошибки и сбои:
Реализовать обработку ошибок (например, недоступность API, проблемы с сетью).
Логировать все ошибки и события работы бота (например, отправленные уведомления).
Нефункциональные требования
Технологии:
Язык программирования: Python.
Библиотеки:
ccxt
для работы с биржей Bybit.pandas
для расчёта RSI.python-telegram-bot
для работы с Telegram.
Производительность:
Обеспечить минимальное время обработки данных.
Оптимизировать запросы к API Bybit (не превышать лимиты).
Безопасность:
API-ключи Bybit и токен Telegram-бота должны быть конфиденциальными.
Хранение конфиденциальных данных в
.env
-файле или другой защищённой форме.
Тестирование:
Покрыть функциональность бота тестами:
Проверка расчёта RSI.
Проверка отправки уведомлений в Telegram.
Проверка обработки ошибок.
Документация:
Подробная инструкция по настройке и запуску бота.
Описание структуры кода и ключевых компонентов.
Требования к отчету программиста
Список всех топ-100 торговых пар, которые мониторятся.
Логи работы бота за период тестирования (минимум 24 часа).
Подробное описание процесса тестирования и результатов.
Инструкция для пользователя:
Как настроить API-ключи и токен Telegram-бота.
Как запустить бота.
Как интерпретировать уведомления.
Пример сообщения в Telegram
⚠️ RSI Alert
Монета: BTC/USDT
Курс: 42,000.50 USDT
RSI: 72.35
Ссылка: https://www.bybit.com/trade/BTCUSDT
Сроки выполнения
Разработка и тестирование: 5 рабочих дней.
Отладка и исправление багов: 2 рабочих дня.
Предоставление финального отчёта и инструкции: 1 рабочий день.
Общий срок выполнения: 8 рабочих дней.
Дополнительные пожелания
Предоставить возможность легко изменить список торговых пар и таймфрейм (например, через файл конфигурации).
Добавить возможность настройки пороговых значений RSI через файл или интерфейс.
Реализовать логирование работы бота (например, запись в файл
bot_log.txt
).
Если есть дополнительные вопросы по техническому заданию, программист может связаться с заказчиком для уточнения.