38 lines
759 B
Go
38 lines
759 B
Go
package rule
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"git.apinb.com/quant/gostock/internal/impl"
|
|
"git.apinb.com/quant/gostock/internal/models"
|
|
)
|
|
|
|
var (
|
|
LastAmountDay = 20
|
|
MinAmount float64 = 100000 // 万元为单位
|
|
)
|
|
|
|
func (r *RuleFactory) RunAmount(code string) {
|
|
log.Println("RunAmount:", r.Model.Code, "Args:", LastAmountDay, MinAmount)
|
|
|
|
var data []models.StockDaily
|
|
impl.DBService.Where("ts_code = ?", code).Order("trade_date desc").Limit(LastAmountDay).Find(&data)
|
|
|
|
check := true
|
|
for _, row := range data {
|
|
if row.Amount < MinPrice {
|
|
check = false
|
|
break
|
|
}
|
|
}
|
|
|
|
if !check {
|
|
r.Model.GtAmount = -1
|
|
r.Model.AddDesc(fmt.Sprintf("最近%d天, 有成交额低于%.2f万元", LastAmountDay, MinAmount))
|
|
return
|
|
}
|
|
|
|
r.Model.GtAmount = 1
|
|
}
|