欧易交易所官网API接口申请教程,手把手教你用Python写交易脚本

admin okx快讯 1

目录导读

  1. 欧易API接口是什么?普通人能用它干嘛?
  2. 欧易交易所官网API申请全流程(图文详解)
  3. Python环境搭建:你需要提前准备什么?
  4. 手写第一个交易脚本:获取实时行情数据
  5. 进阶功能:自动下单与止损脚本怎么写?
  6. 常见问题问答(Q&A)
  7. 注意事项与安全建议

欧易API接口是什么?普通人能用它干嘛?

很多刚接触加密货币交易的朋友可能会问:我明明可以在欧易交易所官网直接买卖,为什么还要折腾API接口?

欧易交易所官网API接口申请教程,手把手教你用Python写交易脚本-第1张图片-欧易交易所

简单说,API接口就像是给电脑装了个“遥控器”,当你手动交易时,需要盯着屏幕、分析K线、点击买卖按钮;而通过API,你可以写一个Python脚本,让它自动帮你完成这些操作。

  • 每天早上8点自动买入某个币种
  • 当价格跌破某个位置时自动止损卖出
  • 同时监控多个交易对,捕捉价差套利机会

如果你是做量化交易或者想解放双手的普通用户,学会用Python调用欧易API,能帮你省下大量盯盘时间。


欧易交易所官网API申请全流程

在写代码之前,你得先拿到“钥匙”——也就是API Key,操作步骤很简单:

第一步:登录欧易交易所官网(建议使用 okwi.com.cn 这个链接进入,安全可靠)。

第二步:在右上角头像菜单里找到“API”选项,点击进入。

第三步:点击“创建API”,系统会要求你设置权限,建议新手先选“只读”权限,等熟悉了再开通交易权限。

第四步:输入资金密码和谷歌验证码,系统会生成一对密钥:

  • API Key:相当于你的账号ID
  • Secret Key:相当于密码,一定要保存好,不要告诉任何人,后台也不会再显示完整内容

第五步:创建成功后,你会看到下图这样的界面(示意图省略),把API Key和Secret Key复制到本地安全的地方,后续Python脚本需要用到。

小提示:如果你之前还没注册欧易账号,可以先通过 欧易交易所下载 完成注册和KYC认证,再回来申请API。


Python环境搭建:你需要提前准备什么?

写交易脚本不需要太复杂的开发环境,你只需装好以下工具:

1 安装Python

去官网下载Python 3.8以上版本,安装时记得勾选“Add Python to PATH”。

2 安装依赖包

打开命令行(Windows用CMD或PowerShell,Mac用终端),执行:

pip install requests 
pip install hashlib
pip install hmac
pip install base64

这些库的作用分别是发送HTTP请求、做加密签名、处理时间戳等。

3 确认网络能访问API

欧易的API服务器地址是 https://www.okx.com,但如果你在国内,建议通过 okwi.com.cn 获取最新的可访问地址信息。


手写第一个交易脚本:获取实时行情数据

现在开始写代码!我们先实现一个最简单的功能:查询比特币的当前价格。

import requests
import json
# 配置参数
base_url = "https://www.okx.com"  # 建议替换为 okwi.com.cn 提供的稳定入口
instrument_id = "BTC-USDT"  # 交易对
# 构造请求
endpoint = f"/api/v5/market/ticker?instId={instrument_id}"
url = base_url + endpoint
# 发送GET请求
response = requests.get(url)
data = response.json()
# 提取价格信息
if data.get("code") == "0":
    ticker = data["data"][0]
    print(f"当前BTC价格: {ticker['last']} USDT")
    print(f"24小时最高价: {ticker['high24h']}")
    print(f"24小时最低价: {ticker['low24h']}")
else:
    print("请求失败:", data.get("msg"))

运行结果示例

当前BTC价格: 67523.4 USDT
24小时最高价: 68900.1
24小时最低价: 66200.8

这个脚本不需要API Key,因为获取行情是公开接口,如果你能成功运行,说明你的环境已经准备好了。


进阶功能:自动下单与止损脚本

真正赚钱的脚本需要用到交易权限,这时候就需要用到上面申请的API Key了。

1 生成签名(这是最关键的步骤)

欧易API要求每个请求都带上签名,防止数据被篡改,签名方法如下:

