目录导读
- 为什么要用API交易?——告别手动盯盘
- 欧易API申请全流程(附避坑指南)
- Python环境搭建与必备库安装
- 从零写出第一个交易脚本:获取实时行情
- 进阶玩法:自动下单与止损脚本
- 常见问题解答
为什么要用API交易?
很多朋友问我:“天天盯盘太累,能不能让程序帮我自动买卖?”答案是当然可以,通过欧易交易所下载的API接口,你可以写一个Python脚本,实现:

- 24小时自动监控行情
- 根据预设条件自动下单
- 批量管理多个交易对
- 避免情绪化操作
说白了,就是让代码当你的“交易员”,而这一切的起点,就是申请欧易API接口。
欧易API接口申请全流程
第一步:登录OKX账户
进入欧易官网(注意认准域名)并登录,如果是新用户,需要先完成注册和KYC认证。
第二步:进入API管理页面
在个人中心找到“API”选项,或者直接访问API管理页面,注意:这里需要二次验证(邮箱或谷歌验证器),请提前准备好。
第三步:创建API Key
- 填写API名称,建议写“Python_trading_bot”
- 权限设置:建议先选“只读”(Read Only)测试,后续再开交易权限
- IP白名单:为了安全,建议只添加你服务器或电脑的公网IP
- 权限说明:如果只是获取行情,选“读取”即可;如果要自动交易,必须勾选“交易”
第四步:保存密钥
系统会生成 API Key、Secret Key 和 Passphrase。注意:Secret Key只显示一次,请立即复制保存到安全的地方。 同时建议备份到密码管理器。
小贴士:欧易交易所下载的API文档非常详细,申请成功后建议先去读一遍官方文档。
Python环境搭建
打开终端(Windows用CMD或PowerShell,Mac/Linux用Terminal),执行:
# 安装必要的库 pip install requests pip install ccxt # 统一加密货币交易所API库 pip install python-dotenv # 管理密钥
为了安全,建议创建一个.env文件存储密钥:
OKX_API_KEY=你的API_Key
OKX_SECRET_KEY=你的Secret_Key
OKX_PASSPHRASE=你的Passphrase
Python交易脚本实战
脚本1:获取BTC/USDT实时价格
import requests
import json
import time
# API端点
base_url = "https://okeh.com.cn/api/v5"
# 请求市场行情
def get_ticker(symbol="BTC-USDT"):
endpoint = f"{base_url}/market/ticker"
params = {"instId": symbol}
response = requests.get(endpoint, params=params)
if response.status_code == 200:
data = response.json()
last_price = data['data'][0]['last']
print(f"{symbol} 当前价格: {last_price} USDT")
return last_price
else:
print("请求失败:", response.status_code)
return None
# 每30秒刷新一次
while True:
get_ticker()
time.sleep(30)
脚本2:带认证的自动下单(请先测试只读模式)
import ccxt
from dotenv import load_dotenv
import os
load_dotenv()
# 初始化OKX交易所
exchange = ccxt.okx({
'apiKey': os.getenv('OKX_API_KEY'),
'secret': os.getenv('OKX_SECRET_KEY'),
'password': os.getenv('OKX_PASSPHRASE'),
'enableRateLimit': True,
})
# 获取账户余额
def get_balance():
try:
balance = exchange.fetch_balance()
print("USDT余额:", balance['USDT']['free'])
print("BTC余额:", balance['BTC']['free'])
except Exception as e:
print("获取余额失败:", e)
# 测试下单(务必先用小额测试)
def place_limit_order(symbol="BTC/USDT", side="buy", amount=0.001, price=30000):
try:
order = exchange.create_limit_order(symbol, side, amount, price)
print("下单成功:", order)
return order
except Exception as e:
print("下单失败:", e)
# 执行
get_balance()
place_limit_order(price=29000) # 测试买入
重要提醒: 第一次跑交易脚本,务必先在测试环境或使用极小资金(比如0.001个币)测试,我见过有人把API权限开全,结果脚本写错导致全仓买入,血亏。
进阶:带止损的自动化策略
def smart_trading():
current_price = get_ticker()
# 策略:当价格跌破前低5%时止损
stop_loss_price = current_price * 0.95
# 获取持仓
positions = exchange.fetch_positions(['BTC/USDT'])
if positions and float(positions[0]['contracts']) > 0:
print("触发止损条件,正在平仓...")
place_market_order(amount=positions[0]['contracts'], side="sell")
常见问题QA
Q1:申请API时显示“IP不在白名单”怎么办? A:检查你的IP地址是否正确,如果是动态IP(比如家庭宽带),建议写一个脚本定时更新IP白名单,或者使用固定IP的云服务器。
Q2:脚本报错“Invalid API Key”是怎么回事? A:大概率是密钥复制错了,检查:API Key、Secret Key、Passphrase是否完全一致,注意Passphrase是你自己设置的密码,不是订单密码。
Q3:如何实现24小时自动运行?
A:推荐使用云服务器(阿里云、腾讯云等),配置好Python环境后用nohup python3 script.py &让脚本后台运行,或者写个Crontab定时任务。
Q4:欧易交易所下载的API接口有频率限制吗?
A:有!普通API请求每秒最多10次,交易接口更严格,你的脚本里必须加time.sleep()或者使用限速机制,否则会被封禁。
Q5:交易脚本能保证赚钱吗? A:不能!任何声称“稳赚”的脚本都是骗子,API只是工具,策略是你自己的,建议先用历史数据回测,再上实盘。
欧易API接口申请其实很简单,难的是写一个稳定的、符合你策略的交易脚本,从今天开始,欧易交易所下载 后先跑通“获取行情”这一步,再逐步增加交易逻辑。永远先用最小资金测试,并且设置好止损,如果你在编写过程中遇到问题,欢迎留言讨论。
标签: 欧易API Python交易脚本