目录导读
- 欧易API接口简介
- API接口申请步骤详解
- Python环境与依赖库准备
- 编写简单交易脚本的完整流程
- 常见问题与问答(FAQ)
欧易API接口简介
欧易(OKX)作为全球领先的数字资产交易平台,提供了功能强大的API接口,允许开发者通过程序化方式实现自动化交易、市场数据获取、账户管理等操作,对于量化交易爱好者而言,掌握欧易API的使用是迈入自动化交易的重要一步。

在开始之前,您需要访问 欧易交易所官网(oe-okor.com.cn)完成账户注册与API申请,该平台不仅支持现货交易,还提供合约、期权等多品类接口,适合不同层次的交易策略。欧易交易所下载 官方客户端同样支持通过API进行无缝对接,为脚本运行提供稳定的数据源。
API接口申请步骤详解
步骤1:登录账户并进入API管理
在欧易交易所官网完成登录后,点击右上角头像,选择“API管理”选项。
步骤2:创建API密钥
- 点击“创建API”按钮,选择“交易API”类型。
- 系统会要求进行安全验证(短信或谷歌验证器)。
- 设置权限:建议勾选“交易”和“读取”权限(如无需提币,请勿勾选“提币”权限以避免安全风险)。
步骤3:保存密钥与安全注意事项
- 创建成功后,您将获得 API Key、Secret Key 和 Passphrase(密码短语)。
- 请立即保存这些信息,因为Secret Key仅展示一次,丢失后需重新创建。
- 建议将密钥存储于环境变量或加密配置文件中,切勿直接硬编码到脚本内。
欧易交易所下载 的API文档中提供了完整的接口列表与请求示例,可作为开发参考。
Python环境与依赖库准备
依赖库安装
使用Python3编写脚本,需安装以下库:
pip install requests hashlib base64 hmac
requests 用于发送HTTP请求,hashlib 和 hmac 用于生成签名。
设置请求头(Header)
欧易API要求每次请求必须包含以下签名信息:
OK-ACCESS-KEY:您的API Key
OK-ACCESS-SIGN:使用HMAC-SHA256加密的签名
OK-ACCESS-TIMESTAMP:UTC时间戳
OK-ACCESS-PASSPHRASE:您在创建API时设置的密码短语
编写简单交易脚本的完整流程
以下是一个基于Python的示例脚本,用于获取账户余额并执行一笔市价买入交易。
导入库与定义全局变量
import requests import json import hmac import base64 import datetime from hashlib import sha256 # 请替换为您在——[oe-okor.com.cn](https://oe-okor.com.cn/)——申请的密钥 API_KEY = "您的API Key" SECRET_KEY = "您的Secret Key" PASSPHRASE = "您的密码短语" BASE_URL = "https://www.okx.com"
生成签名函数
def generate_sign(timestamp, method, request_path, body):
message = str(timestamp) + str.upper(method) + request_path + (body if body else "")
mac = hmac.new(SECRET_KEY.encode('utf-8'), message.encode('utf-8'), digestmod=sha256)
return base64.b64encode(mac.digest()).decode('utf-8')
获取账户余额(GET请求)
def get_account():
method = "GET"
request_path = "/api/v5/account/balance"
timestamp = datetime.datetime.utcnow().isoformat()[:-3] + "Z"
sign = generate_sign(timestamp, method, request_path, "")
headers = {
"OK-ACCESS-KEY": API_KEY,
"OK-ACCESS-SIGN": sign,
"OK-ACCESS-TIMESTAMP": timestamp,
"OK-ACCESS-PASSPHRASE": PASSPHRASE,
"Content-Type": "application/json"
}
response = requests.get(BASE_URL + request_path, headers=headers)
return response.json()
# 调用函数
print(get_account())
执行市价买入(POST请求)
def place_market_order(symbol, side, sz):
method = "POST"
request_path = "/api/v5/trade/order"
body = json.dumps({
"instId": symbol, # "BTC-USDT"
"tdMode": "cash", # 保证金模式(现货为cash)
"side": side, # "buy" 或 "sell"
"ordType": "market", # 市价单
"sz": str(sz) # 数量(市价买单时,此处为买入金额单位:USDT)
})
timestamp = datetime.datetime.utcnow().isoformat()[:-3] + "Z"
sign = generate_sign(timestamp, method, request_path, body)
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 + request_path, headers=headers, data=body)
return response.json()
# 示例:以市价买入0.001 BTC(金额单位按报价币种)
print(place_market_order("BTC-USDT", "buy", "0.001"))
运行与调试
将脚本保存为 okx_trading.py,通过终端执行:
python okx_trading.py
若一切正常,将返回包含交易详情的JSON数据,建议先在模拟盘(如欧易的测试网)上运行,确保逻辑无误后再切换至实盘。
常见问题与问答(FAQ)
Q1:申请API时提示“安全验证失败”怎么办?
A:请检查绑定的手机或谷歌验证器是否正常工作,若多次失败,可在欧易交易所官网重新绑定安全设备后再次尝试。欧易交易所下载 的最新版APP也支持安全验证设置。
Q2:脚本运行返回“签名错误”是什么原因?
A:常见原因包括:
- Secret Key或Passphrase复制错误(注意大小写)。
- 时间戳未使用UTC格式或未精确到毫秒。
- 请求路径与参数未按文档要求编码,请对照欧易API文档核对签名生成逻辑。
Q3:如何在交易脚本中加入止盈止损功能?
A:可在市价单成交后,通过 POST /api/v5/trade/order-algo 接口设置止盈止损条件单,需传入触发价格、委托价格等参数,具体示例可参考欧易交易所下载 的官方开发者文档。
Q4:Python脚本中的API密钥如何安全存储?
A:建议使用环境变量,
import os
API_KEY = os.getenv("OKX_API_KEY")
SECRET_KEY = os.getenv("OKX_SECRET_KEY")
并通过 .env 文件管理,这样即使代码公开,密钥也不会泄露。
通过以上教程,您已成功掌握欧易API接口的申请流程,并能够使用Python编写基础交易脚本,下一步可以尝试加入数据订阅(WebSocket)、策略回测或多币种自动网格交易,进一步提升自动化交易能力,切记,实盘交易需谨慎,建议从小额资金开始验证策略稳定性。
标签: 欧易API Python交易脚本