feat(crypto策略): 支持巴菲特策略纯 rawMessage 信号推送

Motivation:
新增巴菲特激进/稳健策略(PUTEJJ/PUTEWJ)的跟单推送能力。该类信号仅有 rawMessage、无 action 字段,需按原文直接推送,并过滤启动文案、本地化时间字段。

Changes:

* 支持无 action 的纯 rawMessage 信号,映射为 trade.message 事件
* 新增 not_contains 条件操作符,用于过滤启动文案
* 新增 replace 模板函数,将 Time: 替换为推送时间:
* 补充巴菲特策略模板、规则与渠道配置文档
This commit is contained in:
2026-08-17 16:38:09 +08:00
parent 33b2a96bcf
commit f7ea2e7cf9
9 changed files with 152 additions and 5 deletions
+13
View File
@@ -54,3 +54,16 @@ func TestEvaluate_Contains(t *testing.T) {
t.Error("msg contains 'error', should pass")
}
}
func TestEvaluate_NotContains(t *testing.T) {
conds := []model.Condition{{Field: "rawMessage", Op: "not_contains", Value: "启动"}}
if !Evaluate(conds, map[string]interface{}{"rawMessage": "激进版AI 1.0\n市价开空"}) {
t.Fatal("open text should pass")
}
if Evaluate(conds, map[string]interface{}{"rawMessage": "普达特量化机器人激进版启动\n账户余额:100000.00"}) {
t.Fatal("startup text should be filtered")
}
if !Evaluate(conds, map[string]interface{}{"strategyCode": "PUTEJJ"}) {
t.Fatal("missing rawMessage should pass")
}
}