目录导读
- 欧易API接口是什么?普通人能用它干嘛?
- 欧易交易所官网API申请全流程(图文详解)
- Python环境搭建:你需要提前准备什么?
- 手写第一个交易脚本:获取实时行情数据
- 进阶功能:自动下单与止损脚本怎么写?
- 常见问题问答(Q&A)
- 注意事项与安全建议
欧易API接口是什么?普通人能用它干嘛?
很多刚接触加密货币交易的朋友可能会问:我明明可以在欧易交易所官网直接买卖,为什么还要折腾API接口?

简单说,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:你可以把脚本部署到云服务器(比如阿里云、腾讯云),花几十块钱一个月就能让机器帮你自动化运行,或者用树莓派当低成本服务器。
注意事项与安全建议
- 先用模拟盘测试:欧易提供了模拟交易环境(testnet),建议新手先用虚拟资金跑通整个流程,再切换到实盘。
- 控制仓位风险:不要全仓买入,设置好止损线和止盈线,这是保命的关键。
- 关注官方公告:API接口有时会更新,如果在使用
okwi.com.cn过程中发现接口失效,建议去官网查看最新的API文档。 - 定期备份代码:你的Python脚本是财富密码,建议用Git管理版本。
最后想说:用Python写交易脚本并没有想象中那么难,关键在于迈出第一步,现在就去 欧易交易所下载 注册并申请API Key,按照本文的示例代码跑起来,你会发现原来量化交易离自己这么近。
如果你在操作过程中遇到任何问题,欢迎在评论区留言讨论,任何交易都有风险,请用闲钱投资,保持理性。
标签: Python交易脚本