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

50
trend/rsi_macd.go Normal file
View File

@@ -0,0 +1,50 @@
package trend
import (
"github.com/banbox/banbot/config"
"github.com/banbox/banbot/strat"
ta "github.com/banbox/banta"
)
func rsi_macd(p *config.RunPolicyConfig) *strat.TradeStrat {
return &strat.TradeStrat{
WarmupNum: 100,
OnBar: func(s *strat.StratJob) {
e := s.Env
rsi := ta.RSI(e.Close, 2).Get(0)
sml := ta.SMA(e.Close, 5).Get(0)
big := ta.SMA(e.Close, 20).Get(0)
if len(s.LongOrders) > 0 {
for _, od := range s.LongOrders {
barNum := e.BarCount(od.EnterAt)
if barNum > 5 {
s.CloseOrders(&strat.ExitReq{
Tag: "exitL",
OrderID: od.ID,
})
}
}
} else if rsi <= 10 && sml > big {
s.OpenOrder(&strat.EnterReq{
Tag: "long",
})
}
if len(s.ShortOrders) > 0 {
for _, od := range s.ShortOrders {
barNum := e.BarCount(od.EnterAt)
if barNum > 5 {
s.CloseOrders(&strat.ExitReq{
Tag: "exitS",
OrderID: od.ID,
})
}
}
} else if rsi >= 90 && sml < big {
s.OpenOrder(&strat.EnterReq{
Tag: "short",
Short: true,
})
}
},
}
}