Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Application = "stock" MinVersion = "0.0.1" // 版本号 )
View Source
var CmdBackTesting = &cmder.Command{ Use: "backtesting", Short: "回测", Run: func(cmd *cmder.Command, args []string) { securityCode = strings.TrimSpace(securityCode) securityCode = exchange.CorrectSecurityCode(securityCode) if len(securityCode) > 0 { tracker.CheckStrategy(strategyCode, securityCode) } else { tracker.BackTesting(days, topN) } }, }
CmdBackTesting 回测
View Source
var CmdBestIP = &cmder.Command{ Use: "bestip", Short: "检测服务器网速", Run: func(cmd *cmder.Command, args []string) { quotes.BestIP() }, }
CmdBestIP 检测服务器地址
View Source
var CmdConfig = &cmder.Command{ Use: "config", Short: "显示配置信息", Run: func(cmd *cmder.Command, args []string) { data, err := yaml.Marshal(config.GlobalConfig) if err != nil { fmt.Println(err) } else { fmt.Println(api.Bytes2String(data)) } }, }
CmdConfig 显示配置信息
View Source
var CmdPrint = &cmder.Command{ Use: "print", Example: Application + " print sh000001", Short: "打印K线概要", Run: func(cmd *cmder.Command, args []string) { tradeDate := cache.DefaultCanReadDate() if len(flagDate.Value) > 0 { tradeDate = exchange.FixTradeDate(flagDate.Value) } keywords := "" code := "" for _, m := range printModules { if len(m.Value) > 0 { keywords = m.Name code = m.Value break } } if len(keywords) > 0 { plugins := cache.PluginsWithName(cache.PluginMaskFeature, keywords) if len(plugins) == 0 { fmt.Printf("没有找到名字是[%s]的数据插件\n", keywords) } else { handlePrintData(code, tradeDate, plugins[0]) } } else { if len(args) != 1 { fmt.Println(cmd.Help()) return } securityCode := args[0] printKline(securityCode, tradeDate) } }, }
CmdPrint 打印命令
View Source
var CmdRepair = &cmder.Command{ Use: "repair", Example: Application + " repair --all", Args: func(cmd *cmder.Command, args []string) error { return nil }, Short: "修复数据", Long: `修复数据`, Run: func(cmd *cmder.Command, args []string) { beginDate := exchange.FixTradeDate(flagStartDate.Value) endDate := cache.DefaultCanReadDate() if len(flagEndDate.Value) > 0 { endDate = exchange.FixTradeDate(flagEndDate.Value) } dates := exchange.TradingDateRange(beginDate, endDate) count := len(dates) fmt.Printf("修复数据: %s => %s"+strings.Repeat("\r\n", 2), dates[0], dates[count-1]) base.UpdateTickStartDate(dates[0]) if flagAll.Value { handleRepairAll(dates) } else if len(flagBaseData.Value) > 0 { all, keywords := parseFields(flagBaseData.Value) if all || len(keywords) == 0 { handleRepairAllDataSets(dates) } else { plugins := cache.PluginsWithName(cache.PluginMaskBaseData, keywords...) if len(plugins) == 0 { fmt.Printf("没有找到名字是[%s]的数据插件\n", strings.Join(keywords, ",")) } else { handleRepairDataSetsWithPlugins(dates, plugins) } } } else if len(flagFeatures.Value) > 0 { all, keywords := parseFields(flagFeatures.Value) if all || len(keywords) == 0 { handleRepairAllFeatures(dates) } else { plugins := cache.PluginsWithName(cache.PluginMaskFeature, keywords...) if len(plugins) == 0 { fmt.Printf("没有找到名字是[%s]的数据插件\n", strings.Join(keywords, ",")) } else { handleRepairFeaturesWithPlugins(dates, plugins) } } } else { fmt.Println("Error: 非全部修复, 必须携带--features或--base") _ = cmd.Usage() } }, }
CmdRepair 补登历史数据
View Source
var CmdRules = &cmder.Command{ Use: "rules", Short: "规则", Args: func(cmd *cmder.Command, args []string) error { return nil }, PreRun: func(cmd *cmder.Command, args []string) { }, Run: func(cmd *cmder.Command, args []string) { rules.PrintRuleList() }, }
CmdRules 规则
View Source
var CmdSafes = &cmder.Command{ Use: "safes", Example: Application + " safes --code=sh000001 --type=1", Short: "黑白名单", Run: func(cmd *cmder.Command, args []string) { if len(safesSecurityCode) == 0 { fmt.Println("证券代码不能为空") return } trader.AddCodeToBlackList(safesSecurityCode, trader.SecureType(safesSecureType)) }, }
CmdSafes 安全类-黑白名单
View Source
var CmdService = &cobra.Command{ Use: "service", Example: Application + " service install | uninstall | remove | start | stop | list | status", Short: "守护进程/服务", Run: func(cmd *cobra.Command, args []string) { if len(args) > 0 { serviceCommand = args[0] } daemonKind := daemon.SystemDaemon serviceName := Application switch runtime.GOOS { case "darwin": daemonKind = daemon.UserAgent case "windows": serviceName = "Quant1X-Stock" } srv, err := daemon.New(serviceName, serviceDescription, daemonKind) if err != nil { logger.Errorf("Error: %+v", err) fmt.Println("Error: ", err) os.Exit(1) } service := &Service{srv} replacer := strings.NewReplacer("${ROOT_PATH}", cache.GetRootPath(), "${LOG_PATH}", cache.GetLoggerPath()) properties := replacer.Replace(propertyList) _ = service.daemon.SetTemplate(properties) status, err := service.Manage() if err != nil { logger.Errorf("Error: %+v", err) fmt.Println(status, "\nError: ", err) os.Exit(1) } fmt.Println(status) }, }
CmdService 守护进程
View Source
var CmdTools = &cmder.Command{ Use: "tool", Example: Application + " tool --help", Short: "工具", Run: func(cmd *cmder.Command, args []string) { }, }
View Source
var CmdUpdate = &cmder.Command{ Use: "update", Example: Application + " update --all", Args: func(cmd *cmder.Command, args []string) error { return nil }, Short: "更新数据", Long: `更新数据`, Run: func(cmd *cmder.Command, args []string) { fmt.Println() currentDate := cache.DefaultCanUpdateDate() cacheDate, featureDate := cache.CorrectDate(currentDate) if flagAll.Value { handleUpdateAll(cacheDate, featureDate) } else if len(flagBaseData.Value) > 0 { all, keywords := parseFields(flagBaseData.Value) if all || len(keywords) == 0 { clear(keywords) } handleUpdateBaseDataWithKeywords(cacheDate, featureDate, keywords...) } else if len(flagFeatures.Value) > 0 { all, keywords := parseFields(flagFeatures.Value) if all || len(keywords) == 0 { clear(keywords) } handleUpdateFeaturesWithKeywords(cacheDate, featureDate, keywords...) } else { fmt.Println("Error: 非全部更新, 必须携带--features或--base") _ = cmd.Usage() } }, }
CmdUpdate 更新数据
View Source
var CmdVersion = &cmder.Command{ Use: "version", Short: "显示版本号", Run: func(cmd *cmder.Command, args []string) { fmt.Println(MinVersion) }, }
CmdVersion 版本
Functions ¶
func UpdateApplicationName ¶ added in v0.2.3
func UpdateApplicationName(name string)
UpdateApplicationName 更新应用(Application)名称
func UpdateApplicationVersion ¶ added in v0.1.5
func UpdateApplicationVersion(v string)
UpdateApplicationVersion 更新版本号
Types ¶
Click to show internal directories.
Click to hide internal directories.