User 2026-07-30 反馈: - 脚本名 lottery_te_ma.py → lottery_特码.py (中文, 更直观) - 同步 SKILL.md 引用 (description + scripts 段) - version 1.2.5 → 1.2.6
11 KiB
name, description, version, tags
| name | description | version | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| signal-confirmation-templates | 所有QQ推送消息的模板集合。按业务类型分类:交易确认、分红提醒、日报等。强调横向 markdown 表格(用户 2026-07-29 明确偏好) — 4-8 列可滑动比较。 | 2.5.0 |
|
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确认。
自动开仓条件:
- 用户当前无持仓(检查OKX账户余额)
- 信号为A/B/C类(≥5%变化、新开仓、强平危险)或里程碑事件
- 性价比评估通过(入场价与信号源差距<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分钟)发送多个信号时:
- 仅触发点推送:仅在出现 A/B/C 类(≥5%变化、新开仓、强平危险)或里程碑事件时才推QQ
- D类信号静默跳过:不推送、不记录、不统计
- 批次内滚动基准:以该批次首个信号为基准计算变动%,而非以前一次推送
- 批次结束时:若最后状态与推送基准相比达到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.pydividend_alert.pycn_dividend_buy_timing.py
示例 (dividend_alert.py 实际生产):
# 横向 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-多鲸对比 | 同时有多个信号(不同交易员) | 对比模板 (横向表!) | 合并推送 |
推送注意事项
-
hermes send可能跳过:当会话上下文有 delivery target 时,hermes send会提示 "Skipped — will auto-deliver"。此时有两种办法:- 直接用 QQ Bot API(见
scripts/qq_push.py) - 将消息输出为 final response
- 直接用 QQ Bot API(见
-
push_to_qq.sh可能阻塞:当脚本等待用户确认时会超时("BLOCKED: Command timed out without user response")。解决方法:- 重试一次
- 改用 python3 qq_push.py 脚本
- 将消息输出为 final response
-
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(主用)
hermes send -t qqbot "消息内容"
或
bash ~/.hermes/scripts/push_to_qq.sh "消息内容"
方式2:QQ Bot API 直推(备用,当hermes send跳过时)
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 行)