Files
Hermes-Skills/signal-confirmation-templates/references/horizontal-table-format.md
T
mike 98efe09387 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
2026-07-30 20:43:39 +08:00

6.3 KiB

name, description, version, type, date
name description version type date
horizontal-table-format 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分析 等). 1.0.0 reference 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. 表头生成

# 列 = 票 (每票 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. 顶部标题

# 标题行 (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 表格(难维护)。 累积数据字典 + 循环外拼装表格:

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 列表格

# 实际生产代码 (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 前缀 (⭐600809600809 ⭐ 风格不一致)
  • 在表格里用 | 字符 (转义难, 破表)

何时不用

  • 单票详情 (用纵向 bullet 更清楚)
  • 推送字段 < 3 行 (表格无意义)
  • 一次性提示 (cron 启动/失败通知)