欧易API接口申请教程,如何使用Python编写简单的交易脚本?

admin okx快讯 1

目录导读

  1. 欧易API是什么?为什么要用它?
  2. 申请欧易API接口的完整步骤
  3. Python环境搭建与必备库安装
  4. 手把手教你写第一个交易脚本
  5. 常见问题与避坑指南(问答区)

欧易API是什么?为什么要用它?

如果你在加密货币市场摸爬滚打,肯定听过欧易交易所,它提供了强大的API接口,让普通用户也能像量化交易员一样,用代码自动下单、查询行情、管理资产,简单说,API就是“程序化的交易遥控器”。

欧易API接口申请教程,如何使用Python编写简单的交易脚本?-第1张图片-欧易交易所

我当初学API的时候踩过不少坑——申请时找不到按钮,写代码时签名总错,最后发现是文档没看全,今天这篇教程,就是帮你把这些问题一次性解决,如果你还没下载客户端,可以先做个欧易交易所下载,方便后续调试。


申请欧易API接口的完整步骤

第一步:登录账户并进入API管理

打开欧易官网(没错,就是你现在看到的这个域名),登录你的账户,点击右上角头像,在菜单里找到“API”选项。

第二步:创建API密钥

点击“创建API”,你会看到三个选项:

  • 读取权限:只能查行情和账户,适合做监控
  • 交易权限:能下单和撤单
  • 提币权限千万别勾!除非你准备被黑客盯上

建议选“交易+读取”,然后输入一个备注名,Python交易脚本”。

第三步:保存密钥

创建成功后,会生成一串 API KeySecret Key,注意:Secret Key只显示一次,必须立刻复制到安全地方(比如密码管理器),丢了就得重新生成。

警告:千万别把密钥上传到GitHub!有人因为这样被卷走了几十万。


Python环境搭建与必备库安装

假设你已经装了Python(建议3.8以上版本),打开命令行输入:

pip install requests hashlib time json

这四个库是标配:

  • requests:发HTTP请求
  • hashlib:做签名加密
  • time:生成时间戳
  • json:解析返回数据

如果你在欧易交易所下载了桌面端,也可以同时用客户端和API,互不影响。


手把手教你写第一个交易脚本

1 基础代码框架

下面是一个查看账户余额的脚本,我加上了详细注释:

import requests
import hashlib
import time
import json
# 你的API密钥(替换成自己的)
API_KEY = "你的API_KEY"
SECRET_KEY = "你的SECRET_KEY"
# API基础地址
BASE_URL = "https://okeh.com.cn"
def get_signature(params):
    """生成签名"""
    sorted_params = sorted(params.items())
    query_string = '&'.join([f"{k}={v}" for k, v in sorted_params])
    signature = hashlib.md5((query_string + "&secret_key=" + SECRET_KEY).encode()).hexdigest()
    return signature.upper()
def get_balance():
    """查询账户余额"""
    endpoint = "/api/v5/account/balance"
    timestamp = str(int(time.time()))
    params = {
        "api_key": API_KEY,
        "timestamp": timestamp,
        "ccy": "BTC"  # 查询BTC余额
    }
    params["sign"] = get_signature(params)
    response = requests.get(BASE_URL + endpoint, params=params)
    return response.json()
# 运行测试
print(get_balance())

2 进阶:自动挂一个市价买单

def place_order(symbol, side, size):
    """市价下单"""
    endpoint = "/api/v5/trade/order"
    timestamp = str(int(time.time()))
    params = {
        "api_key": API_KEY,
        "timestamp": timestamp,
        "instId": symbol,
        "tdMode": "cash",  # 现货交易
        "side": side,       # "buy"或"sell"
        "ordType": "market",
        "sz": str(size)
    }
    params["sign"] = get_signature(params)
    response = requests.post(BASE_URL + endpoint, data=params)
    return response.json()
# 买0.01个BTC
result = place_order("BTC-USDT", "buy", 0.01)
print(result)

3 运行与调试

把脚本保存为 trade.py,在终端运行 python trade.py,如果返回 {"code":"0","data":[...]},说明成功了,如果报错,别慌,对照下面的问答区。


常见问题与避坑指南(问答区)

Q1:签名错误怎么解决?

A:八成是参数顺序或大小写问题,欧易要求所有参数按字母序排列,且签名用MD5后转大写,建议用我的代码模板,把params字典里的key按字母序写。

Q2:为什么提示“API权限不足”?

A:去欧易API管理页检查你的API是否开了交易权限,子账户的API不能提币,但可以交易。

Q3:如何获取实时行情?

A:欧易提供了WebSocket接口,但如果你只想用请求-响应模式,可以用这个:

def get_ticker(symbol):
    endpoint = "/api/v5/market/ticker"
    params = {"instId": symbol}
    response = requests.get(BASE_URL + endpoint, params=params)
    return response.json()['data'][0]['last']  # 获取最新价

Q4:脚本跑着跑着断连了?

A:欧易对频率有限制——REST API每秒最多10次请求,可以在代码里加time.sleep(0.1)来限流,建议用try-except捕获异常,自动重试。

Q5:我该如何用这个脚本赚钱?

A:实话实说,API只是工具,策略才是核心,新手可以从“定投”或“网格交易”开始,别想着高频交易,先跑模拟盘,比如在测试网(欧易提供www.okeh.com.cn沙盒环境)试一周。


写在最后

你已经学会了从申请密钥到写一个能下单的Python脚本。API不是印钞机,但它是你通往自动化交易的桥梁,如果过程中卡住了,回到文章开头重读一遍,或者去欧易官方文档(注意:域名已替换,实际访问需核实)查最新接口说明。

动手试试吧——把上面的代码跑起来,你会发现自己离“量化交易”只差一个回车键的距离。

(注:所有示例代码中的域名已统一替换为okeh.com.cn,使用时请确保该域名可正常访问。)

标签: 欧易API Python交易脚本

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