fix(消息去重): 去重键加入来源维度,避免跨来源信号被误去重
Motivation: 不同来源(如 crypto-strategy 与 trade-signal)可能产生策略、币种、周期、方向、价格完全一致的信号,旧去重键仅按这五维计算,导致后到的不同来源信号被误判为重复而漏推,无法支撑跟单策略等新增来源并行推送。 Changes: * 信号去重键新增来源(source)维度,不同来源的相同信号不再互相去重 * 信号哈希计算时透传来源名称,同一来源内的重复消息仍正常去重 * 补充跟单策略文案模板的渲染测试与接口创建文档
This commit is contained in:
@@ -662,3 +662,59 @@ curl -X POST 'http://localhost:8080/api/v1/rules' \
|
||||
"enabled": 1
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 跟单策略(trade-signal)
|
||||
|
||||
Source:`trade-signal`。渠道:`safew_B龙策略`。条件:`strategyCode = BLONG`。
|
||||
|
||||
这是后续跟单策略的共用文案模板(开/加/平/减仓一套)。新跟单策略复用模板 `跟单策略`,再加一条 `trade.*` 规则(换 `strategyCode`、渠道,并在模板 `case .strategyCode` 里补中文名)。兜底规则 `rule-11`(测试AI)需 `strategyCode ne` 已拆出去的跟单 code,避免双发。
|
||||
|
||||
事件:`OPEN` → `trade.open`,`ADD` → `trade.add`,`CLOSE` → `trade.close`,`REDUCE` → `trade.reduce`;规则用 `trade.*` 全覆盖。
|
||||
|
||||
开仓渲染示例:
|
||||
|
||||
```
|
||||
空单开仓
|
||||
交易品种: ETH
|
||||
开仓价格: 1898.76
|
||||
开仓数量: 2.00
|
||||
平均单价: 1898.76
|
||||
杠杆: 100x
|
||||
策略: B龙策略
|
||||
推送时间: 2026.08.13 13:15:42
|
||||
```
|
||||
|
||||
平仓 / 减仓不输出杠杆;加仓与开仓一样带杠杆。
|
||||
|
||||
### 创建跟单模板
|
||||
|
||||
```bash
|
||||
curl -X POST 'http://localhost:8080/api/v1/templates' \
|
||||
-H 'Authorization: Bearer admin-sk-change-me' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"name": "跟单策略",
|
||||
"content": "{{case .side \"LONG\" \"多单\" \"SHORT\" \"空单\"}}{{case .action \"OPEN\" \"开仓\" \"ADD\" \"加仓\" \"CLOSE\" \"平仓\" \"REDUCE\" \"减仓\"}}\n交易品种: {{case .symbol \"ETHUSDT\" \"ETH\" \"BTCUSDT\" \"BTC\" \"SOLUSDT\" \"SOL\" \"BNBUSDT\" \"BNB\" .symbol}}\n{{case .action \"OPEN\" \"开仓价格\" \"ADD\" \"加仓价格\" \"CLOSE\" \"平仓价格\" \"REDUCE\" \"减仓价格\"}}: {{printf \"%.2f\" .price}}\n{{case .action \"OPEN\" \"开仓数量\" \"ADD\" \"加仓数量\" \"CLOSE\" \"平仓数量\" \"REDUCE\" \"减仓数量\"}}: {{printf \"%.2f\" .quantity}}\n平均单价: {{printf \"%.2f\" .avgPrice}}\n{{if or (eq .action \"OPEN\") (eq .action \"ADD\")}}{{if .leverage}}杠杆: {{.leverage}}x\n{{end}}{{end}}策略: {{case .strategyCode \"BLONG\" \"B龙策略\" .strategyCode}}\n推送时间: {{.pushedAt}}"
|
||||
}'
|
||||
```
|
||||
|
||||
### 创建 B龙规则
|
||||
|
||||
```bash
|
||||
curl -X POST 'http://localhost:8080/api/v1/rules' \
|
||||
-H 'Authorization: Bearer admin-sk-change-me' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"name": "B龙策略",
|
||||
"source_name": "trade-signal",
|
||||
"event": "trade.*",
|
||||
"template_name": "跟单策略",
|
||||
"channels": ["safew_B龙策略"],
|
||||
"conditions": [
|
||||
{"field": "strategyCode", "op": "eq", "value": "BLONG"}
|
||||
],
|
||||
"enabled": 1
|
||||
}'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user