这个项目能做什么
# 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交叉)、详细通知。
评论
0 评分人数达到10人后显示
登录后参与讨论。