代码拉取完成,页面将自动刷新
package storages
import (
"fmt"
"gitee.com/quant1x/engine/cache"
"gitee.com/quant1x/engine/models"
"gitee.com/quant1x/gotdx/trading"
"gitee.com/quant1x/gox/api"
"gitee.com/quant1x/pandas"
"os"
)
const (
StrategiesPath = "zero-sum" // 策略结果数据文件存储路径
OrdersPath = "qmt" // QMT订单缓存路径
)
// GetResultCachePath 获取结果缓存路径
func GetResultCachePath() string {
path := fmt.Sprintf("%s/%s", cache.GetRootPath(), StrategiesPath)
return path
}
func getQmtCachePath() string {
path := fmt.Sprintf("%s/%s", cache.GetRootPath(), OrdersPath)
return path
}
func OutputStatistics(model models.Strategy, top int, date string, v []models.Statistics) {
df := pandas.LoadStructs(v)
if df.Nrow() == 0 {
return
}
orderFlag := model.OrderFlag()
date = trading.FixTradeDate(date, cache.FilenameDate)
filename := fmt.Sprintf("%s/%s-%d.csv", GetResultCachePath(), date, top)
_ = df.WriteCSV(filename)
updateTime, _ := api.ParseTime(v[0].UpdateTime)
if trading.CanUpdate(updateTime) {
fnOrder := fmt.Sprintf("%s/%s-%s.csv", getQmtCachePath(), date, orderFlag)
if !api.FileExist(fnOrder) {
err := df.WriteCSV(fnOrder)
if err != nil {
fmt.Println(err)
return
}
fnReady := fmt.Sprintf("%s/%s-%s.ready", getQmtCachePath(), date, orderFlag)
file, err := os.Create(fnReady)
if err != nil {
fmt.Println(err)
return
}
api.CloseQuietly(file)
}
}
stockPoolMerge(model, date, v)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。