okx简单报价

赌博什么限制都没有,真正干点活,七卡八卡

宇宙的尽头赌博

OKX USDT 永续合约列表 (instId):

BTC-USD_UM-SWAP
ETH-USD_UM-SWAP
SOL-USD_UM-SWAP
BTC-USDT-SWAP
ETH-USDT-SWAP
OKB-USDT-SWAP
SOL-USDT-SWAP
DOGE-USDT-SWAP
XRP-USDT-SWAP
BCH-USDT-SWAP
PUMP-USDT-SWAP
WLFI-USDT-SWAP
LINEA-USDT-SWAP
0G-USDT-SWAP
1INCH-USDT-SWAP
2Z-USDT-SWAP
A-USDT-SWAP
AAVE-USDT-SWAP
ACE-USDT-SWAP
ACH-USDT-SWAP
ACT-USDT-SWAP
ADA-USDT-SWAP
AERO-USDT-SWAP
AEVO-USDT-SWAP
AGLD-USDT-SWAP
AIXBT-USDT-SWAP
ALGO-USDT-SWAP
ANIME-USDT-SWAP
APE-USDT-SWAP
API3-USDT-SWAP
APR-USDT-SWAP
APT-USDT-SWAP
AR-USDT-SWAP
ARB-USDT-SWAP
ARKM-USDT-SWAP
ASTER-USDT-SWAP
AT-USDT-SWAP
ATH-USDT-SWAP
ATOM-USDT-SWAP
AUCTION-USDT-SWAP
AVAX-USDT-SWAP
AVNT-USDT-SWAP
AXS-USDT-SWAP
BABY-USDT-SWAP
BAND-USDT-SWAP
BARD-USDT-SWAP
BAT-USDT-SWAP
BERA-USDT-SWAP
BICO-USDT-SWAP
BIGTIME-USDT-SWAP
BIO-USDT-SWAP
BLUR-USDT-SWAP
BLUAI-USDT-SWAP
BNB-USDT-SWAP
BNT-USDT-SWAP
BOME-USDT-SWAP
BONK-USDT-SWAP
BRETT-USDT-SWAP
CAT-USDT-SWAP
CATI-USDT-SWAP
CC-USDT-SWAP
CELO-USDT-SWAP
CETUS-USDT-SWAP
CFX-USDT-SWAP
CHZ-USDT-SWAP
COAI-USDT-SWAP
COMP-USDT-SWAP
COOKIE-USDT-SWAP
CORE-USDT-SWAP
CRO-USDT-SWAP
CRV-USDT-SWAP
CTC-USDT-SWAP
CVC-USDT-SWAP
CVX-USDT-SWAP
DASH-USDT-SWAP
DEGEN-USDT-SWAP
DOOD-USDT-SWAP
DOT-USDT-SWAP
DYDX-USDT-SWAP
EDEN-USDT-SWAP
EGLD-USDT-SWAP
EIGEN-USDT-SWAP
ENA-USDT-SWAP
ENJ-USDT-SWAP
ENS-USDT-SWAP
ENSO-USDT-SWAP
ETC-USDT-SWAP
ETHW-USDT-SWAP
ETHFI-USDT-SWAP
F-USDT-SWAP
FARTCOIN-USDT-SWAP
FIL-USDT-SWAP
FLOKI-USDT-SWAP
FLOW-USDT-SWAP
FXS-USDT-SWAP
GALA-USDT-SWAP
GAS-USDT-SWAP
GIGGLE-USDT-SWAP
GLM-USDT-SWAP
GMT-USDT-SWAP
GMX-USDT-SWAP
GOAT-USDT-SWAP
GPS-USDT-SWAP
GRASS-USDT-SWAP
GRT-USDT-SWAP
H-USDT-SWAP
HBAR-USDT-SWAP
HMSTR-USDT-SWAP
HOME-USDT-SWAP
HUMA-USDT-SWAP
HYPE-USDT-SWAP
ICP-USDT-SWAP
ICX-USDT-SWAP
IMX-USDT-SWAP
INIT-USDT-SWAP
INJ-USDT-SWAP
IOST-USDT-SWAP
IOTA-USDT-SWAP
IP-USDT-SWAP
JELLYJELLY-USDT-SWAP
JOE-USDT-SWAP
JTO-USDT-SWAP
JUP-USDT-SWAP
KAITO-USDT-SWAP
KGEN-USDT-SWAP
KITE-USDT-SWAP
KMNO-USDT-SWAP
KSM-USDT-SWAP
LA-USDT-SWAP
LAB-USDT-SWAP
LAYER-USDT-SWAP
LDO-USDT-SWAP
LINK-USDT-SWAP
LPT-USDT-SWAP
LQTY-USDT-SWAP
LRC-USDT-SWAP
LTC-USDT-SWAP
LUNA-USDT-SWAP
MAGIC-USDT-SWAP
MANA-USDT-SWAP
MASK-USDT-SWAP
ME-USDT-SWAP
MEME-USDT-SWAP
MERL-USDT-SWAP
METIS-USDT-SWAP
MET-USDT-SWAP
MEW-USDT-SWAP
MINA-USDT-SWAP
MMT-USDT-SWAP
MOG-USDT-SWAP
MON-USDT-SWAP
MOODENG-USDT-SWAP
MORPHO-USDT-SWAP
MOVE-USDT-SWAP
MUBARAK-USDT-SWAP
NEAR-USDT-SWAP
NEIRO-USDT-SWAP
NEO-USDT-SWAP
NEWT-USDT-SWAP
NMR-USDT-SWAP
NOT-USDT-SWAP
OL-USDT-SWAP
OM-USDT-SWAP
ONDO-USDT-SWAP
ONE-USDT-SWAP
ONT-USDT-SWAP
OP-USDT-SWAP
ORDI-USDT-SWAP
ORDER-USDT-SWAP
PARTI-USDT-SWAP
PENGU-USDT-SWAP
PENDLE-USDT-SWAP
PEOPLE-USDT-SWAP
PEPE-USDT-SWAP
PI-USDT-SWAP
PIGGY-USDT-SWAP
PLUME-USDT-SWAP
PNUT-USDT-SWAP
POL-USDT-SWAP
POPCAT-USDT-SWAP
PRCL-USDT-SWAP
PROMPT-USDT-SWAP
PROVE-USDT-SWAP
PYTH-USDT-SWAP
QTUM-USDT-SWAP
RAY-USDT-SWAP
RECALL-USDT-SWAP
RENDER-USDT-SWAP
RESOLV-USDT-SWAP
RSR-USDT-SWAP
RVN-USDT-SWAP
S-USDT-SWAP
SAHARA-USDT-SWAP
SAND-USDT-SWAP
SAPIEN-USDT-SWAP
SATS-USDT-SWAP
SHELL-USDT-SWAP
SHIB-USDT-SWAP
SIGN-USDT-SWAP
SKY-USDT-SWAP
SNX-USDT-SWAP
SOLV-USDT-SWAP
SONIC-USDT-SWAP
SOON-USDT-SWAP
SOPH-USDT-SWAP
SPK-USDT-SWAP
SPX-USDT-SWAP
SSV-USDT-SWAP
STRK-USDT-SWAP
STX-USDT-SWAP
SUI-USDT-SWAP
SUSHI-USDT-SWAP
SYRUP-USDT-SWAP
TAO-USDT-SWAP
THETA-USDT-SWAP
TIA-USDT-SWAP
TON-USDT-SWAP
TRB-USDT-SWAP
TREE-USDT-SWAP
TRUMP-USDT-SWAP
TRUST-USDT-SWAP
TRX-USDT-SWAP
TURBO-USDT-SWAP
TURTLE-USDT-SWAP
UMA-USDT-SWAP
UNI-USDT-SWAP
USDC-USDT-SWAP
USELESS-USDT-SWAP
VANA-USDT-SWAP
VIRTUAL-USDT-SWAP
W-USDT-SWAP
WAL-USDT-SWAP
WCT-USDT-SWAP
WIF-USDT-SWAP
WLD-USDT-SWAP
WOO-USDT-SWAP
XAN-USDT-SWAP
XAUT-USDT-SWAP
XLM-USDT-SWAP
XPL-USDT-SWAP
XTZ-USDT-SWAP
YB-USDT-SWAP
YFI-USDT-SWAP
YGG-USDT-SWAP
ZBT-USDT-SWAP
ZEC-USDT-SWAP
ZENT-USDT-SWAP
ZEN-USDT-SWAP
ZETA-USDT-SWAP
ZIL-USDT-SWAP
ZK-USDT-SWAP
ZORA-USDT-SWAP
ZRO-USDT-SWAP
ZRX-USDT-SWAP
BTC-USDC-SWAP
ETH-USDC-SWAP

