This commit is contained in:
2026-08-24 20:53:21 +08:00
commit 6e78bba16a
287 changed files with 32443 additions and 0 deletions

59
llmjob/1357.go Normal file
View File

@@ -0,0 +1,59 @@
package llmjob
import (
"github.com/banbox/banbot/config"
"github.com/banbox/banbot/core"
"github.com/banbox/banbot/strat"
ta "github.com/banbox/banta"
)
func J1357(pol *config.RunPolicyConfig) *strat.TradeStrat {
fastLength := pol.DefInt("fastLength", 16, core.PNorm(5, 20))
slowLength := pol.DefInt("slowLength", 26, core.PNorm(15, 50))
signalLength := pol.DefInt("signalLength", 9, core.PNorm(5, 15))
return &strat.TradeStrat{
WarmupNum: slowLength + signalLength,
EachMaxLong: 3,
EachMaxShort: 3,
HedgeOff: true,
RunTimeFrames: []string{"8h"},
OnBar: func(s *strat.StratJob) {
e := s.Env
// 计算MACD指标
macd, signal := ta.MACD(e.Close, fastLength, slowLength, signalLength)
// 检测MACD线与信号线的交叉
buySignal := macd.Cross(signal)
sellSignal := signal.Cross(macd)
// 买入信号:MACD线上穿信号线
if buySignal == 1 {
// 开多单
s.OpenOrder(&strat.EnterReq{
Tag: "Long Trigger",
})
// 平空单
s.CloseOrders(&strat.ExitReq{
Tag: "Close Short Trigger",
Dirt: core.OdDirtShort,
})
}
// 卖出信号:MACD线下穿信号线
if sellSignal == 1 {
// 开空单
s.OpenOrder(&strat.EnterReq{
Tag: "Short Trigger",
Short: true,
})
// 平多单
s.CloseOrders(&strat.ExitReq{
Tag: "Close Long Trigger",
Dirt: core.OdDirtLong,
})
}
},
}
}