欧易交易所官网操作指南,手把手教你用Python调用API写交易脚本

admin okx快讯 13

目录导读

  1. 为什么你需要欧易API?——从手动交易到自动化升级
  2. 准备工作:注册欧易账号与API密钥申请全流程
  3. Python环境搭建:只用三步装好必备库
  4. 实战代码:一个能用的简单交易脚本
  5. 常见问题问答区(Q&A)

为什么你需要欧易API?——从手动交易到自动化升级

很多朋友做数字货币交易,刚开始都是打开网页或者手机App,盯盘、看K线、手动挂单,但当你交易频率提高,或者想捕捉凌晨的行情波动时,手动操作就太累了,这时候,欧易交易所官网提供的API接口就成了“救命稻草”。

欧易交易所官网操作指南,手把手教你用Python调用API写交易脚本-第1张图片-欧易交易所

通过API,你可以用代码直接连接交易所的服务器,实现:

  • 自动获取实时行情
  • 自动下单、撤单
  • 查询持仓和余额
  • 甚至编写完整的量化策略

如果你想把交易变成“机器干活”,欧易API就是你的第一个入口,今天这篇教程,完全从零开始,带你申请密钥、写脚本、跑交易。

需要提醒的是:在开始之前,请先通过欧易交易所下载完成账号注册和实名认证,这是使用API的前提。


准备工作:注册欧易账号与API密钥申请全流程

登录欧易交易所官网

打开浏览器,访问欧易交易所官网,如果你是第一次使用,需要先完成注册和身份认证(KYC),这一步没什么好说的,按提示操作即可。

进入API管理页面

登录后,在右上角头像菜单中找到“API管理”,或者直接在设置页面里找,不同版本的官网布局可能略有不同,但“API”这个入口是固定的。

创建API密钥

点击“创建API密钥”,你会看到需要填写几个选项:

  • 权限设置:建议先选“读取”和“交易”权限,万一密钥泄露,有“读取”权限只能看数据,但“交易”权限才能下单,所以保管好密钥文件。
  • IP白名单:这是个安全措施,如果你在固定IP的服务器上跑脚本,填上IP会更安全,家庭网络IP经常变,可以暂时不填。
  • 备注:随便写个名字,Python交易脚本”。

创建成功后,你会看到:

  • API Key(一串字母数字组合)
  • Secret Key(另一串更长的密钥)
  • Passphrase(创建时你设置的口令)

这三样东西千万不要截图发给别人!Secret Key只会显示一次,如果丢失,必须重新生成。

下载欧易交易所下载客户端(可选)

虽然API不需要客户端也能用,但如果你习惯用手机操作,可以先去官网找到“欧易交易所下载”链接,安装移动端App,方便平时查看数据和紧急处理。


Python环境搭建:只用三步装好必备库

假设你已经安装了Python(推荐3.8以上版本),打开终端或命令行,输入以下命令:

pip install requests
pip install hashlib
pip install hmac
pip install base64

这些库是Python内置或常用库,用来发送HTTP请求、生成签名,如果你用的是Anaconda,一般已经预装。

小提示:如果下载慢,可以加国内镜像源:

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

装好后,打开你的代码编辑器(比如VSCode、PyCharm,甚至记事本都可以),准备写脚本。


实战代码:一个能用的简单交易脚本

下面这份代码,作用是查询你账户里的USDT余额,然后模拟下单(不会真的成交,只是测试API连接是否成功)。

完整代码示例

import requests
import json
import hmac
import base64
import hashlib
import time
# 👇 这里替换成你自己的三个关键信息
API_KEY = "你的API Key"
SECRET_KEY = "你的Secret Key"
PASSPHRASE = "你的Passphrase"
# 基础URL(欧易API主网地址)
BASE_URL = "https://www.okx.com"
def get_signature(timestamp, method, request_path, body):
    """生成签名"""
    msg = timestamp + method + request_path + body
    mac = hmac.new(bytes(SECRET_KEY, encoding='utf8'), bytes(msg, encoding='utf-8'), digestmod='sha256')
    d = mac.digest()
    return base64.b64encode(d).decode('utf-8')
def get_account_info():
    """获取账户信息"""
    timestamp = str(time.time())
    method = "GET"
    request_path = "/api/v5/account/balance"
    body = ""
    headers = {
        "OK-ACCESS-KEY": API_KEY,
        "OK-ACCESS-SIGN": get_signature(timestamp, method, request_path, body),
        "OK-ACCESS-TIMESTAMP": timestamp,
        "OK-ACCESS-PASSPHRASE": PASSPHRASE,
        "Content-Type": "application/json"
    }
    url = BASE_URL + request_path
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        data = response.json()
        print("✅ 连接成功!")
        print("账户信息:", json.dumps(data, indent=2, ensure_ascii=False))
    else:
        print("❌ 请求失败,错误码:", response.status_code)
        print("错误信息:", response.text)
if __name__ == "__main__":
    get_account_info()

代码解读

  • 签名机制:欧易的API要求每个请求都必须携带签名,这是为了安全,签名用到了hmacsha256,代码里已经封装好了。
  • 请求路径/api/v5/account/balance 是最常用的接口,用来查余额。
  • 返回数据:如果一切正常,你会看到JSON格式的账户余额明细,包含每种币的可用数量。

重要提醒:这段代码默认访问的是欧易的主网,如果你是模拟交易账户,需要把BASE_URL改成模拟盘地址,新手建议先在模拟盘测试,避免真金白银出错。


常见问题问答区(Q&A)

Q1:API密钥泄露了怎么办?

:立即登录欧易交易所官网,在API管理页面删除该密钥,然后重新生成,同时检查账户是否有异常交易记录,安全永远是第一位。

Q2:为什么我运行脚本后返回“无效签名”?

:最常见的原因是时间戳不对,你的电脑时间必须和网络时间同步(建议开启自动同步),检查API_KEYSECRET_KEYPASSPHRASE是否粘贴正确,不要有多余空格。

Q3:这个脚本能直接用来实盘交易吗?

:不建议直接使用,上面的代码只是演示连接,实际交易还需要处理订单类型、数量精度、手续费计算等逻辑,强烈建议先在模拟盘或使用小资金测试。

Q4:我想定时自动交易,怎么办?

:你可以把脚本放到服务器上,用cron(Linux)或任务计划程序(Windows)定时触发,或者改用WebSocket接口实现实时行情监听,但这需要更复杂的代码。

Q5:有没有更全的API文档资源?

:当然有,欧易交易所官网的开发者文档是最终答案,你可以访问欧易交易所下载后,在页面底部或帮助中心找到“API文档”入口,里面包含了所有接口说明、请求示例和错误码列表。


最后说两句

写交易脚本这件事,说简单也简单,说难也难,上面这套流程,其实只要跟着走一遍,半小时就能跑通,关键是把API的签名、请求、响应这三个环节搞清楚。

如果你之前完全没接触过编程,可能会觉得“签名”这部分有点绕,没关系,复制上面的代码,把三个密钥填进去,先让它跑起来再说,跑通了,你就有信心继续往下走了。

后续你可以尝试:

  • /api/v5/trade/order接口下单
  • 用循环脚本每分钟检查一次行情
  • 甚至写一个简单的网格交易策略

记住:先跑通连接,再优化代码,每一步都稳一点,比什么都强。

最后再次提醒:保管好你的API密钥,不要在公共场所粘贴代码,定期检查账户授权情况,祝你写脚本顺利,交易好运!

标签: OKX Python API

抱歉,评论功能暂时关闭!