package restful import ( "log" "git.apinb.com/quant/gostock/internal/impl" "git.apinb.com/quant/gostock/internal/logic/mock" "git.apinb.com/quant/gostock/internal/logic/strategy" "git.apinb.com/quant/gostock/internal/logic/strategy/rule" "git.apinb.com/quant/gostock/internal/models" "github.com/gin-gonic/gin" ) func Starter(ctx *gin.Context) { log.Println("Strategy START.") ymd := models.GetYmd() for _, code := range strategy.GetStocks() { strategy.InitCacheByCode(code) model := models.NewStratModel("selector", code, ymd) stratRule := rule.NewRule(model) { stratRule.RunUpDate(strategy.Cache[code].Basic.ListDate) stratRule.RunST(strategy.Cache[code].Basic.Name) stratRule.RunIndustry(strategy.Cache[code].Basic.Industry) stratRule.RunPrice(code) stratRule.RunAmount(code) stratRule.RunRoe(code) stratRule.RunRsi(code) // 过滤无需AI分析 if model.UpDateDay > 180 && model.StScore > 0 && model.IndustryScore > 0 && model.GtPrice > 0 && model.GtAmount > 0 && model.GtRoe > 0 && model.ScoreRsi > 0 { model.AiScore = 0 // 待分析 } else { model.AiScore = -2 model.AddDesc("无需AI分析") } } model.Save() } // 加入资金流向特大的标地 var codes []string impl.DBService.Model(&models.MoneyTotal{}).Where("is_greater_pervious = ? and last3_day_mf_amount>", true, 100000).Pluck("code", &codes) impl.DBService.Model(&models.StratModel{}).Where("ai_score=-2 and code in ?", codes).Update("ai_score", 0) strategy.BootAiStart("selector", ymd) log.Println("Strategy END.") mock.Run("selector", ymd) }