Files
gostock/cmd/cli/main.go
yanweidong fb6d088e86 deving
2026-01-28 21:14:37 +08:00

55 lines
1.1 KiB
Go

package main
import (
"log"
"git.apinb.com/quant/gostock/internal/config"
"git.apinb.com/quant/gostock/internal/impl"
"git.apinb.com/quant/gostock/internal/logic/strategy"
"git.apinb.com/quant/gostock/internal/logic/strategy/rule"
"git.apinb.com/quant/gostock/internal/logic/types"
)
var (
ServiceKey = "gostock"
)
func main() {
log.Println("Hello Cli!")
config.New(ServiceKey)
impl.NewImpl()
var okStocks []string
for _, code := range strategy.GetStocks() {
if ok, desc := RuleFilter(code); ok {
okStocks = append(okStocks, code)
log.Println(code, desc)
} else {
log.Println(code, "OK")
}
}
log.Println("共选出", len(okStocks), "支标的!")
log.Println("Done!")
}
func RuleFilter(code string) (bool, string) {
basic := strategy.GetBasic(code)
result := []*types.RuleResult{
rule.NewUpDate().Run(basic.ListDate),
rule.NewST().Run(basic.Name),
rule.NewIdustry().Run(basic.Industry),
rule.NewPrice().Run(basic.TsCode),
rule.NewAmount().Run(basic.TsCode),
}
for _, re := range result {
if re.Score <= 0 {
return false, re.Desc
}
}
return true, "通过"
}