Files
gostock/internal/logic/strategy/rule/price.go

38 lines
677 B
Go
Raw Normal View History

2026-01-27 02:34:26 +08:00
package rule
import (
2026-01-27 17:21:26 +08:00
"fmt"
2026-01-31 18:22:58 +08:00
"log"
2026-01-27 17:21:26 +08:00
2026-01-27 02:34:26 +08:00
"git.apinb.com/quant/gostock/internal/impl"
"git.apinb.com/quant/gostock/internal/models"
)
var (
2026-01-27 17:21:26 +08:00
LastDay = 20
2026-01-27 02:34:26 +08:00
MinPrice = 5.0
)
2026-01-31 18:22:58 +08:00
func (r *RuleFactory) RunPrice(code string) {
log.Println("RunPrice:", r.Model.Code, "Args:", LastDay, MinPrice)
2026-01-27 02:34:26 +08:00
2026-01-27 17:21:26 +08:00
var data []models.StockDaily
impl.DBService.Where("ts_code = ?", code).Order("trade_date desc").Limit(LastDay).Find(&data)
check := true
for _, row := range data {
if row.Close < MinPrice {
check = false
break
}
}
if !check {
2026-02-01 14:57:20 +08:00
r.Model.GtPrice = -1
2026-01-31 18:22:58 +08:00
r.Model.AddDesc(fmt.Sprintf("最近%d天, 有价格低于%.2f", LastDay, MinPrice))
return
2026-01-27 02:34:26 +08:00
}
2026-02-01 14:57:20 +08:00
r.Model.GtPrice = 1
2026-01-27 02:34:26 +08:00
}