--- name: signal-confirmation-templates description: 所有QQ推送消息的模板集合。按业务类型分类:交易确认、分红提醒、日报等。强调横向 markdown 表格(用户 2026-07-29 明确偏好) — 4-8 列可滑动比较。 version: 2.5.0 tags: [push, templates, qq, trading, dividend, signal, horizontal-table] --- # QQ推送消息模板 所有推送到QQ私信的消息模板,按业务类型分类。**默认格式:横向 markdown 表格**(用户 2026-07-29 偏好,4-8 列可滑动比较)。详见 `references/horizontal-table-format.md`。 -- ## ⚠️ 核心工作流规则(必读) ### 先预检、再推送 每条交易信号的处理顺序必须是: ``` 信号 → 1️⃣ 查持仓/行情/algo/余额 → 2️⃣ 格式化模板 → 3️⃣ 推QQ ``` ### 不分析、直接推 TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解读分析**(如趋势复盘、多鲸对比、历史回顾等)。 直接格式化 → 按 trade-confirm 模板 → 推送到QQ。在TG只发一句话确认收到即可或保持沉默。 ### D类信号静默跳过 **用户明确要求**(2026-07-04):收到信号后直接用开仓技能处理,不需要做D类信号的统计表格、趋势分析或演变记录。只在需要开仓/加仓(A/B/C类或里程碑)时才推QQ。D类信号(仓位变动<5%)直接跳过,不推送、不记录、不统计。禁止在TG群发D类信号的汇总表格。 ### 自动开仓规则(Auto-Execution) **用户明确要求**(2026-07-04):当用户没有仓位时,如果信号的性价比(性价比)合理,应自动执行开仓,无需等待Y/N确认。 **自动开仓条件:** 1. 用户当前无持仓(检查OKX账户余额) 2. 信号为A/B/C类(≥5%变化、新开仓、强平危险)或里程碑事件 3. 性价比评估通过(入场价与信号源差距<5%,ATR检查合理) **自动开仓流程:** ``` 信号 → 1️⃣ 查账户余额/持仓 → 2️⃣ 计算仓位大小(50%可用资金) → 3️⃣ 设置杠杆 → 4️⃣ 市价开仓 → 5️⃣ 设置OCO止盈止损 → 6️⃣ 推送结果到QQ ``` **仓位计算公式:** - 最大可开 = 可用余额 / (合约面值 × 当前价 / 杠杆) - 建议开仓 = 最大可开 × 50%(安全边际) - 止损 = 入场价 × 0.95(-5%) - 止盈 = 入场价 × 1.05(+5%) **推送格式(自动开仓结果)— 横向表:** ``` ✅ 自动开仓完成! 📊 交易执行结果 (横向表) | 步骤 | 结果 | |------|------| | 杠杆 | {杠杆}x | | 开仓 | {张数}张 ({币数} {币种}) @ {成交价} | | 止损 | {止损价} (-5%) | | 止盈 | {止盈价} (+5%) | | 强平价 | {强平价} | | 盈亏比 | {比值}:1 | 💰 账户状态: • 权益:{权益} USDT | 可用:{可用} USDT • 持仓:{张数}张 {币种} {方向} ``` ### 信号去重规则 推送后只有用户回复 **Y(确认)** 或 **N(取消)** 才标记为已处理。 **未收到Y/N的信号,即使数据与之前推送完全一致,再次出现时仍需重新推送。** 推送过的信号如果数据有变化(仓位/价格/浮盈变动),按新信号处理。 ### 快速信号合并(Rapid-fire)规则 同一交易员同一币种在**短时间内(<2分钟)发送多个信号**时: 1. **仅触发点推送**:仅在出现 A/B/C 类(≥5%变化、新开仓、强平危险)或里程碑事件时才推QQ 2. **D类信号静默跳过**:不推送、不记录、不统计 3. **批次内滚动基准**:以该批次首个信号为基准计算变动%,而非以前一次推送 4. **批次结束时**:若最后状态与推送基准相比达到A/B/C类阈值,推送汇总更新到QQ ### 里程碑触发规则(即使<5%也推送D类精简) 出现以下情况时,突破D类直接推QQ精简模板: - **整数关口**:仓位突破千位数关口(如1,000→3,000→5,000 ETH) - **价格突破**:主流币突破$100/$500/$1,000/$1,700/$2,000等关键价格位 - **PnL里程碑**:浮盈/浮亏突破心理关卡(如$50k/$100k/$300k/$500k) - **杠杆突变**:杠杆从20x→10x或反向大幅调整 - **交易员首现**:新交易员首次出现(C类新开仓模板) ### 推送方式 主用:`bash ~/.hermes/scripts/push_to_qq.sh "消息内容"` 备用:`python3 ~/.hermes/skills/trading/signal-confirmation-templates/scripts/qq_push.py "消息内容"` ### 推送格式 — 横向表格(2026-07-29 改) **默认格式**: 4-8 列横向 markdown 表格. 用户原话:"不是这种表格, 是这种"(看了可滑动的格式后明确要求全换). **原因**: - 14 票纵向 bullet = 56 行, 手机上滑不完 - 横向表 = 4-8 列, 滑动即可对比 - 上下行同字段 = 视觉对比直接 **完整规范**: 见 `references/horizontal-table-format.md` - 列数最佳实践 (4-6 持仓 / 8 候选 / 12+ 分页) - emoji 前缀规范 (💰 派 / 📊 价 / **bold%** 利率 / 🔥⚡ 稳定性) - 多个小表分层 (基本面/策略/性价比) 比一张大表好 - 已迁移: `daily_t_analysis.py` `dividend_alert.py` `cn_dividend_buy_timing.py` **示例** (dividend_alert.py 实际生产): ```python # 横向 8 列表 L += ['| 票 | 名称 | 每10股派 | 现价 | 股息率 | 次/年 | 连续(年) | vs MA50 |'] L += ['|:---|:---|:---|:---|:---|:---|:---|:---|'] for r in a_h[:12]: L += [f'| {star}{c} | {n[:8]} | 💰{d:.2f} | 📊{ps} | **{ys}** | {cnt} | {cont_e}{cont} | {ma_e}{ma_str} |'] ``` **坑**: - ❌ 列里塞 `f"{x:.4f}"` 这种 4 位小数 (挤) - ❌ 一次性输出 20+ 列 (滑动难受) - ❌ 在表格里用 `|` 字符 (破表) - ❌ 把每行字段全写成一行 (无换行, QQ 滚得累) - ✅ 用 emoji 前缀 (`💰600.80` 而不是 `600.80💰`) - ✅ 数据累积字典 + 循环外拼装表 (易维护) - ✅ 多个小表分层 (基本面/策略/性价比) 而不是 1 张大表 -- ## 🔵 trade-confirm — 交易信号确认(最高优先级) ### 触发场景 - TG信号群(`-1003966251111`)收到转发来的交易信号 - 信号格式:`【币种】: XX 【方向】: 做多/空 【仓位大小】: N` ### 推送格式(用户确认的模板 — 横向表) ``` ⚡ 跟单建议 | {币种} {方向} {杠杆} 📊 交易员 + 持仓 (横向表) | 字段 | 交易员 | 您 | |:---|:---|:---| | 仓位 | {交易员仓位} | {您的仓位} | | 入场 | {交易员均价} | {成交价} | | 当前 | {当前价} | {当前价} | | 浮盈 | {交易员浮盈} | {您的浮盈} | 📈 趋势分析 • {趋势要点1} • {趋势要点2} • {趋势要点3} 🛡️ ATR检查 | ATR | SL | 状态 | |:---|:---|:---| | {ATR值} | {SL距离} ({SL%}%) | ✅ 合理 / ❌ 偏紧 | 🎯 跟单方案 | 字段 | 值 | |:---|:---| | 入场 | {入场价}(参考大佬均价)| | 止损 | {止损价}({-止损%}%, {-亏损额} USDT, 盈亏比 {比}:1)| | 止盈 | {止盈价}({+止盈%}%, {+盈利额} USDT)| | 仓位 | {仓位} {币种}(~{金额}, {建议})| 回复 Y 确认跟单 / N 取消 ``` ### 信号分类规则 | 分类 | 触发条件 | 模板 | 推送策略 | |------|---------|------|---------| | A-加仓 | 仓位 +5%↑ | 完整模板(趋势分析+跟单方案) | 立即推QQ | | B-减仓/危险 | 仓位 -5%↓ 或 强平距 < $15 或 浮亏率>10% | 完整模板但建议"不跟单" | 立即推QQ | | C-新开仓 | 首次出现的币种/交易员 | 完整模板(轻仓试水) | 立即推QQ | | D-持有更新 | 仓位变动 < 5% 或杠杆调整/持仓不变 | **静默跳过** | 不推送、不记录、不统计 | | E-多鲸对比 | 同时有多个信号(不同交易员) | 对比模板 (横向表!) | 合并推送 | ### 推送注意事项 1. **`hermes send` 可能跳过**:当会话上下文有 delivery target 时,`hermes send` 会提示 "Skipped — will auto-deliver"。此时有两种办法: - 直接用 QQ Bot API(见 `scripts/qq_push.py`) - 将消息输出为 final response 2. **`push_to_qq.sh` 可能阻塞**:当脚本等待用户确认时会超时("BLOCKED: Command timed out without user response")。解决方法: - 重试一次 - 改用 python3 qq_push.py 脚本 - 将消息输出为 final response 3. **python脚本路径**:`~/.hermes/skills/trading/signal-confirmation-templates/scripts/qq_push.py` 可能不存在。如果文件不存在,使用 `bash ~/.hermes/scripts/push_to_qq.sh` 或输出为 final response。 -- ## 📊 daily-pnl — 每日持仓盈亏日报 **触发**:定时推送(北京时间) **推荐格式**(横向表 — 参考 `daily_t_analysis.py`): ``` 📊 每日做T | 2026-07-30 09:00 【基本面】横向 N 列 | 项目 | UNH | RGTI | QQQI | 3416 | |:---|:---|:---|:---|:---| | 现价 | 420.57 | 13.22 | 51.00 | 8.655 | | 盈亏% | 🔴-1.3% | 🔴-35.5% | 🔴-3.3% | 🔴-6.8% | | 策略 | 反弹做空 ★★☆ | 超跌反弹 ★★☆ | 反弹做空 ★★☆ | 观望 ★☆☆ | 【策略点位】横向 N 列 | 策略 | UNH | RGTI | QQQI | 3416 | | 🎯 当下 | 415.24→428.98 | 13.36→15.89 | 51.17→53.63 | - | | 🐢 海龟入 | - | - | 50.96 | 8.670 | | 📊 Bollinger 下 | 415.57 | 12.77 | 52.28 | 8.412 | ``` -- ## 推送工具 ### 方式1:hermes send(主用) ```bash hermes send -t qqbot "消息内容" ``` 或 ```bash bash ~/.hermes/scripts/push_to_qq.sh "消息内容" ``` ### 方式2:QQ Bot API 直推(备用,当hermes send跳过时) ```bash python3 ~/.hermes/skills/trading/signal-confirmation-templates/scripts/qq_push.py "消息内容" ``` ### 快速信号处理参考 详见 `references/rapid-fire-signal-processing.md`,包含: - 多交易员快速信号处理实战案例 - A/B/C/D类信号推送模板 - 快速信号合并规则 - 推送格式要点 ### 信号分类参考 详见 `references/signal-classification-guide.md`,包含: - A/B/C/D/E类信号分类标准 - 里程碑触发规则 - 快速信号处理规则 - 实战案例 - 常见错误 ### 多交易员信号处理参考 详见 `references/multi-trader-signal-processing.md`,包含: - 交易员特征总结(麻吉大哥、狙击手5912、熬鹰资本、予与实盘) - 多交易员同时信号处理规则 - 实战案例 - 推送格式要点 ### OKX自动开仓工作流 详见 `references/okx-auto-execution-workflow.md`,包含: - 前置检查(余额、持仓、价格) - 性价比评估标准 - 仓位计算公式 - 执行步骤(设杠杆→市价开仓→设OCO) - 推送格式模板 ### 横向表格格式规范(2026-07-29 改) 详见 `references/horizontal-table-format.md`: - 为什么用横向表 (vs 纵向 bullet) - 完整实现规范 (列数 / emoji 前缀 / 多表分层) - 4 个已迁移脚本的对比 - QQ bot 渲染坑 (列宽 / 不能冻结首列) - 何时不用表格 (单票详情 / 字段 < 3 行)