目录导读
- 为什么你需要欧易API接口?
- 欧易API接口申请全流程详解(附截图级指引)
- Python环境搭建与必备库安装
- 三步写出你的第一个交易脚本
- 常见报错与实战问答(Q&A)
- 安全提醒:API密钥保管与权限设置
为什么你需要欧易API接口?
很多朋友在刚接触加密货币交易时,要么手动盯盘累到崩溃,要么用第三方工具怕不安全,其实欧易交易所官网提供了非常强大的API接口,允许你通过代码直接下单、查询行情、管理资产。欧易交易所下载后配合API使用,相当于给自己配了一个24小时不睡觉的交易助理。

简单说,API就是交易所给你的“遥控器”,用Python写脚本后,你可以实现:
- 自动监控价格波动,达到条件自动买入/卖出
- 定时执行网格交易或定投策略
- 同时管理多个账户,统一调仓
欧易API接口申请全流程详解
第一步:登录欧易交易所官网,进入“账户”->“API”页面(通常在安全设置里)。
第二步:点击“创建API”,系统会让你输入备注名称(我的交易机器人”),注意:这里一定要选择“交易”权限,如果只选“读取”,脚本无法下单。
第三步:创建成功后,你会看到两个关键信息:
- API Key(一串字母数字组合)
- Secret Key(务必立刻复制保存!关闭页面后无法再查看)
⚠️ 重要:建议设置IP白名单(只允许你服务器的IP调用),避免密钥泄露后被盗用,如果没有固定IP,可以暂时不限制,但一定要保管好Secret Key。
Python环境搭建与必备库安装
确保你的电脑有Python 3.7以上版本(推荐3.9或3.10),打开终端或CMD,依次执行:
pip install requests pip install hashlib pip install hmac pip install base64
如果未来需要更复杂的策略,可以装pandas和numpy,但第一个脚本,上述四个库足够。
建议用一个干净的文件夹存放你的脚本,比如C:\okx_trader\。
三步写出你的第一个交易脚本
假设我们要写一个最简单功能:查询当前比特币(BTC/USDT)的实时价格。
第一步:引入库并定义签名函数
import requests
import json
import hmac
import hashlib
import base64
from datetime import datetime
def get_sign(timestamp, method, request_path, body=''):
# 根据欧易官方签名规则生成签名
pre_hash = timestamp + method + request_path + body
mac = hmac.new(bytes(secret_key, encoding='utf-8'), bytes(pre_hash, encoding='utf-8'), digestmod=hashlib.sha256)
return base64.b64encode(mac.digest()).decode()
第二步:填写你的API密钥并获取数据
# 请替换成你自己的密钥!
api_key = "你的API-KEY"
secret_key = "你的SECRET-KEY"
passphrase = "你在创建API时设置的密码短语"
# 获取当前时间戳(ISO 8601格式)
timestamp = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
# 请求头
headers = {
'OK-ACCESS-KEY': api_key,
'OK-ACCESS-SIGN': get_sign(timestamp, 'GET', '/api/v5/market/ticker?instId=BTC-USDT'),
'OK-ACCESS-TIMESTAMP': timestamp,
'OK-ACCESS-PASSPHRASE': passphrase
}
# 发送请求
url = 'https://www.okx.com/api/v5/market/ticker?instId=BTC-USDT'
response = requests.get(url, headers=headers)
data = response.json()
print(json.dumps(data, indent=2))
第三步:提取价格并简单输出
if data['code'] == '0':
last_price = data['data'][0]['last']
print(f"当前BTC价格: {last_price} USDT")
else:
print(f"请求失败: {data['msg']}")
运行后,你会看到控制台打印出当前的BTC价格,恭喜!你的第一个交易脚本已经成功跑通。
如果想做更复杂的买卖操作,只需将GET改为POST,请求路径改为/api/v5/trade/order,并带上订单参数(币种、方向、数量等)。欧易交易所官网的开发者文档里提供了完整的参数列表,强烈建议先对照文档测试。
常见报错与实战问答(Q&A)
Q1:我运行脚本后提示“signature not match”是什么原因?
A:最常见的问题是时间戳不对,请检查你的系统时间是否准确,或者生成的timestamp格式是否严格符合YYYY-MM-DDTHH:mm:ss.sssZ,别忘了passphrase必须与创建API时设置的一致。
Q2:脚本如何实现“跌到某个价格自动买入”?
A:你可以写一个循环,每隔几秒(比如10秒)调用一次行情API,判断价格是否低于你设定的阈值,如果是,则调用下单API,建议用time.sleep()控制频率,不要超过欧易速率限制(一般为每秒10次请求)。
Q3:我的API密钥被别人看到了怎么办?
A:立即登录欧易交易所官网删除该API,并检查账户是否有异常交易,如果设置了IP白名单,即使密钥泄露,对方也无法从其他IP调用。
Q4:可以用这个脚本跑量化策略吗?
A:当然可以,但初级脚本不建议直接实盘跑大资金,先在欧易的“模拟盘”测试(通过修改API endpoint切换),确认策略逻辑无误后再转入实盘。
安全提醒:API密钥保管与权限设置
- 绝不将密钥写在公共代码仓库(比如GitHub公开库)里,可以用环境变量或单独的
config.py文件,并添加到.gitignore。 - 权限设置原则:只给最小必要权限,如果只查行情,只勾选“读取”;如果需要交易,再勾选“交易”权限,不要勾选“提币”权限,除非你有特殊需求。
- 定期更换密钥(比如每3个月换一次),同时删除不再使用的API。
通过这篇教程,你已经掌握了从欧易交易所官网申请API接口到用Python写第一个交易脚本的完整链路,你可以在这个基础上添加更多功能,比如定时任务自动运行、交易记录存入Excel、甚至接入行情推送实现实时监控。欧易交易所下载官方客户端配合API,能帮你把交易效率提升一个台阶,快去动手试试吧!
标签: 欧易交易所