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, }) } }, } }