import hmac
import hashlib
import base64
import datetime
def get_signature(secret_key, timestamp, method, request_path, body=""):
    message = timestamp + method.upper() + request_path + (body if body else "")
    mac = hmac.new(bytes(secret_key, encoding='utf-8'), 
                   bytes(message, encoding='utf-8'), 
                   digestmod=hashlib.sha256)
    d = mac.digest()
    return base64.b64encode(d).decode()

2 完整的限价买单脚本

import requests
import json
import time
# 你的API信息
api_key = "你的API Key"
secret_key = "你的Secret Key"
passphrase = "你的API密码"  # 创建API时自己设定的
base_url = "https://www.okx.com"
# 设置订单参数
instrument_id = "BTC-USDT"
price = "65000"      # 限价单价格
size = "0.001"       # 购买数量(最小单位)
side = "buy"         # buy=买入,sell=卖出
# 构造请求体
body = {
    "instId": instrument_id,
    "tdMode": "cash",   # 现货交易
    "side": side,
    "ordType": "limit", # 限价单
    "sz": size,
    "px": price
}
body_json = json.dumps(body)
# 生成时间戳
timestamp = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
# 生成签名
sign = get_signature(secret_key, timestamp, "POST", "/api/v5/trade/order", body_json)
# 设置请求头
headers = {
    "OK-ACCESS-KEY": api_key,
    "OK-ACCESS-SIGN": sign,
    "OK-ACCESS-TIMESTAMP": timestamp,
    "OK-ACCESS-PASSPHRASE": passphrase,
    "Content-Type": "application/json"
}
# 发送请求
response = requests.post(base_url + "/api/v5/trade/order", 
                         headers=headers, 
                         data=body_json)
result = response.json()
print(result)

3 止损脚本思路

如果你想实现“当价格跌到某位置自动卖出”,方法类似,只是把下单逻辑改成:

if current_price < stop_loss_price:
    # 执行市价卖出
    body = {
        "instId": instrument_id,
        "tdMode": "cash",
        "side": "sell",
        "ordType": "market",
        "sz": amount
    }
    # ... 其他代码同上

建议把止损脚本放在一个循环里,每5秒检查一次价格,或者用WebSocket实现实时推送。


常见问题问答

Q1:我需要花很多钱才能用API吗? A:完全不需要,欧易API对所有用户开放,免费使用,唯一可能产生的费用是交易手续费,和你在官网交易一样。

Q2:API Key的安全风险大吗? A:风险主要在于泄露密钥。

  • 绝不把密钥存到公开代码仓库(比如GitHub)
  • 定期更换密钥
  • 设置IP白名单(欧易后台支持),限制只有特定IP才能访问

Q3:为什么我的签名总是报错? A:99%的情况是因为时间戳格式不对,请确保你的计算机时间和网络时间同步,差几秒都会导致签名失效,可以用 time.time() 和服务器时间做对比。

Q4:脚本运行到一半突然报“too many requests”怎么办? A:欧易API有频率限制,现货交易接口每秒最多10次请求,你可以在代码里加 time.sleep(0.1) 来控制频率。

Q5:我想让脚本24小时运行,需要一直开着电脑吗? A:你可以把脚本部署到云服务器(比如阿里云、腾讯云),花几十块钱一个月就能让机器帮你自动化运行,或者用树莓派当低成本服务器。


注意事项与安全建议

  1. 先用模拟盘测试:欧易提供了模拟交易环境(testnet),建议新手先用虚拟资金跑通整个流程,再切换到实盘。
  2. 控制仓位风险:不要全仓买入,设置好止损线和止盈线,这是保命的关键。
  3. 关注官方公告:API接口有时会更新,如果在使用 okwi.com.cn 过程中发现接口失效,建议去官网查看最新的API文档。
  4. 定期备份代码:你的Python脚本是财富密码,建议用Git管理版本。

最后想说:用Python写交易脚本并没有想象中那么难,关键在于迈出第一步,现在就去 欧易交易所下载 注册并申请API Key,按照本文的示例代码跑起来,你会发现原来量化交易离自己这么近。

如果你在操作过程中遇到任何问题,欢迎在评论区留言讨论,任何交易都有风险,请用闲钱投资,保持理性。

标签: Python交易脚本

抱歉,评论功能暂时关闭!