# Auto Report 实时信号增强版 ## 文件说明 - `auto_report_long_only_t1.py` - 原始版本,使用30分钟K线数据 - `auto_report_realtime.py` - 增强版本,在14:50等关键时间点会获取实时行情计算信号 - `realtime_signal.py` - 独立的实时信号检测工具 ## 主要改进 ### 1. 收盘前实时信号检测 (14:50) 原版问题: - 14:50运行时只能拿到14:30的K线数据 - 14:30-15:00这根K线要到15:00才收盘 - 无法反映14:30-14:50之间的价格变化 改进方案: - 在14:50获取实时行情 - 基于14:30的技术指标 + 当前实时价格,估算当前信号状态 - RSI、KDJ等指标根据价格变化进行估算 - 邮件报告中包含实时信号检测结果 ### 2. 邮件触发逻辑优化 原版: - 有交易 或 盘后时间 → 发送邮件 - 14:50无交易时可能跳过发送 增强版: - 有交易 → 发送邮件 - 实时信号触发 → 发送邮件(即使无交易) - 收盘前时间(14:50) → 发送邮件(包含实时信号) - 盘后时间 → 发送例行报告 ### 3. 邮件主题优化 实时信号版本会在邮件主题中显示实时信号分数: - `🟢 CYB50-T1报告 04-01 14:50 | 实时5分 | 收益+2.50%` (触发买入) - `⚪ CYB50-T1报告 04-01 14:50 | 实时2分 | 收益+2.50%` (未触发) ## 使用方法 ### 方法1:直接运行实时版本 ```bash cd /root/.openclaw/workspace/cat-fly python3 auto_report_realtime.py ``` 在14:50左右运行会自动获取实时行情并计算信号。 ### 方法2:独立实时信号检测 ```bash cd /root/.openclaw/workspace/cat-fly python3 realtime_signal.py ``` 仅检测当前信号状态,不生成完整报告。 ### 方法3:更新定时任务 修改 `cron_jobs.json`,将14:50的任务指向新版本: ```json { "id": "catfly-afternoon-1450-realtime", "name": "catfly-afternoon-1450-realtime", "schedule": {"expr": "50 14 * * 1-5", "tz": "Asia/Shanghai"}, "payload": {"script": "auto_report_realtime.py"} } ``` ## 实时信号计算逻辑 基于最后一根完整K线(14:30)的技术指标,结合实时价格进行估算: 1. **RSI估算**:价格每变化1%,RSI约变化2.5个点 2. **KDJ估算**:J值对价格敏感,价格每变化1%,J约变化3个点 3. **布林带**:使用实时价格判断与下轨的距离 4. **动量**:使用实时价格相对上一K线收盘的变化率 5. **MA趋势**:沿用上一K线的MA趋势判断 ## 注意事项 1. 实时信号是**估算值**,基于价格与技术指标的近似线性关系 2. 实际交易信号仍以完整K线收盘后的计算为准 3. 实时信号主要用于**提前预警**,在收盘前10分钟给出参考 4. 网络不稳定时可能无法获取实时行情,会回退到使用K线数据 ## 测试 可以在任意时间测试实时信号检测: ```bash python3 realtime_signal.py ``` 输出示例: ``` ================================================================================ 实时信号评估结果 ================================================================================ 当前价格: 3367.82 最后一根K线收盘: 3387.91 价格变化: -0.59% 技术指标估算: RSI(估算): 39.97 KDJ J(估算): 12.69 布林带: [3353.48, 3504.82] 信号评分: 2/4 (阈值: 4分触发买入) 触发信号: 触及下轨, 日内低位, MA下降趋势惩罚 ⚪ 建议: 未触发买入信号 ================================================================================ ```