package exam import ( "fmt" // "gitea.zjmud.xyz/phyer/blingo/cache" // "gitea.zjmud.xyz/phyer/blingo/collector" // "gitea.zjmud.xyz/phyer/blingo/config" // "gitea.zjmud.xyz/phyer/blingo/feature_processor" // "gitea.zjmud.xyz/phyer/blingo/scheduler" // "gitea.zjmud.xyz/phyer/blingo/storage" // "log" // "error" ccxt "gitea.zjmud.xyz/ext/ccxt-go" // "os" // "os/exec" // "net/http" "time" ) func FetchTicker() { // 1. 创建 OKX 交易所实例 okx := ccxt.NewOkx(map[string]interface{}{ "apiKey": "fe468418-5e40-433f-8d04-04951286d417", "secret": "D6D74DF9DD60A25BE2B27CA71D8F814D", "password": "M4pw71Id", "hostname": "aws.okx.com", }) // 3. 可选:自定义 HTTP 客户端配置 // okx.HttpClient.Timeout = 15 * time.Second okx.EnableRateLimit = true // 启用内置速率限制 // 4. 加载市场数据(关键步骤!) marketsChan := okx.LoadMarkets() select { case marketsResult := <-marketsChan: switch v := marketsResult.(type) { case error: panic(fmt.Errorf("加载市场数据失败: %v", v)) case string: panic(fmt.Errorf("加载市场数据失败: %v", v)) case map[string]interface{}: okx.Markets = v default: panic(fmt.Errorf("加载市场数据失败: 未知类型的结果")) } case <-time.After(30 * time.Second): panic(fmt.Errorf("加载市场数据超时")) } fmt.Println("OKX 初始化完成,已加载", len(okx.Markets), "个交易对") // 获取ticker数据 symbol := "BTC/USDT" // tf := "1h" // sc := int64(1672502400000) // lm := int64(1000) // pm := map[string]interface{}{ // "rateLimit": true, // Hypothetical parameter to enable rate limiting // } ticker, err := okx.FetchTicker(symbol) // ticker, err := okx.FetchTicker(symbol, // ccxt.WithFetchTickerParams(map[string]interface{}{})) if err != nil { fmt.Println("获取ticker数据错误:", err) return } fmt.Println("ticker数据:", ticker) }