11点涨停逻辑变更为10点
This commit is contained in:
@@ -2,6 +2,7 @@ package service
|
||||
|
||||
import (
|
||||
"math"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"level_go/internal/model"
|
||||
@@ -193,7 +194,7 @@ func buildLimitBreakNextPerformanceStock(row limitBreakNextPerformanceRow) model
|
||||
if row.FirstTime != nil {
|
||||
item.FirstTime = formatLimitTime(*row.FirstTime)
|
||||
}
|
||||
item.BreakTimeBefore1100 = isLimitBreakTimeBeforeEleven(item.FirstTime)
|
||||
item.BreakTimeBefore1100 = isLimitBreakTimeBeforeTen(item.FirstTime)
|
||||
if row.TPreClose != nil && *row.TPreClose > 0 {
|
||||
// T 日开盘涨幅以 T 日前收为基准,低于 101% 用于筛选低开/小幅高开炸板。
|
||||
item.TOpenPctChg = pctChangePtr(row.TOpen, *row.TPreClose)
|
||||
@@ -251,12 +252,38 @@ func formatLimitTime(value string) string {
|
||||
return timeText[0:2] + ":" + timeText[2:4] + ":" + timeText[4:6]
|
||||
}
|
||||
|
||||
// isLimitBreakTimeBeforeEleven 判断炸板时间是否早于 11:00。
|
||||
// isLimitBreakTimeBeforeTen 判断炸板时间是否早于 10:00。
|
||||
//
|
||||
// 空时间在当前业务中视为满足条件,保持历史接口行为。
|
||||
func isLimitBreakTimeBeforeEleven(limitTime string) bool {
|
||||
func isLimitBreakTimeBeforeTen(limitTime string) bool {
|
||||
if strings.TrimSpace(limitTime) == "" {
|
||||
return true
|
||||
}
|
||||
return isBeforeEleven(&limitTime)
|
||||
|
||||
timeText := formatLimitTime(limitTime)
|
||||
parts := strings.Split(timeText, ":")
|
||||
if len(parts) < 2 || len(parts) > 3 {
|
||||
return false
|
||||
}
|
||||
|
||||
hour, err := strconv.Atoi(parts[0])
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
minute, err := strconv.Atoi(parts[1])
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
second := 0
|
||||
if len(parts) == 3 {
|
||||
second, err = strconv.Atoi(parts[2])
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
}
|
||||
if hour < 0 || hour > 23 || minute < 0 || minute > 59 || second < 0 || second > 59 {
|
||||
return false
|
||||
}
|
||||
|
||||
return hour < 10
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user