lottery-hk: v1.2.6 — 特码脚本改中文文件名 lottery_特码.py
User 2026-07-30 反馈: - 脚本名 lottery_te_ma.py → lottery_特码.py (中文, 更直观) - 同步 SKILL.md 引用 (description + scripts 段) - version 1.2.5 → 1.2.6
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
---
|
||||
name: signal-confirmation-templates
|
||||
description: 所有QQ推送消息的模板集合。按业务类型分类:交易确认、分红提醒、日报等。
|
||||
version: 2.4.0
|
||||
tags: [push, templates, qq, trading, dividend, signal]
|
||||
description: 所有QQ推送消息的模板集合。按业务类型分类:交易确认、分红提醒、日报等。强调横向 markdown 表格(用户 2026-07-29 明确偏好) — 4-8 列可滑动比较。
|
||||
version: 2.5.0
|
||||
tags: [push, templates, qq, trading, dividend, signal, horizontal-table]
|
||||
---
|
||||
|
||||
# QQ推送消息模板
|
||||
|
||||
所有推送到QQ私信的消息模板,按业务类型分类。
|
||||
所有推送到QQ私信的消息模板,按业务类型分类。**默认格式:横向 markdown 表格**(用户 2026-07-29 偏好,4-8 列可滑动比较)。详见 `references/horizontal-table-format.md`。
|
||||
|
||||
---
|
||||
--
|
||||
|
||||
## ⚠️ 核心工作流规则(必读)
|
||||
|
||||
@@ -45,28 +45,23 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
- 止损 = 入场价 × 0.95(-5%)
|
||||
- 止盈 = 入场价 × 1.05(+5%)
|
||||
|
||||
**推送格式(自动开仓结果):**
|
||||
**推送格式(自动开仓结果)— 横向表:**
|
||||
```
|
||||
✅ 自动开仓完成!
|
||||
|
||||
📊 交易执行结果:
|
||||
📊 交易执行结果 (横向表)
|
||||
| 步骤 | 结果 |
|
||||
|------|------|
|
||||
| ✅ 杠杆 | {杠杆}x |
|
||||
| ✅ 开仓 | {张数}张 ({币数} {币种}) @ {成交价} |
|
||||
| ✅ 止损 | {止损价} (-5%) |
|
||||
| ✅ 止盈 | {止盈价} (+5%) |
|
||||
| ✅ 强平价 | {强平价} |
|
||||
| ✅ 盈亏比 | {比值}:1 |
|
||||
| 杠杆 | {杠杆}x |
|
||||
| 开仓 | {张数}张 ({币数} {币种}) @ {成交价} |
|
||||
| 止损 | {止损价} (-5%) |
|
||||
| 止盈 | {止盈价} (+5%) |
|
||||
| 强平价 | {强平价} |
|
||||
| 盈亏比 | {比值}:1 |
|
||||
|
||||
💰 账户状态:
|
||||
• 权益:{权益} USDT
|
||||
• 可用:{可用} USDT
|
||||
• 权益:{权益} USDT | 可用:{可用} USDT
|
||||
• 持仓:{张数}张 {币种} {方向}
|
||||
|
||||
📈 跟单{交易员}:
|
||||
• {交易员}:{仓位} @ {入场价}(浮盈{浮盈})
|
||||
• 您:{您的仓位} @ {成交价}(轻仓试水)
|
||||
```
|
||||
|
||||
### 信号去重规则
|
||||
@@ -94,7 +89,40 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
主用:`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 — 交易信号确认(最高优先级)
|
||||
|
||||
@@ -102,14 +130,18 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
- TG信号群(`-1003966251111`)收到转发来的交易信号
|
||||
- 信号格式:`【币种】: XX 【方向】: 做多/空 【仓位大小】: N`
|
||||
|
||||
### 推送格式(用户确认的模板)
|
||||
### 推送格式(用户确认的模板 — 横向表)
|
||||
|
||||
```
|
||||
⚡ 跟单建议 | {币种} {方向} {杠杆}
|
||||
|
||||
📊 {交易员} {仓位} {币种}(价值{总值})
|
||||
入场: {入场价} | 当前: {当前价}
|
||||
浮盈: +{浮盈} 🔥 | 强平距: {距离} ✅
|
||||
📊 交易员 + 持仓 (横向表)
|
||||
| 字段 | 交易员 | 您 |
|
||||
|:---|:---|:---|
|
||||
| 仓位 | {交易员仓位} | {您的仓位} |
|
||||
| 入场 | {交易员均价} | {成交价} |
|
||||
| 当前 | {当前价} | {当前价} |
|
||||
| 浮盈 | {交易员浮盈} | {您的浮盈} |
|
||||
|
||||
📈 趋势分析
|
||||
• {趋势要点1}
|
||||
@@ -117,14 +149,17 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
• {趋势要点3}
|
||||
|
||||
🛡️ ATR检查
|
||||
• {ATR值} | SL {SL距离}({SL%}%){SL状态}
|
||||
• ATR≥SL宽度 = ✅ 合理 / ATR>SL宽度 = ❌ 偏紧建议放宽
|
||||
| ATR | SL | 状态 |
|
||||
|:---|:---|:---|
|
||||
| {ATR值} | {SL距离} ({SL%}%) | ✅ 合理 / ❌ 偏紧 |
|
||||
|
||||
🎯 跟单方案
|
||||
• 入场: {入场价}(参考大佬均价)
|
||||
• 止损: {止损价}({-止损%}%,{-亏损额} USDT,盈亏比 {比}:1)
|
||||
• 止盈: {止盈价}({+止盈%}%,{+盈利额} USDT)
|
||||
• 仓位: {仓位} {币种}(~{金额},{建议})
|
||||
| 字段 | 值 |
|
||||
|:---|:---|
|
||||
| 入场 | {入场价}(参考大佬均价)|
|
||||
| 止损 | {止损价}({-止损%}%, {-亏损额} USDT, 盈亏比 {比}:1)|
|
||||
| 止盈 | {止盈价}({+止盈%}%, {+盈利额} USDT)|
|
||||
| 仓位 | {仓位} {币种}(~{金额}, {建议})|
|
||||
|
||||
回复 Y 确认跟单 / N 取消
|
||||
```
|
||||
@@ -137,7 +172,7 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
| B-减仓/危险 | 仓位 -5%↓ 或 强平距 < $15 或 浮亏率>10% | 完整模板但建议"不跟单" | 立即推QQ |
|
||||
| C-新开仓 | 首次出现的币种/交易员 | 完整模板(轻仓试水) | 立即推QQ |
|
||||
| D-持有更新 | 仓位变动 < 5% 或杠杆调整/持仓不变 | **静默跳过** | 不推送、不记录、不统计 |
|
||||
| E-多鲸对比 | 同时有多个信号(不同交易员) | 对比模板 | 合并推送 |
|
||||
| E-多鲸对比 | 同时有多个信号(不同交易员) | 对比模板 (横向表!) | 合并推送 |
|
||||
|
||||
### 推送注意事项
|
||||
|
||||
@@ -145,20 +180,38 @@ TG信号群收到交易信号后,**禁止在主群(Telegram)做长篇解
|
||||
- 直接用 QQ Bot API(见 `scripts/qq_push.py`)
|
||||
- 将消息输出为 final response
|
||||
|
||||
2. **push_to_qq.sh 可能阻塞**:当脚本等待用户确认时会超时("BLOCKED: Command timed out without user 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 |
|
||||
```
|
||||
|
||||
--
|
||||
|
||||
## 推送工具
|
||||
|
||||
@@ -205,3 +258,11 @@ python3 ~/.hermes/skills/trading/signal-confirmation-templates/scripts/qq_push.p
|
||||
- 仓位计算公式
|
||||
- 执行步骤(设杠杆→市价开仓→设OCO)
|
||||
- 推送格式模板
|
||||
|
||||
### 横向表格格式规范(2026-07-29 改)
|
||||
详见 `references/horizontal-table-format.md`:
|
||||
- 为什么用横向表 (vs 纵向 bullet)
|
||||
- 完整实现规范 (列数 / emoji 前缀 / 多表分层)
|
||||
- 4 个已迁移脚本的对比
|
||||
- QQ bot 渲染坑 (列宽 / 不能冻结首列)
|
||||
- 何时不用表格 (单票详情 / 字段 < 3 行)
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
---
|
||||
name: horizontal-table-format
|
||||
description: "QQ push 横向 markdown 表格格式 (4-8 列可滑动比较). 用户 2026-07-29 明确偏好 — 原纵向 bullet 太长(14 票 = 56 行) 看不过来, 改成横向表格用户能左右滑动. 现在 dividend_alert.py / daily_t_analysis.py / cn_dividend_buy_timing.py 全部用此格式. 适用于所有 cron push 推送 (交易确认/分红提醒/日报/做T分析 等)."
|
||||
version: 1.0.0
|
||||
type: reference
|
||||
date: 2026-07-29
|
||||
---
|
||||
|
||||
# QQ Push 横向 Markdown 表格格式
|
||||
|
||||
## 为什么改
|
||||
|
||||
**用户原话** (2026-07-29):"不是这种表格, 是这种" — 看到横向可滑动比较的格式后明确要求全换。
|
||||
|
||||
**之前** (纵向 bullet):
|
||||
```
|
||||
📌 UNH.US | 9股(9手) | 成本426.00USD
|
||||
现价428.79 | 🟢+0.7% | ↗️偏多 | ATR13.48(3.1%)
|
||||
支撑412.54 | 阻力436.32
|
||||
💡 策略: 波段做T (★★☆) — ...
|
||||
```
|
||||
- 14 票 = 56 行, 手机上看不完
|
||||
- 不容易对比 (左右票来回看, 视觉跳跃)
|
||||
|
||||
**之后** (横向 markdown 表格):
|
||||
```
|
||||
| 项目 | UNH.US | RGTI.US | QQQI.US | 3416.HK |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| 现价 | 420.57 | 13.22 | 51.00 | 8.655 |
|
||||
| 盈亏% | 🔴-1.3% | 🔴-35.5% | 🔴-3.3% | 🔴-6.8% |
|
||||
| 趋势 | 📉空头 | 📉空头 | 📉空头 | 📈多头 |
|
||||
| ATR% | 3.2% | 8.7% | 2.1% | 0.3% |
|
||||
```
|
||||
- 4-8 列 = 横向滑动
|
||||
- 上下行同字段 = 垂直对比
|
||||
- 整体 5-10 行 = 单屏可看完
|
||||
|
||||
## 实现规范
|
||||
|
||||
### 1. 表头生成
|
||||
```python
|
||||
# 列 = 票 (每票 1 列)
|
||||
cols = [r['sym'] for r in rows_data]
|
||||
n = len(cols)
|
||||
|
||||
# 表头 + 分隔线
|
||||
hdr = "| 项目 | " + " | ".join(cols) + " |"
|
||||
sep = "|:---|" + "|".join([":---"] * n) + "|"
|
||||
```
|
||||
|
||||
### 2. 单元格 emoji 前缀
|
||||
|
||||
| 类型 | 格式 | 示例 |
|
||||
|------|------|------|
|
||||
| 价格 | `📊{价}` 或 `📊${价:.2f}` | `📊420.57` |
|
||||
| 每股派息 | `💰{d}` | `💰2.80元` |
|
||||
| 股息率 | `**{d/10/p*100:.2f}%**` (加粗) | `**5.12%**` |
|
||||
| 盈亏 | `{emoji}{pct:+.1f}%` | `🟢+0.7%` / `🔴-1.3%` |
|
||||
| 趋势 | 直接 | `📈多头` / `↗️偏多` / `📉空头` |
|
||||
| 胜率/稳定性 | `🔥`/`⚡`/`⭐` | `🔥15` (15年连续) |
|
||||
| 数值 | 简短 | `3.2%` / `12` |
|
||||
| **离均线 (vs MA50)** | `{emoji_off}{pct:+.1f}%` (见 2.1) | `🟢+5%` / `🔴-3%` / `⛔-15%` |
|
||||
| **派息频率 (次/年)** | `{n:.1f}` | `1.0` (年) / `1.7` (年/半年) |
|
||||
| **连续派息 (年)** | `{emoji}{n}` | `🔥15` (15年) / `⚡8` / 空 `5` |
|
||||
| **vs MA50 偏移 emoji** | `🟢` >5% / `🟡` 0-5% / `🔴` -10~0% / `⛔` <-10% | 同上 |
|
||||
|
||||
### 2.1 离均线 emoji 4 档配色 (2026-07-30 加)
|
||||
|
||||
帮用户一眼看股价位置:
|
||||
|
||||
| 档 | 范围 | emoji | 语义 |
|
||||
|---|------|-------|------|
|
||||
| 强势 | 现价 > MA50 +5% | 🟢 | 强势多头, 风险/机会大 |
|
||||
| 偏强 | 0~+5% | 🟡 | 略高均线, 中性 |
|
||||
| 偏弱 | -10%~0 | 🔴 | 略低均线, 关注支撑 |
|
||||
| 超弱 | 现价 < MA50 -10% | ⛔ | 大幅低于均线, 反弹机会 vs 趋势向下 |
|
||||
|
||||
**实战 (2026-07-30 cn_dividend_buy_timing)**:
|
||||
- 600023 浙能电力 离均线 -9.8% → 🔴 (偏弱, 等待反弹)
|
||||
- 601288 农业银行 离均线 +9.8% → 🟢 (强势, 等回撤到 MA50)
|
||||
|
||||
### 3. 多个表格分层
|
||||
|
||||
**不要把所有数据塞一张表** — 分 3-4 张相关小表:
|
||||
|
||||
```
|
||||
📊 每日做T | 2026-07-30 09:00
|
||||
|
||||
【基本面表 — 8 列】
|
||||
| 项目 | 票1 | 票2 | ... |
|
||||
|
||||
【策略点位表 — 8 列】
|
||||
| 策略 | 票1 | 票2 | ... |
|
||||
|
||||
【性价比表 — 8 列】
|
||||
| 项目 | 票1 | 票2 | ... |
|
||||
```
|
||||
|
||||
每张表 5-10 行, 主题清晰。
|
||||
|
||||
### 4. 列数最佳实践
|
||||
|
||||
| 列数 | 适合场景 |
|
||||
|------|---------|
|
||||
| 4-6 | 持仓 4-6 票, 完整对比 (手机最舒服) |
|
||||
| 8 | 候选池 8-15 票, top-N 推荐 (轻滑动) |
|
||||
| 12+ | ⚠️ 太多, 手机 QQ 列会挤, 考虑分页或加折叠 |
|
||||
|
||||
### 5. 顶部标题
|
||||
|
||||
```python
|
||||
# 标题行 (1 行)
|
||||
lines.append(f"📊 [主题] | {datetime.now().strftime('%Y-%m-%d %H:%M 北京时间')}")
|
||||
# 副标题 (策略说明)
|
||||
lines.append("💰 策略: 全仓分批建仓, 单票 < 8000 元")
|
||||
# 空行
|
||||
lines.append("")
|
||||
```
|
||||
|
||||
## 已迁移的脚本
|
||||
|
||||
| 脚本 | cron | 推送内容 |
|
||||
|------|------|---------|
|
||||
| `daily_t_analysis.py` | `cb187ab5f9fc` 21:00 | 4 列 (4 票持仓) + 策略点位 8 列 |
|
||||
| `dividend_alert.py` | `789a7710b1cf` 11:00 A/HK + `366934c1474c` 21:00 US | A股 12 列 + 港股 1 列 + 美股 6 列 |
|
||||
| `cn_dividend_buy_timing.py` | `8000d3cfed23` 11:30 | 8 列 + 点位 4 列 |
|
||||
|
||||
## QQ bot 渲染注意事项
|
||||
|
||||
- ✅ Markdown 表格在 QQ bot 渲染良好
|
||||
- ✅ 可左右滑动
|
||||
- ⚠️ **列宽限制**: 中文 4-6 字符最佳 (例 `📊420.57` = 7 字符)
|
||||
- ⚠️ **emoji 宽度**: `💰` 算 1 字符 (但实际渲染宽一点)
|
||||
- ⚠️ **数字格式**: 用 `:.2f` 而不是 `:.4f` (4 位挤)
|
||||
- ❌ **不能冻结首列** (QQ bot 不支持 markdown frozen header)
|
||||
- ❌ **不能加粗 + 居中** (只支持 `**bold**`, `*italic*`)
|
||||
|
||||
## 数据累积 + 循环外输出模式
|
||||
|
||||
**避免** 在循环内 `lines.append` 表格(难维护)。
|
||||
**用** 累积数据字典 + 循环外拼装表格:
|
||||
|
||||
```python
|
||||
row_data = []
|
||||
for c in candidates[:8]:
|
||||
# ... 计算 ...
|
||||
row_data.append({
|
||||
'sym': c['sym'],
|
||||
'price': c['price'],
|
||||
'yield': c['yield'],
|
||||
# ...
|
||||
})
|
||||
|
||||
# 循环外
|
||||
if row_data:
|
||||
cols = [r['sym'] for r in row_data]
|
||||
n = len(cols)
|
||||
hdr = "| 项目 | " + " | ".join(cols) + " |"
|
||||
sep = "|:---|" + "|".join([":---"] * n) + "|"
|
||||
lines.append(hdr)
|
||||
lines.append(sep)
|
||||
lines.append("| 现价 | " + " | ".join([f"{r['price']:.2f}" for r in row_data]) + " |")
|
||||
# ... 多行 ...
|
||||
```
|
||||
|
||||
## 参考: dividend_alert A股 8 列表格
|
||||
|
||||
```python
|
||||
# 实际生产代码 (dividend_alert.py fmt())
|
||||
L += ['| 票 | 名称 | 每10股派 | 现价 | 股息率 | 次/年 | 连续(年) | vs MA50 |']
|
||||
L += ['|:---|:---|:---|:---|:---|:---|:---|:---|']
|
||||
for r in a_h[:12]:
|
||||
# ... 拉历史分红 (akshare) + 长桥 K 线 (MA50) ...
|
||||
L += [f'| {star}{c} | {n[:8]} | 💰{d:.2f} | 📊{ps} | **{ys}** | {cnt} | {cont_e}{cont} | {ma_e}{ma_str} |']
|
||||
```
|
||||
|
||||
## 不要做的
|
||||
|
||||
- ❌ 把每行字段全写成一行 (无换行, QQ 滚得累)
|
||||
- ❌ 列里塞 `f"{x:.6f}"` 这种 6 位小数
|
||||
- ❌ 列名用全角字符 (渲染乱)
|
||||
- ❌ 一次性输出 20+ 列 (挤, 滑动难受)
|
||||
- ❌ 混用 emoji 前缀 (`⭐600809` 和 `600809 ⭐` 风格不一致)
|
||||
- ❌ 在表格里用 `|` 字符 (转义难, 破表)
|
||||
|
||||
## 何时不用
|
||||
|
||||
- 单票详情 (用纵向 bullet 更清楚)
|
||||
- 推送字段 < 3 行 (表格无意义)
|
||||
- 一次性提示 (cron 启动/失败通知)
|
||||
Reference in New Issue
Block a user