feat(去重逻辑): 增强信号去重机制以区分不同动作

Changes:
* 更新去重键计算逻辑,新增动作字段以区分不同的交易动作(如 REDUCE 和 CLOSE)
* 增加单元测试以验证不同动作在相同价格下的去重行为
* 更新文档以反映去重窗口的变化,确保准确性
This commit is contained in:
2026-08-25 14:12:34 +08:00
parent b396638438
commit 4d4dbd27b2
3 changed files with 71 additions and 2 deletions
+2 -1
View File
@@ -37,8 +37,9 @@ func signalKey(source string, data map[string]interface{}) string {
symbol := firstNonEmptyField(fieldString(data["symbol"]), fieldString(data["currency"]))
period := fieldString(data["period"])
direction := strings.ToUpper(firstNonEmptyField(fieldString(data["direction"]), fieldString(data["side"])))
action := strings.ToUpper(fieldString(data["action"]))
price := fieldString(data["price"])
return strings.Join([]string{strings.TrimSpace(source), strategy, symbol, period, direction, price}, "\x1f")
return strings.Join([]string{strings.TrimSpace(source), strategy, symbol, period, direction, action, price}, "\x1f")
}
func firstNonEmptyField(a, b string) string {