文件
quantKonwledge/wiki/tradehk/飞书通知格式规范.md
Manus Quant Agent baf10a9e91 feat: 新增 tradehk 专属 Wiki 文档体系(10个文档)
- 系统架构总览:技术栈、目录结构、数据流向
- 指标引擎详解:16个指标完整原理与参数(含源码行号)
- 信号评分引擎:多指标共振评分机制、动态阈值、案例分析
- 大周期偏向判定:assessBigTimeframeBias 完整说明
- EWO转换检测机制:evaluateEwoTurnForUser 逐步流程
- 飞书通知格式规范:三类通知完整格式模板
- 类型系统参考:所有 TypeScript 类型完整文档
- 数据库与存储:MySQL 表结构、缓存机制、维护指南
- 部署运维指南:Docker Compose、Nginx、飞书配置
- 开发历史与TODO:功能状态表、优先级路线图
- 优化建议汇总:9项优化建议含源码位置和预期效果
2026-03-05 23:14:31 -05:00

224 行
5.5 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# tradehk 飞书通知格式规范
> 返回:[tradehk 文档中心](./README.md)
> 源文件:`server/_core/marketEngine.ts`、`server/_core/lark.ts`
## 概述
tradehk 通过飞书LarkWebhook 推送三类通知EWO 转换通知、信号通知、定期汇总通知。所有通知均有标题长度限制120字符和内容长度限制4000字符
## 通知类型一览
| 类型 | 触发条件 | 开关 | 频控 |
|------|---------|------|------|
| EWO 转换通知 | EWO 颜色转换(已收线确认) | larkWebhookEnabled | 去重(同转换只推一次) |
| 信号通知 | 多指标评分超过阈值 | larkSignalNotifyMode="all_signals" | signalLarkThrottleMinutes默认10分钟|
| 定期汇总通知 | 每N小时默认4小时 | larkWebhookEnabled | 固定间隔 |
---
## 类型一EWO 转换通知
### 标题格式
```
EWO转换提醒 {币对/周期} {方向}
```
示例:
```
EWO转换提醒 BTC/10m EWO 红 -> 绿
EWO转换提醒 SOL/10m EWO 绿 -> 红
```
### 内容格式
```
触发规则: {方向文字}
币对: {币对/周期}
转换确认: 已收线确认
转换收线: {YYYY/MM/DD HH:mm:ss} ({时区})
EWO: {前值} -> {当前值}
上一阶段: {颜色}({含义})
持续: {时长} ({K线数}根{周期}K)
区间: {开始时间} ~ {结束时间}
当前: {颜色}({含义})
```
### 完整示例BTC 红→绿)
```
标题EWO转换提醒 BTC/10m EWO 红 -> 绿
内容:
触发规则: EWO 红 -> 绿
币对: BTC/10m
转换确认: 已收线确认
转换收线: 2026/03/06 10:10:00 (Asia/Shanghai)
EWO: -29.048617 -> 33.320837
上一阶段: 红(空头)
持续: 4小时30分钟 (27根10mK)
区间: 2026/03/06 05:30:00 ~ 2026/03/06 10:00:00
当前: 绿(多头)
```
### 完整示例SOL 红→绿)
```
标题EWO转换提醒 SOL/10m EWO 红 -> 绿
内容:
触发规则: EWO 红 -> 绿
币对: SOL/10m
转换确认: 已收线确认
转换收线: 2026/03/06 10:10:00 (Asia/Shanghai)
EWO: -0.037316 -> 0.006745
上一阶段: 红(空头)
持续: 4小时 (24根10mK)
区间: 2026/03/06 06:00:00 ~ 2026/03/06 10:00:00
当前: 绿(多头)
```
---
## 类型二:信号通知
### 标题格式
```
{方向}信号 {币对/周期} {强度代码}
```
强度代码HSTRONG/ MMODERATE/ LWEAK
示例:
```
做多信号 BTC/10m H
做空信号 ETH/4h M
```
### 内容格式
```
类型: {做多/做空} ({long/short})
强度: {H/M/L}
币对: {币对/周期}
时间: {YYYY/MM/DD HH:mm:ss} ({时区})
价格: {价格}
EWO: {值}
MACD: {值}
AO: {值}
Hist: {柱状图值}
依据:
- {原因1}
- {原因2}
...最多8条
```
### 完整示例
```
标题:做多信号 BTC/10m H
内容:
类型: 做多 (long)
强度: H
币对: BTC/10m
时间: 2026/03/06 10:10:00 (Asia/Shanghai)
价格: 85234.5
EWO: 33.320837
MACD: 12.456789
AO: 8.234567
Hist: 3.456789
依据:
- EWO 上穿零轴(看多信号)
- MACD 金叉(看多)
- MACD 柱状图扩大(多头增强)
- AO 上穿零轴
- 价格在MA10上方,MA10在MA100上方多头排列
- RSI(14)=42.3 超卖区(看多)
```
---
## 类型三:定期汇总通知
### 触发条件
每 N 小时默认4小时,由 `MARKET_SUMMARY_INTERVAL_HOURS` 环境变量控制)自动推送。
### 内容格式
```
时间: {当前时间} ({时区})
窗口: {开始时间} ~ {结束时间}
币对(N): {币对列表}
图表指标(N): {指标列表}
信号指标(N): {指标列表}
{N}小时信号: 总={总数} 多={多头数} 空={空头数}
分币统计:
- {币对/周期} | 多:{数} 空:{数} | 高频:{原因代码} | 最近:{方向强度@价格}
...
```
---
## 通知配置结构
```typescript
interface AlertConfig {
enabled: boolean; // 总开关
browserNotification: boolean; // 浏览器通知
soundAlert: boolean; // 声音提醒
alertOnBuySignal: boolean; // 买入信号通知
alertOnSellSignal: boolean; // 卖出信号通知
alertOnPriceBreakout: boolean; // 价格突破通知
alertOnVolumeContraction: boolean; // 缩量提醒
priceBreakoutPercent: number; // 价格突破阈值(%
larkWebhookEnabled: boolean; // 飞书 Webhook 总开关
larkSignalNotifyMode: 'ewo_only' | 'all_signals'; // 通知模式
signalLarkThrottleMinutes: number; // 信号推送频控(分钟)
ewoTurnRules: EwoTurnAlertRule[]; // EWO 转换规则列表
}
```
### 通知模式说明
| 模式 | 说明 |
|------|------|
| `ewo_only` | 只推送 EWO 转换通知(默认) |
| `all_signals` | 推送 EWO 转换 + 信号通知 + 定期汇总 |
## 频控机制
### 信号通知频控
```
throttleKey = "signal:{symbol}:{interval}:{buy/sell}"
冷却时间 = signalLarkThrottleMinutes × 60秒
```
同一币对同一方向,在冷却时间内只推送一次。
### EWO 转换去重
```
dedupeKey = "ewo_turn:{symbol}:{interval}:{direction}:{transitionBucketTs}"
```
同一根K线的同方向转换全局只推送一次跨用户共享去重槽
## 环境变量配置
| 变量 | 说明 | 示例 |
|------|------|------|
| `LARK_WEBHOOK_URL` | 飞书 Webhook URL | https://open.feishu.cn/open-apis/bot/v2/hook/xxx |
| `MARKET_ENGINE_POLL_MS` | 引擎轮询间隔(毫秒) | 30000 |
| `MARKET_SUMMARY_INTERVAL_HOURS` | 汇总通知间隔(小时) | 4 |
## 相关文档
- [EWO转换检测机制](./EWO转换检测机制.md) — EWO 通知的检测逻辑
- [系统架构总览](./系统架构总览.md) — 通知在整体架构中的位置
- [部署运维指南](./部署运维指南.md) — 飞书 Webhook 配置方法