diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 1e1e452..2da605f 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -3,7 +3,6 @@ package main import ( "log" - "git.apinb.com/bsm-sdk/core/printer" "git.apinb.com/quant/gostock/internal/config" "git.apinb.com/quant/gostock/internal/impl" "git.apinb.com/quant/gostock/internal/logic/strategy" @@ -22,27 +21,20 @@ func main() { var okStocks []string for _, code := range strategy.GetStocks() { - basic := strategy.GetBasic(code) - - result := rule.NewUpDate().Run(basic.ListDate) - if result.Score >0 { + if ok, desc := RuleFilter(code); ok { okStocks = append(okStocks, code) - } else - result := []*types.RuleResult{ - , - rule.NewST().Run(basic.Name), - rule.NewIdustry().Run(basic.Industry), - rule.NewPrice().Run(basic.TsCode), - rule.NewAmount().Run(basic.TsCode), + log.Println(code, desc) + } else { + log.Println(code, "OK") } } - printer.Json(result) + log.Println("共选出", len(okStocks), "支标的!") log.Println("Done!") } -func RuleFilter(code string){ +func RuleFilter(code string) (bool, string) { basic := strategy.GetBasic(code) result := []*types.RuleResult{ rule.NewUpDate().Run(basic.ListDate), @@ -51,4 +43,12 @@ func RuleFilter(code string){ rule.NewPrice().Run(basic.TsCode), rule.NewAmount().Run(basic.TsCode), } + + for _, re := range result { + if re.Score <= 0 { + return false, re.Desc + } + } + + return true, "通过" }