OKEx API 使用全指南:从申请密钥到实时交易策略

·

关键词:OKEx API、数字货币交易接口、自动交易、REST API、WebSocket API、API密钥、账户安全


一、为什么要使用 OKEx API?

高波动全天候交易的数字货币市场,手动操作显然效率太低。通过 OKEx 提供的官方 API,你可以:


二、十分钟完成 API 接入的 4 个关键步骤

2.1 注册并完成 KYC

  1. 打开欧易官网,完成邮箱或手机号注册。
  2. 根据提示完成 KYC(实名认证),为后续提币、高额交易做准备。

2.2 创建 API 密钥

  1. 登录后点击右上角「个人中心」→「API管理」。
  2. 选择「创建 API」:

    • 自定义备注名,例如 quant_bot_01
    • 绑定常用 IP(若暂未固定 IP,可留空,但强烈建议后续补齐);
    • 对交易需求只勾选「读取」+「交易」两个权限,其余一律关闭。

2.3 环境准备

工具安装示例
Python3brew install python3
请求库pip install requests websocket-client

三、REST API:账户管理 & 下单实战

3.1 结构总览

Base_URL: https://www.okex.com/api/v5

所有请求需在 Header 加入:

OK-ACCESS-KEY: <你的API_KEY>
OK-ACCESS-SIGN: <签名>
OK-ACCESS-TIMESTAMP: <时间戳>
OK-ACCESS-PASSPHRASE: <密码短语>
签名采用 HMAC-SHA256,官方 SDK 已内置,不需从零造轮子。

3.2 获取账户余额

import okex.defines as df
from okex.Account import AccountAPI

acc = AccountAPI(api_key, secret_key, passphrase, False)
balance = acc.get_account_balance()
print(balance[0]['details'][0]['eqUsd'])  # 以美元计价的总资产

示例输出(截断):

143,680.57

3.3 下单示例

from okex.Trade import TradeAPI
tr = TradeAPI(api_key, secret_key, passphrase, False)

params = {
    "instId": "BTC-USDT",
    "tdMode": "cash",
    "side": "buy",
    "ordType": "limit",
    "px": "58000",
    "sz": "0.001"
}
order = tr.place_order(**params)
print(order)

四、WebSocket API:行情大长腿的速度之王

4.1 连接路径

wss://ws.okex.com:8443/ws/v5/public

4.2 代码片段

import websocket, json

def on_open(ws):
    sub = {"op":"subscribe","args":[{"channel":"ticker","instId":"BTC-USDT"}]}
    ws.send(json.dumps(sub))

def on_message(ws, msg):
    data = json.loads(msg)
    if 'data' in data:
        print("最新价:", data['data'][0]['last'])

ws = websocket.WebSocketApp("wss://ws.okex.com:8443/ws/v5/public",
                            on_open=on_open,
                            on_message=on_message)
ws.run_forever(ping_interval=30)

五、进阶:用例与踩坑笔记

案例 1:量化搬砖机器人

  1. 监听 OKEx BTC-USDT 与另一家交易所价差;
  2. 价差 ≥ 0.6 %,执行买一卖一对冲;
  3. 限制单笔成交不大于本月盈利的 5% —> 资金风控策略
    朋友在实盘跑了 14 天,回报率 +4.72%,最大回撤仅 1.1%

案例 2:AI 预测+信号下单


六、安全清单 ✅

维度关键动作风险降低指数
API 权限只开放「读取 + 交易」↓↓↓
IP 白名单仅允许家用与云服务器固定 IP↓↓↓
换手率单笔不超过总资产 10%↓↓
定期复核每两周更新一次密钥并撤回旧密钥↓↓

七、FAQ:你最关心的 5 个问题

Q1:如果 API 返回 Client request error(401),怎么办?
A:通常是签名过期或 API 权限不足,检查 OK-ACCESS-TIMESTAMP 是否偏差 >= 30 秒

Q2:一个账户最多可以创建几个 API?
A:Sandbox 与实盘各支持最多 20 组密钥,超出即提示 max_len_exceeded

Q3:WebSocket 断线后重连策略?
A:建议 指数回退:首次断线 1 秒后重连,之后以 2 倍时间递增,封顶 60 秒。

Q4:如何批量撤单?
A:REST 端 POST /api/v5/trade/cancel-batch-orders,一次最多 20 笔,多次并发即可。

Q5:手续费能打折吗?
A:持有 OKB 可享 tier0 → tier5 的手续费折扣,从 0.1% 最低降至 0.02%。👉立即解锁低费率通道


八、立即行动

读完本篇文章,你已拥有从 0 到完成全自动交易的全部知识跳板。下一步

祝你写出永不犯困的交易机器人,把策略复制、盈利继续。