Бот по мониторингу биржи Bybit

Александр16 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
29.11.2024

Разработать Бота, который автоматически мониторит индикатор RSI (Relative Strength Index) на бирже Bybit для топ-100 торговых пар.

Если RSI для любой из торговых пар превышает 70 или опускается ниже 30, бот отправляет уведомление в Telegram с детальной информацией.

Функциональные требования

  1. Подключение к бирже Bybit:

    • Использовать официальный API Bybit для получения данных о торгах и свечах.

    • Подключение через API-ключи (предоставляются заказчиком).

  2. Мониторинг индикатора RSI:

    • Расчёт RSI для каждой из топ-100 торговых пар (по объёму торгов).

    • Использовать таймфрейм 1 час (1h).

    • Пороговые значения:

      • RSI > 70 (перекупленность).

      • RSI < 30 (перепроданность).

  3. Telegram-уведомления:

    • Бот должен отправлять сообщение в Telegram с информацией:

      • Название торговой пары (например, BTC/USDT).

      • Текущий курс монеты в USDT.

      • Текущее значение RSI.

      • Ссылка на торговую пару на платформе Bybit (формат ссылки: https://www.bybit.com/trade/{SYMBOL}, где SYMBOL — это название пары без слэша, например, BTCUSDT).

    • Сообщение отправляется только один раз для пары при достижении порогового значения, повторное уведомление не должно быть до изменения RSI за пределы порогов (например, RSI должно вернуться в диапазон от 30 до 70).

  4. Работа с топ-100 торговых пар:

    • Бот должен автоматически загружать топ-100 торговых пар по объёму с Bybit.

    • Если API Bybit не предоставляет информацию о топ-100, использовать заранее заданный список.

  5. Периодичность мониторинга:

    • Обновление данных о торговых парах и индикаторах RSI каждые 5 минут.

  6. Ошибки и сбои:

    • Реализовать обработку ошибок (например, недоступность API, проблемы с сетью).

    • Логировать все ошибки и события работы бота (например, отправленные уведомления).

Нефункциональные требования

  1. Технологии:

    • Язык программирования: Python.

    • Библиотеки:

      • ccxt для работы с биржей Bybit.

      • pandas для расчёта RSI.

      • python-telegram-bot для работы с Telegram.

  2. Производительность:

    • Обеспечить минимальное время обработки данных.

    • Оптимизировать запросы к API Bybit (не превышать лимиты).

  3. Безопасность:

    • API-ключи Bybit и токен Telegram-бота должны быть конфиденциальными.

    • Хранение конфиденциальных данных в .env-файле или другой защищённой форме.

  4. Тестирование:

    • Покрыть функциональность бота тестами:

      • Проверка расчёта RSI.

      • Проверка отправки уведомлений в Telegram.

      • Проверка обработки ошибок.

  5. Документация:

    • Подробная инструкция по настройке и запуску бота.

    • Описание структуры кода и ключевых компонентов.


Требования к отчету программиста

  1. Список всех топ-100 торговых пар, которые мониторятся.

  2. Логи работы бота за период тестирования (минимум 24 часа).

  3. Подробное описание процесса тестирования и результатов.

  4. Инструкция для пользователя:

    • Как настроить API-ключи и токен Telegram-бота.

    • Как запустить бота.

    • Как интерпретировать уведомления.

Пример сообщения в Telegram

⚠️ RSI Alert

Монета: BTC/USDT

Курс: 42,000.50 USDT

RSI: 72.35

Ссылка: https://www.bybit.com/trade/BTCUSDT

Сроки выполнения

  1. Разработка и тестирование: 5 рабочих дней.

  2. Отладка и исправление багов: 2 рабочих дня.

  3. Предоставление финального отчёта и инструкции: 1 рабочий день.

Общий срок выполнения: 8 рабочих дней.


Дополнительные пожелания

  1. Предоставить возможность легко изменить список торговых пар и таймфрейм (например, через файл конфигурации).

  2. Добавить возможность настройки пороговых значений RSI через файл или интерфейс.

  3. Реализовать логирование работы бота (например, запись в файл bot_log.txt).


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

Заявки фрилансеров