blingo/exam/fetchTicker.go
zhangkun9038@dingtalk.com dd8d3b8a95 remove proxy
2025-03-05 20:47:26 +08:00

67 lines
1.7 KiB
Go

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"
// opt里具体写什么,得需要看okx官方api的内容要求来定
opt := map[string]interface{}{}
ticker, err := okx.FetchTicker(symbol,
ccxt.WithFetchTickerParams(opt))
if err != nil {
fmt.Println("获取ticker数据错误:", err)
return
}
fmt.Println("ticker数据:", ticker)
}