Fetch the repository succeeded.
package command
import (
"fmt"
"gitee.com/quant1x/engine/models"
"gitee.com/quant1x/gox/runtime"
"gitee.com/quant1x/pandas/stat"
cmder "github.com/spf13/cobra"
goruntime "runtime"
"strings"
)
var (
strategyNumber = 0 // 策略编号
businessDebug = runtime.Debug() // 业务调试开关
cpuAvx2 = false // AVX2加速状态
cpuNum = goruntime.NumCPU() / 2 // cpu数量
)
var engineCmd = &cmder.Command{
Use: Application,
Run: func(cmd *cmder.Command, args []string) {
model, err := models.CheckoutStrategy(strategyNumber)
if err != nil {
fmt.Println(err)
return
}
barIndex := 1
models.ExecuteStrategy(model, &barIndex)
},
PersistentPreRun: func(cmd *cmder.Command, args []string) {
// 重置全局调试状态
runtime.SetDebug(businessDebug)
// AVX2 加速
stat.SetAvx2Enabled(cpuAvx2)
// 设置CPU最大核数
runtime.GoMaxProcs(cpuNum)
},
PersistentPostRun: func(cmd *cmder.Command, args []string) {
//
},
}
// 初始化全部子命令
func initSubCommands() {
initPrint()
initRepair()
initUpdate()
initRules()
initSafes()
initBackTesting()
}
// GlobalFlags engine支持的全部命令
func GlobalFlags() *cmder.Command {
initSubCommands()
engineCmd.Flags().IntVar(&strategyNumber, "strategy", models.DefaultStrategy, models.UsageStrategyList())
engineCmd.Flags().IntVar(&models.CountDays, "count", 0, "统计多少天")
engineCmd.Flags().IntVar(&models.CountTopN, "top", models.AllStockTopN(), "输出前排几名")
engineCmd.PersistentFlags().BoolVar(&businessDebug, "debug", businessDebug, "打开业务调试开关, 慎重使用!")
engineCmd.PersistentFlags().BoolVar(&cpuAvx2, "avx2", false, "Avx2 加速开关")
engineCmd.PersistentFlags().IntVar(&cpuNum, "cpu", cpuNum, "设置CPU最大核数")
engineCmd.AddCommand(CmdVersion, CmdPrint, CmdBackTesting, CmdRules)
engineCmd.AddCommand(CmdUpdate, CmdRepair, CmdService, CmdSafes)
return engineCmd
}
func parseFlagError(err error) (flag, value string) {
before, _, ok := strings.Cut(err.Error(), "flag:")
if !ok {
return
}
before = strings.TrimSpace(before)
//_, err1 := fmt.Sscanf(before, "invalid argument \"%s\" for \"--%s\"", &value, &flag)
//if err1 != nil {
// return
//}
arr := strings.Split(before, "\"")
if len(arr) != 5 {
return
}
value = strings.TrimSpace(arr[1])
flag = strings.TrimSpace(arr[3])
arr = strings.Split(flag, "-")
flag = arr[len(arr)-1]
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。