买定离手 永续合约交易所获利武器

——————– 2. 结构体 ——————–
type wsMessage struct {
Arg struct {
Channel string json:"channel"
InstId string json:"instId"
} json:"arg"
Data []struct {
InstId string json:"instId" // 订阅时会返回
Bids [][]string json:"bids"
Asks [][]string json:"asks"
} json:"data"
}

// ——————– 3. 主函数 ——————–
func main() {
// 捕获 Ctrl+C 退出
sigCh := make(chan os.Signal, 1)
signal.Notify(sigCh, os.Interrupt)

// 打印表头
fmt.Println("Time\t\tInstId\tMidPrice")

// 启动监听 goroutine
go listenOKX()

// 阻塞直到收到退出信号
<-sigCh

}

// ——————– 4. 监听 OKX ——————–
func listenOKX() {
// 1️⃣ 连接 OKX WebSocket
wsURL := “wss://ws.okx.com:8443/ws/v5/public”
c, _, err := websocket.DefaultDialer.Dial(wsURL, nil)
if err != nil {
log.Fatalf(“OKX connect error: %v”, err)
}
defer c.Close()

// 2️⃣ 订阅请求(一次性订阅所有交易对)
args := make([]map[string]string, 0, len(instruments))
for _, inst := range instruments {
    args = append(args, map[string]string{
        "channel": "books5",
        "instId":  inst,
    })
}
subMsg := fmt.Sprintf(`{"op":"subscribe","args":%s}`, marshalJSON(args))
if err := c.WriteMessage(websocket.TextMessage, []byte(subMsg)); err != nil {
    log.Fatalf("OKX subscribe error: %v", err)
}

// 3️⃣ 循环读取消息
for {
    _, raw, err := c.ReadMessage()
    if err != nil {
        log.Printf("OKX read error: %v", err)
        return
    }

    var msg wsMessage
    if err := json.Unmarshal(raw, &msg); err != nil {
        // 解析失败直接跳过
        continue
    }

    // 只关注 books5 频道
    if msg.Arg.Channel != "books5" {
        continue
    }

    // 可能一次收到多种交易对的更新,遍历 data 数组
    for _, d := range msg.Data {
        if len(d.Bids) == 0 || len(d.Asks) == 0 {
            continue // 没有买卖一报价,跳过
        }
        bidStr, askStr := d.Bids[0][0], d.Asks[0][0]
        bid, _ := strconv.ParseFloat(bidStr, 64)
        ask, _ := strconv.ParseFloat(askStr, 64)
        mid := (bid + ask) / 2.0

        // 连续打印
        fmt.Printf("%s\t%s\t%.2f\n",
            time.Now().Format("15:04:05.000"),
            d.InstId,
            mid,
        )
    }
}

}

发布者:archimedesspx

cycle expert

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注