目录导读
- 为什么你需要一个交易脚本?
- 欧易API接口申请全流程(附截图级说明)
- Python环境搭建与依赖库安装
- 实战:编写一个自动获取行情并下单的脚本
- 常见错误与问答环节
- 安全提醒与合规使用
为什么你需要一个交易脚本?
很多朋友在欧易交易所下载后,发现手动盯盘、挂单实在太累,尤其是做量化交易或套利的用户,每天盯着K线图手点鼠标,不仅效率低,还容易错过最佳点位,这时候,一个自动化的交易脚本就成了刚需。

通过欧易的API接口,你可以让电脑代替你执行策略——比如监控某个币种的实时价格,当价格达到预设阈值时自动买入或卖出,今天我们就从零开始,带你走完“申请API密钥→写脚本→跑通第一笔交易”的全流程。
欧易API接口申请全流程
要写交易脚本,首先得拿到“通行证”——也就是API Key。
登录官网并进入API管理页面
打开欧易交易所官网,登录你的账号,点击右上角头像,进入“账户中心”,在左侧菜单找到“API”选项,注意,部分新用户可能需要完成基础认证才能看到这个入口。
创建API密钥
点击“创建API”按钮,系统会要求你输入昵称(随便取一个,trading_bot”),并选择权限,这里有两个关键点:
- 交易权限:必须勾选,否则脚本无法下单。
- 提现权限:建议不要勾选,防止密钥泄露后被恶意提币。
安全起见,建议同时绑定IP白名单,如果你家宽带的公网IP是固定的,填入即可;如果是动态IP,可以先留空,但后续使用时要格外注意服务器安全。
保存好你的密钥
创建成功后,你会看到三个字符串:
- API Key(类似公钥)
- Secret Key(类似私钥,只显示一次,务必抄下来存在安全的地方,比如密码管理器)
- Passphrase(你设置的交易口令)
这三个信息是脚本登录交易所的凭证,绝对不能泄露,拿到它们之后,我们就可以开始写代码了。
Python环境搭建与依赖库安装
假设你已经装了Python 3.7+(建议用3.9或3.10稳定版),接下来安装两个核心库:
pip install requests pip install ccxt
ccxt是一个统一了多家交易所API的第三方库,支持币安、欧易等主流平台,能够大大简化我们的代码,你也可以直接用requests库手动拼接签名,但ccxt会让你少掉一半的头发。
实战:编写一个自动获取行情并下单的脚本
下面是一个完整可运行的示例,功能是:获取BTC/USDT的当前价格,如果价格低于45000美元,则市价买入0.001个BTC。
import ccxt
import time
# 替换成你自己的密钥
api_key = "你的API_KEY"
secret_key = "你的SECRET_KEY"
passphrase = "你的交易口令"
# 初始化欧易交易所对象(注意:ccxt里okx即原欧易)
exchange = ccxt.okx({
'apiKey': api_key,
'secret': secret_key,
'password': passphrase,
'enableRateLimit': True, # 开启请求限速,防止被封
'options': {
'defaultType': 'spot', # 现货交易
}
})
# 测试连接是否成功
try:
balance = exchange.fetch_balance()
print("连接成功!账户USDT余额:", balance['USDT']['free'])
except Exception as e:
print("连接失败,请检查密钥或网络:", e)
exit()
# 获取BTC/USDT实时价格
ticker = exchange.fetch_ticker('BTC/USDT')
current_price = ticker['last']
print(f"当前BTC价格:{current_price} USDT")
# 策略:低于45000美元就买入
if current_price < 45000:
amount = 0.001 # 买入0.001个BTC
order = exchange.create_market_buy_order('BTC/USDT', amount)
print("买入成功,订单信息:", order)
else:
print("价格高于预设值,不执行买入。")
注意事项:
- 首次运行建议先用模拟盘或小额资金测试。
ccxt库的订单参数里,数量是指“币的数量”,而不是金额,如果要按金额下单(比如用50USDT买),需要计算对应数量。- 正式交易前,建议先跑一次
fetch_balance()确认API权限正常。
常见错误与问答环节
Q1:为什么我调用API时总是报“签名错误”?
A:最常见的原因是Secret Key复制多了空格,或者Passphrase没填对,请检查你的密钥是否全部小写、无换行,如果用ccxt库,记得把password参数填成你设置的交易口令,而不是Secret Key。
Q2:脚本能24小时运行吗?需要放在服务器上吗?
A:可以,但建议用云服务器(如阿里云、腾讯云)部署,保证网络稳定,本地电脑一旦关屏休眠,脚本就会中断。欧易交易所下载App端也有API管理功能,方便你随时查看密钥状态。
Q3:我如何获取K线历史数据来训练策略?
A:用exchange.fetch_ohlcv('BTC/USDT', '1h')可以获取最近100条小时级K线,如果要更长时间范围,可以分页请求,具体参考ccxt官方文档。
Q4:API请求频率限制是多少?
A:欧易对普通API Key的限速是每秒10次请求,如果启动了大量实时订阅,记得开启enableRateLimit或者自己写睡眠逻辑(time.sleep(0.1))。
Q5:这个脚本能直接用于期货/合约交易吗?
A:不能,上面的代码只针对现货(spot),如果需要交易永续合约,需要将defaultType改为swap,并且下单时增加杠杆等参数,相关代码我在后续文章中会详细拆解,欢迎关注。
安全提醒与合规使用
- 密钥分级:建议创建两个API密钥——一个用于测试(只有查看权限),一个用于正式交易(只勾选交易权限)。
- 服务器安全:如果脚本部署在云服务器,务必修改默认SSH端口,并开启防火墙。
- 风险控制:脚本里一定要加止损逻辑,比如设置最大亏损比例或每日交易次数上限,避免黑天鹅事件导致本金归零。
想测试一下这套脚本?不妨打开欧易交易所官网创建一个测试币账户,用免费水龙头获得小额资产再跑代码。凡事先小额测试,再上主账户,希望这个教程能帮你打开量化交易的大门,下次手动挂单时,你可以拍拍胸脯说:“放着,让Python来!”
标签: Python交易脚本