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, "通过" }