init
This commit is contained in:
41
trend/cci100.go
Normal file
41
trend/cci100.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package trend
|
||||
|
||||
import (
|
||||
"github.com/banbox/banbot/config"
|
||||
"github.com/banbox/banbot/strat"
|
||||
ta "github.com/banbox/banta"
|
||||
)
|
||||
|
||||
/*
|
||||
视频号:量化牛牛:CCI指标修改一个参数,“单车”变“汽车”
|
||||
收益很不稳定,至少8H盈利。
|
||||
*/
|
||||
|
||||
func CCI100(p *config.RunPolicyConfig) *strat.TradeStrat {
|
||||
return &strat.TradeStrat{
|
||||
WarmupNum: 100,
|
||||
OnBar: func(s *strat.StratJob) {
|
||||
e := s.Env
|
||||
cci := ta.CCI(e.Close, 50)
|
||||
cciN100 := cci.Cross(-100)
|
||||
cciP100 := cci.Cross(100)
|
||||
|
||||
if len(s.LongOrders) > 0 {
|
||||
if cciP100 == 1 {
|
||||
// 上穿100,减仓
|
||||
s.CloseOrders(&strat.ExitReq{Tag: "half", ExitRate: 0.5})
|
||||
} else if cciP100 == -1 {
|
||||
// 下穿100,平仓
|
||||
s.CloseOrders(&strat.ExitReq{Tag: "exit"})
|
||||
} else if cciN100 == -1 {
|
||||
// 止损离场
|
||||
s.CloseOrders(&strat.ExitReq{Tag: "stop"})
|
||||
}
|
||||
}
|
||||
if cciN100 == 1 {
|
||||
// 上穿-100,入场
|
||||
s.OpenOrder(&strat.EnterReq{Tag: "long"})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user