目录导读
- 欧易API接口是什么?为什么你需要它?
- 申请欧易API接口的完整流程
- Python环境搭建与必备库安装
- 编写第一个简单的交易脚本
- 脚本实战:实现自动买卖功能
- 常见问题与避坑指南(含问答)
欧易API接口是什么?为什么你需要它?
很多朋友刚接触加密货币交易时,都是手动在欧易交易所官网下单,盯盘累、反应慢,还容易错过最佳时机,这时候,欧易API接口就成了你的“交易外挂”——它允许你用代码直接连接交易所,实现自动下单、查询行情、设置止盈止损等操作。

简单说,API就是交易所给你的一把“数字钥匙”,让你可以用Python、Java等编程语言,代替人工操作,比如你想设置一个“BTC跌到3万自动买入”的脚本,就需要用到这个接口。
小提示:如果你还没注册欧易交易所,建议先完成欧易交易所下载并注册账号,因为API绑定必须用已实名认证的账户。
申请欧易API接口的完整流程
第1步:登录并进入API管理页面
登录你的欧易交易所官网账户(记得使用okrh.com.cn这个域名),在页面右上角找到“API”入口,通常位于用户头像下拉菜单或“账户”设置中。
第2步:创建API Key
点击“创建API Key”,系统会要求你进行安全验证(短信/邮箱/谷歌验证器),验证通过后,你需要:
- 给API起个名字,Python自动交易”
- 选择权限:至少勾选“交易”和“读取”,如果你想查询账户余额,还需勾选“资金”
- 设置IP白名单(强烈建议填写你的服务器IP,别留空,否则任何IP都能用你的API)
第3步:保存好你的API密钥
创建成功后,你会得到三样东西:
- API Key:相当于用户名
- Secret Key:相当于密码(只显示一次! 务必保存到txt文件或密码管理器)
- Passphrase:你设置的口令(也是重要凭证)
特别提醒:别在公开代码里直接写Secret Key!要用环境变量或配置文件存储。
Python环境搭建与必备库安装
1 安装Python(如果你还没有)
去Python官网下载3.8以上版本,安装时记得勾选“Add Python to PATH”。
2 安装官方SDK(推荐)
欧易提供了Python SDK,能帮你省去签名算法等麻烦,打开命令行工具,输入:
pip install okx-py
如果安装失败,可以用国内镜像源:
pip install okx-py -i https://pypi.tuna.tsinghua.edu.cn/simple
3 安装其他必要库
pip install pandas python-dotenv
python-dotenv 用来安全读取环境变量(比如你的API密钥)。
编写第一个简单的交易脚本
1 创建项目文件夹与配置文件
- 新建文件夹
okx_trading_bot - 在里面创建
.env文件,内容如下(别用记事本,用VS Code或Sublime Text):
API_KEY=你的API Key
SECRET_KEY=你的Secret Key
PASSPHRASE=你的Passphrase
- 新建
main.py文件
2 先写一个“查询账户余额”脚本
这个脚本能测试你的API是否连通:
import os
from dotenv import load_dotenv
from okx.Account import AccountAPI
# 加载.env文件中的密钥
load_dotenv()
# 初始化账户API
account_api = AccountAPI(
api_key=os.getenv("API_KEY"),
api_secret_key=os.getenv("SECRET_KEY"),
passphrase=os.getenv("PASSPHRASE"),
# 使用模拟盘测试(推荐新手先用模拟盘)
flag='1' # 0=实盘, 1=模拟盘
)
# 获取账户余额
result = account_api.get_account_balance()
if result['code'] == '0':
print("连接成功!你的账户数据如下:")
for coin in result['data'][0]['details']:
print(f"{coin['ccy']}: 可用 {coin['availBal']}")
else:
print("连接失败,请检查API密钥:", result['msg'])
运行测试:在终端执行 python main.py,如果看到币种余额,说明API打通了!
脚本实战:实现自动买卖功能
1 获取实时行情并打印
先写个函数,获取BTC/USDT的当前价格:
from okx.PublicData import PublicAPI
public_api = PublicAPI(flag='1')
ticker = public_api.get_ticker(instId='BTC-USDT')
if ticker['code'] == '0':
print(f"BTC最新价格: {ticker['data'][0]['last']} USDT")
2 实现“跌破某个价格就买入”的自动交易
假设你想设置:当BTC价格跌到30000 USDT时,自动买入0.001个BTC。
import time
from okx.Trade import TradeAPI
trade_api = TradeAPI(
api_key=os.getenv("API_KEY"),
api_secret_key=os.getenv("SECRET_KEY"),
passphrase=os.getenv("PASSPHRASE"),
flag='1'
)
target_price = 30000 # 目标买入价
buy_amount = 0.001 # 买入数量
while True:
# 获取最新价格
ticker = public_api.get_ticker(instId='BTC-USDT')
current_price = float(ticker['data'][0]['last'])
print(f"当前BTC价格: {current_price}")
if current_price <= target_price:
# 下市价买单
order = trade_api.place_order(
instId='BTC-USDT',
tdMode='cash', # 现金模式
side='buy',
ordType='market', # 市价单
sz=buy_amount
)
if order['code'] == '0':
print(f"买入成功!订单ID: {order['data'][0]['ordId']}")
break
else:
print("买入失败:", order['msg'])
else:
print("价格未到目标,等待中...")
time.sleep(60) # 每60秒检查一次
注意:这只是一个基础Demo,真实交易还需考虑滑点、手续费、网络延迟等因素。
常见问题与避坑指南(含问答)
❓ Q1:为什么我的API连接一直报错?
A:检查这三点:
- 是否在
.env文件中正确填写了密钥,注意不要有引号或空格 - 是否绑定了IP白名单(特别是从本地运行,要填你当前公网IP)
- 是否选对了
flag参数(0=实盘, 1=模拟盘)
❓ Q2:模拟盘和实盘的API可以共用吗?
A:可以,但要注意:
- 模拟盘环境(
flag='1')不会真正扣钱,适合测试 - 切换到实盘前,务必先删掉
.env文件中的测试密钥,换为实盘密钥 - 建议创建两个API Key:一个绑定模拟盘,一个绑定实盘,避免误操作
❓ Q3:脚本跑着跑着突然报“签名错误”怎么办?
A:常见原因:
- 系统时间不准确(请同步网络时间)
- Secret Key泄露后被他人滥用(请立即在欧易交易所官网 API管理页面删除旧Key,重新创建)
❓ Q4:如何防止脚本把我账户里的钱全亏光?
A:
- 设置止损脚本:比如当亏损超过10%时自动平仓
- 使用模拟盘跑一周测试,验证逻辑无误
- 限制每次交易数量,比如每次只交易总资产的1%
- 添加熔断机制:如果连续3次交易亏损,暂停半小时
❓ Q5:我想交易其他币种,比如ETH,怎么修改代码?
A:只需要把代码中的instId参数从BTC-USDT改为对应交易对即可,
ETH-USDT以太坊SOL-USDTSolanaDOGE-USDT狗狗币
交易规则类似,都可以通过API查询交易对信息。
写在最后:
这篇教程中的欧易API接口申请教程带你走通了从申请到上线脚本的完整流程,自动化交易是把双刃剑——用好了是效率工具,用砸了可能加速亏损,建议你先用模拟盘跑一周,把代码逻辑调顺了,再考虑小资金实盘测试。
如果你在操作中遇到问题,可以回到欧易交易所官网查看官方API文档,或者去开发者社区求助,任何声称“保证赚钱”的自动化脚本都是骗局,保持理性,安全第一!
标签: 欧易API Python交易脚本