如何使用OKX API接口进行自动交易与交易机器人搭建教程

发布于 2025-02-07 01:42:00 · 阅读量: 177122

如何在OKX使用API接口进行自动交易

在OKX上搞自动交易?懂的都懂,手动交易是韭菜的浪漫,自动交易才是大佬的标配。今天就给大家安排一下,教你如何用OKX的API接口,搭建自己的交易机器人,让它24小时不眠不休,为你搬砖、套利、做市,彻底解放双手!


1. 申请OKX API密钥

首先,你得有OKX账号(废话),然后按以下步骤申请API密钥:

  1. 登录OKX官网,进入 "API管理" 界面。
  2. 点击 "创建API密钥",填写必要信息:
  3. API名称:随便填,方便自己识别。
  4. API权限:选 交易权限,否则机器人只能看不能动手。
  5. 绑定IP(可选):如果怕密钥泄露,可以绑定固定IP。
  6. 复制 API Key、Secret Key、Passphrase,妥善保存,密钥丢了就得重置

2. 配置Python交易环境

想玩自动交易?Python必不可少!先把环境搭好:

bash pip install requests

OKX的API主要用 requests 来搞定,当然你也可以用 ccxt 这样的库,但我们这里用最原生的方式教学。


3. 发送API请求(获取账户余额)

测试API是否好用,先查查自己账户里到底有多少弹药:

import requests import time import hmac import base64

OKX API信息

api_key = "你的API Key" secret_key = "你的Secret Key" passphrase = "你的Passphrase"

生成签名

def create_signature(timestamp, method, request_path, body=""): message = timestamp + method + request_path + body mac = hmac.new(bytes(secret_key, encoding="utf8"), bytes(message, encoding="utf8"), digestmod="sha256") return base64.b64encode(mac.digest()).decode()

请求头

timestamp = str(time.time()) headers = { "OK-ACCESS-KEY": api_key, "OK-ACCESS-SIGN": create_signature(timestamp, "GET", "/api/v5/account/balance"), "OK-ACCESS-TIMESTAMP": timestamp, "OK-ACCESS-PASSPHRASE": passphrase, "Content-Type": "application/json" }

发送请求

url = "https://www.okx.com/api/v5/account/balance" response = requests.get(url, headers=headers) print(response.json())

如果返回账户余额数据,说明API生效了,可以愉快开整!


4. 下单操作(市场买入BTC)

既然是交易所API,那最核心的功能当然是 下单!我们来写一个简单的 市价单买入BTC 代码:

import json

订单信息

order_data = { "instId": "BTC-USDT", # 交易对 "tdMode": "cash", # 现货交易 "side": "buy", # 买入 "ordType": "market", # 市价单 "sz": "0.001" # 购买数量(0.001 BTC) }

生成请求签名

timestamp = str(time.time()) body = json.dumps(order_data) headers["OK-ACCESS-SIGN"] = create_signature(timestamp, "POST", "/api/v5/trade/order", body) headers["OK-ACCESS-TIMESTAMP"] = timestamp

发送请求

url = "https://www.okx.com/api/v5/trade/order" response = requests.post(url, headers=headers, data=body) print(response.json())

如果返回 ordId 订单ID,就说明单子成功下出去了!


5. 查询订单状态

下单之后,总得看看成没成交吧?来查查订单状态:

order_id = "你的订单ID" url = f"https://www.okx.com/api/v5/trade/order?ordId={order_id}&instId=BTC-USDT"

timestamp = str(time.time()) headers["OK-ACCESS-SIGN"] = create_signature(timestamp, "GET", f"/api/v5/trade/order?ordId={order_id}&instId=BTC-USDT") headers["OK-ACCESS-TIMESTAMP"] = timestamp

response = requests.get(url, headers=headers) print(response.json())

如果状态是 filled,说明订单成交了;如果是 canceled,那可能是价格波动太快,没吃到单。


6. 自动交易策略示例(定时买入)

想要全自动?我们可以用 定时策略,比如 每小时买入0.001 BTC

import schedule

def auto_trade(): print("执行自动买入...") response = requests.post(url, headers=headers, data=body) print(response.json())

每小时执行一次

schedule.every(1).hours.do(auto_trade)

while True: schedule.run_pending() time.sleep(1)

这个策略虽然简单,但能实现基础的自动化操作。更复杂的策略,比如 网格交易、马丁加仓、量化套利,都可以基于API搭建。


7. 账户安全建议

自动交易虽然爽,但风险也很大,安全措施一定要做到位:

  • API权限最小化:别给API开 提现权限,否则被盗直接凉凉。
  • 绑定IP地址:防止API密钥泄露被别人滥用。
  • 定期更换API密钥:减少潜在风险。
  • 异常监控:设置异常告警,防止策略失控造成爆仓。

API交易的世界里,代码就是金钱。搞定API接口,你就能用机器人的速度在市场上厮杀,比手动党快N个段位。至于能不能赚到钱?就看你策略牛不牛了!

Gate.io Logo 加入 Gate.io,注册赢取最高$6666迎新任务奖励!