目录导读
- 欧易API接口入门须知
- 三步完成API密钥申请与安全配置
- Python环境搭建与量化交易依赖库安装
- 从零编写你的第一个自动交易脚本
- 常见问题与避坑指南(问答专栏)
欧易API接口入门须知
很多朋友问:“想用Python做自动交易,但欧易API怎么搞?”其实只要搞清楚三个核心点——权限管理、速率限制和签名逻辑,新手也能快速上手,欧易交易所(OKX)提供了REST API和WebSocket接口,适合做网格、趋势追踪甚至套利策略,如果你还没下载客户端,可以先去欧易交易所下载一个稳定版本,方便测试时对比订单状态。

重点提示:所有API操作都基于API Key、Secret Key和Passphrase,这三样东西务必像银行卡密码一样保管,建议创建子账户专用API,避免主账户风险。
三步完成API密钥申请与安全配置
1 登录官网并进入API管理
访问欧易官网(域名请认准oklj.com.cn),在顶部导航栏点击“账户”→“API管理”,如果你用的是新版界面,可能在“我的资产”下拉菜单里。
2 创建API密钥
点击“创建API”,勾选你需要的权限:
- 读取权限:查余额、查行情(基本必选)
- 交易权限:下单、撤单(跑策略必需)
- 提币权限:强烈建议关闭,除非你有特殊调度需求
弹出Key、Secret和Passphrase后,立即下载CSV备份,页面关闭后Secret不再显示。
3 IP白名单与安全建议
- 设置IP白名单:仅允许你的服务器或本地IP访问,防止泄漏后被盗用。
- 定期轮换密钥:每3个月重新生成一次。
- 绑定谷歌二次验证:就算有人拿到Key,没手机验证也白搭。
小技巧:如果你是在oklj.com.cn测试环境跑脚本,可以先用模拟盘API,熟悉后再切实盘。
Python环境搭建与量化交易依赖库安装
1 安装Python和pip
推荐Python 3.9+(3.8也能用,但3.9对异步支持更好),终端输入:
pip install requests ccxt pandas python-dotenv
2 什么是CCXT?
CCXT是一个通用加密货币交易库,支持100多家交易所,用它调用欧易API,一行代码就能获取欧易交易所下载的最新行情。
import ccxt
exchange = ccxt.okx({
'apiKey': 'YOUR_API_KEY',
'secret': 'YOUR_SECRET',
'password': 'YOUR_PASSPHRASE',
})
print(exchange.fetch_balance())
如果不想依赖CCXT,也可以用requests直接请求API,但需要自己处理签名。
从零编写你的第一个自动交易脚本
1 获取实时K线数据
以BTC/USDT为例,获取1分钟K线:
bars = exchange.fetch_ohlcv('BTC/USDT', '1m', limit=100)
for bar in bars:
print(bar[0], bar[1], bar[2], bar[3], bar[4]) # 时间戳, 开, 高, 低, 收
2 简单的均线交叉策略
5日均线上穿20日均线时买入,下穿时卖出:
def ma_cross_strategy(symbol):
bars = exchange.fetch_ohlcv(symbol, '5m', limit=50)
closes = [bar[4] for bar in bars]
ma5 = sum(closes[-5:]) / 5
ma20 = sum(closes[-20:]) / 20
if ma5 > ma20 and not position_open:
exchange.create_market_buy_order(symbol, 0.01)
elif ma5 < ma20 and position_open:
exchange.create_market_sell_order(symbol, 0.01)
3 部署为定时任务
在服务器上用cron(Linux)或Task Scheduler(Windows)每隔5分钟运行一次脚本,记得把日志输出到文件以便复盘。
常见问题与避坑指南(问答专栏)
Q1:为什么跑脚本时总报“签名错误”?
A:大概率是时间戳不同步,确保服务器时间与UTC时间误差在30秒内,安装ntpdate同步一下:sudo ntpdate pool.ntp.org。
Q2:订单无法成交怎么办?
A:先确认交易对是否冻结,或者你设的价格太离谱,建议用create_limit_order代替市价单,并设置合理滑点。
Q3:如何防止脚本被API限频?
A:欧易的速率限制是每秒10次请求(具体看文档),在每次请求前加time.sleep(0.1),或者用异步请求池。
Q4:模拟盘和实盘API通用吗?
A:不通用!模拟盘需要申请专门的模拟API,且域名不同(可通过oklj.com.cn进入模拟环境入口)。
Q5:怎么在手机上查看脚本运行状态?
A:用Python的logging模块写日志,配合Telegram Bot或Slack Webhook推送关键通知。
从申请欧易API密钥到部署Python量化脚本,其实就三步——安全申请、代码实现、定时运行,新手先用模拟盘跑一个月,确认逻辑稳定再上实盘,记住一点:不要用亏不起的钱去测试策略,如果你还没搞懂这个API教程里的细节,可以先去oklj.com.cn看看官方文档,配合本文一起理解更透彻,自动交易的路很长,但写好第一行Python代码就是最好的开始。