目录导读
- 欧易API是什么?新手必知的基础概念
- 申请欧易API接口的完整流程(附截图指引)
- Python环境搭建与依赖库安装
- 实战代码:从连接到下单的全流程交易脚本
- 常见错误排查与安全注意事项
- 问答专区:解决你90%的疑问
欧易API是什么?新手必知的基础概念
很多人第一次接触“欧易交易所”时,都会困惑:为什么需要API? 简单说,API就是程序与程序之间对话的“桥梁”,想象一下,你每天手动盯盘、点鼠标买卖,累不累?通过欧易API接口,你可以让Python自动执行策略——比如监测到BTC突破压力位,脚本立刻下单,全程不用你盯着屏幕。

欧易(原OKEx)作为全球头部交易所,其API稳定性很高,虽然有些朋友可能想直接欧易交易所下载桌面端操作,但用脚本交易可以做到“7×24小时自动执行”,如果你刚入门,建议先申请模拟盘API测试,再切换到实盘。首次操作务必用测试模式!
申请欧易API接口的完整流程
步骤1:登录并进入API管理
- 登录欧易官网,点击右上角“个人中心” → “API管理”
- 首次进入会要求身份验证(手机或邮箱验证码)
步骤2:创建API Key
点击“创建API Key”,你会看到三个选项:
- 交易API(最常用):支持下单、撤单、查询资产
- 提现API(风险高):建议普通人不要开
- 只读API:只能查数据,不能交易
新手建议:先创建“只读API”熟悉流程,再升级到“交易API”,填写备注名(测试用”),然后设置权限。
步骤3:获取关键信息
创建成功后,你会得到三样东西:
- API Key(类似用户名,暴露了别慌,不能直接转钱)
- Secret Key(类似密码,泄露了别人可用你的账号交易!)
- Passphrase(你自己设置的连接密码)
重要提醒:Secret Key只在创建时显示一次!务必保存到本地加密文件,有些教程会说“把Key硬编码到代码里”——这是危险操作!正确的做法是存入环境变量或配置文件(后面代码会演示)。
Python环境搭建与依赖库安装
你需要准备:
- Python 3.7+(建议用Anaconda管理环境)
- 三个关键库:
requests、ccxt、pandas
安装命令(终端执行):
pip install ccxt requests pandas
为什么推荐ccxt? 这个库封装了欧易、币安等上百家交易所的API,代码写法几乎一样,以后你想换交易所,改一行配置就行。
配置环境变量(安全第一):
在.env文件里写:
OKX_API_KEY=你的APIKey
OKX_SECRET_KEY=你的SecretKey
OKX_PASSPHRASE=你的Passphrase
然后在Python中用os.getenv读取——这样即使代码传到GitHub,黑客也拿不到Key。
实战代码:从连接到下单的全流程
1 连接到欧易(测试网)
import ccxt
import os
exchange = ccxt.okx({
'apiKey': os.getenv('OKX_API_KEY'),
'secret': os.getenv('OKX_SECRET_KEY'),
'password': os.getenv('OKX_PASSPHRASE'),
'enableRateLimit': True, # 防封号
'sandboxMode': True # 测试模式!真金白银请删这行
})
# 测试连接
print(exchange.fetch_balance())
如果看到{'info': {...}, 'free': {...}},说明连接成功。
2 获取实时行情
# 获取BTC-USDT最新价
ticker = exchange.fetch_ticker('BTC/USDT')
print(f"当前价格:{ticker['last']} USDT")
3 简单的自动下单脚本
def auto_trade(symbol, amount_percent=0.1):
# 获取账户USDT余额
balance = exchange.fetch_balance()
usdt_balance = balance['USDT']['free']
# 计算下单数量(用10%资金)
ticker = exchange.fetch_ticker(symbol)
price = ticker['last']
usdt_amount = usdt_balance * amount_percent
crypto_amount = usdt_amount / price
# 限价买入(比现价低0.5%)
order = exchange.create_limit_buy_order(
symbol,
crypto_amount,
price * 0.995
)
print(f"下单成功:{order['id']}")
return order
# 执行
auto_trade('ETH/USDT', 0.2)
注意:上面的代码只是示例,实际交易要考虑滑点、最小下单量,如果你遇到BadRequest错误,通常是参数格式问题——欧易要求小数位不能超过合约规定的精度。
常见错误排查与安全注意事项
常见错误1:Invalid API Key
- 检查Key是否复制了空格
- 测试网和实盘的API不通用
常见错误2:Rate limit exceeded
- 添加
time.sleep(0.5),每秒最多2次请求
致命错误:Key被泄露
- 一旦怀疑Key泄露,立刻登录欧易官网“冻结API Key”
- 永远不要把Key上传到GitHub,哪怕私有仓库
安全白名单:欧易支持绑定IP白名单——把脚本运行的服务器IP填进去,其他IP即使拿到Key也无法使用。
问答专区
Q1:欧易API和手动下单,哪个更适合新手?
A:建议先手动熟悉欧易交易所的产品规则(比如保证金、手续费),再用API的模拟盘测试,直接上实盘脚本,可能因为“市价单”滑点一天亏光。
Q2:为什么我连测试网都报错“链接被拒绝”?
A:检查URL是否写成了https://www.okx.com,测试网地址是https://www.okx.com/api/v5/,如果你使用ccxt库,开启sandboxMode会自动切换测试环境。
Q3:我的脚本能24小时跑吗?会不会被封号?
A:欧易允许合理频率的API调用(每秒5次以下),建议加上“随机休眠”时间,比如time.sleep(random.uniform(0.1, 0.5)),如果频繁触发风控,欧易会临时封禁该API Key。
Q4:我想把脚本部署到云服务器,怎么做才安全?
A:用AWS或阿里云的“密钥管理服务”,或者简单点:把Key写入环境变量后,删除代码中的明文,还有一个技巧:对Key进行AES加密(存本地),运行时再解密。
延伸阅读:如果你想让行情数据更实时,可以搭配WebSocket;如果想回测策略,可以关联欧易交易所下载的历史数据,交易脚本的灵魂是“资金管理”——把每次交易的亏损控制在总资金的1%-2%以内。
最后提醒:测试网跑稳了再换到实盘,且实盘先用最小单位(比如0.001 BTC)试水,Python脚本能帮你跑赢懒惰,但跑不赢贪婪。
标签: 欧易API Python交易脚本