这个项目能做什么

# 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. 通过 @BotFather 创建一个Telegram机器人,获取令牌和聊天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改进 - 修复了Git竞态条件,增加了自动重试。 - 稳健的WebSocket处理,带超时机制。 - 密钥和状态验证。 - 结构化日志记录,带时间戳。 - 删除后清理ID。 - 可配置的心跳。 ## 限制 - GitHub Actions在高峰期可能有几分钟延迟(适用于30分钟/1小时/4小时,不适合1分钟剥头皮)。 - 免费计划包含2000分钟/月,完全足够。 - 只有配置的聊天ID用户能控制机器人。 ## 未来演进 符号搜索、分类、警报修改、其他警报类型(EMA交叉)、详细通知。