Об этом проекте

# Бот оповещений EMA (Deriv + Telegram) — V2 Этот бот отслеживает независимые оповещения, каждое из которых представляет собой уникальную комбинацию символа, интервала и EMA. Когда цена касается настроенной EMA, отправляется сообщение в Telegram. Вся настройка осуществляется через кнопки в Telegram, а бот работает бесплатно на GitHub Actions. ## Основные функции - **Создание оповещений**: `/new` позволяет выбрать символ, интервал (от 1 минуты до 1 дня) и EMA (9, 20, 50, 100, 200) с помощью кнопок. - **Управление оповещениями**: `/alerts` выводит список оповещений, `/pause ID` и `/resume ID` приостанавливают/возобновляют, `/delete ID` удаляет с подтверждением. - **Оптимизация**: свечи загружаются один раз для группы (символ, интервал) и повторно используются для нескольких EMA, сокращая запросы к Deriv. - **Защита от дубликатов**: история сохраняется в `state.json`, чтобы избежать повторных оповещений на одной и той же свече. - **Настройка**: список предлагаемых символов можно изменить в `AVAILABLE_SYMBOLS` (Форекс, Криптовалюты, Синтетические индексы). ## Установка 1. Создайте бота Telegram через @BotFather и получите токен и ID чата. 2. Создайте приватный репозиторий GitHub и загрузите файлы (`ema_alert.py`, `config.json`, `state.json`, `requirements.txt`, `.github/workflows/check.yml`). 3. Добавьте секреты `TELEGRAM_BOT_TOKEN` и `TELEGRAM_CHAT_ID` в настройках репозитория. 4. Включите разрешения "Чтение и запись" для рабочих процессов. 5. Запустите рабочий процесс вручную в первый раз, затем он будет выполняться автоматически каждые 5 минут. ## Улучшения V2 - Исправление race conditions Git с автоматическим повтором. - Надежная обработка WebSocket с таймаутом. - Валидация секретов и состояний. - Структурированное логирование с временными метками. - Очистка ID после удаления. - Настраиваемый Heartbeat. ## Ограничения - GitHub Actions может иметь задержки в несколько минут в периоды нагрузки (подходит для 30 мин/1 ч/4 ч, менее подходит для скальпинга на 1 мин). - Бесплатный план включает 2000 минут в месяц, чего более чем достаточно. - Только один пользователь (настроенный ID чата) может управлять ботом. ## Будущие улучшения Поиск символов, категории, изменение оповещений, другие типы оповещений (пересечение EMA), подробные уведомления.