Files
banstagy/trend/kdjBig.go
2026-08-24 20:53:21 +08:00

47 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package trend
import (
"github.com/banbox/banbot/config"
"github.com/banbox/banbot/core"
"github.com/banbox/banbot/strat"
ta "github.com/banbox/banta"
)
/*
视频号:量化牛牛:改一个参数,如何轻松拿捏行情呢?
KDJ的9,3,3改9,3,30(原文89),然后平滑D和50交叉时开平仓。
最小4H
加入EMA做空后更稳定。
*/
func KdjBig(p *config.RunPolicyConfig) *strat.TradeStrat {
return &strat.TradeStrat{
WarmupNum: 100,
OnBar: func(s *strat.StratJob) {
e := s.Env
_, kdjD, _ := ta.KDJ(e.High, e.Low, e.Close, 9, 3, 29)
jx50 := kdjD.Cross(50)
maaX := ta.EMA(e.Close, 9).Cross(ta.EMA(e.Close, 30))
if len(s.LongOrders) > 0 {
if jx50 == -1 {
s.CloseOrders(&strat.ExitReq{Tag: "exitL", Dirt: core.OdDirtLong})
}
} else if len(s.ShortOrders) > 0 {
if maaX == 1 {
s.CloseOrders(&strat.ExitReq{Tag: "exitS", Dirt: core.OdDirtShort})
}
} else if jx50 == 1 {
s.OpenOrder(&strat.EnterReq{
Tag: "long",
})
} else if maaX == -1 {
s.OpenOrder(&strat.EnterReq{
Tag: "short",
Short: true,
})
}
},
}
}