2 Star 7 Fork 11

王布衣/engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
storage.go 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
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)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v0.6.4

搜索帮助