|
|
||
|---|---|---|
| example | ||
| okx | ||
| test | ||
| .DS_Store | ||
| .gitignore | ||
| README.md | ||
| http2_example.py | ||
| websocket_example.py | ||
README.md
[TOC]
如何使用?
python版本:3.6 - 3.8
WebSocketAPI:建议websockets库版本为6.0
第一步:下载SDK,安装相关所需库
1.1 下载python SDK
- 将SDK目录
Clone或者Download到本地,选择使用okx-python-sdk-api-v5即可
1.2 安装所需库
pip install requests
pip install websockets==6.0
第二步:配置个人信息
2.1 如果还未有API,可点击前往官网进行申请
2.2 将各项信息在example.py(RestAPI)和websocket_example.py(WebSocketAPI)中填写
api_key = ""
secret_key = ""
passphrase = ""
第三步:调用接口
-
RestAPI
-
运行
example.py -
解开相应方法的注释传参调用各接口即可
-
-
WebSocketAPI
-
运行
websocket_example.py -
根据
公共频道/私有频道/交易选择对应url、对应启动方法,传入相应参数即可
# WebSocket公共频道 url = "wss://ws.okx.com:8443/ws/v5/public?brokerId=9999" # WebSocket私有频道 url = "wss://ws.okx.com:8443/ws/v5/private?brokerId=9999"# 公共频道 不需要登录(行情,持仓总量,K线,标记价格,深度,资金费率等) loop.run_until_complete(subscribe_without_login(url, channels)) # 私有频道 需要登录(账户,持仓,订单等) loop.run_until_complete(subscribe(url, api_key, passphrase, seceret_key, channels)) # 交易(下单,撤单,改单等) loop.run_until_complete(trade(url, api_key, passphrase, seceret_key, trade_param)) -
附言:
-
如果对API尚不了解,建议参考
OKx官方API文档 -
使用RestAPI的用户可以通过设置
example.py文件下的flag参数来选择接入实盘或者模拟盘 -
使用WebSocketAPI的用户可以通过解开
websocket_example.py文件下对应的url注释来选择接入实盘或者模拟盘 -
RestAPI 提供了http2的请求方式,可参考http2_example.py
-
若使用
WebSocketAPI遇到问题建议参考相关链接-
asyncio、websockets文档/github:https://docs.python.org/3/library/asyncio-dev.html https://websockets.readthedocs.io/en/stable/intro.html https://github.com/aaugustin/websockets -
关于
code=1006:https://github.com/Rapptz/discord.py/issues/1996 https://github.com/aaugustin/websockets/issues/587
-
How to use ?
python version:3.6 - 3.8
WebSocketAPI: websockets package advise version 6.0
Step 1: Download the SDK and install the necessary libraries
1.1 Download python SDK
CloneorDownloadthe SDK directory to your local directory,choose to useokx-python-sdk-api-v5
1.2 Install the necessary libraries
pip install requests
pip install websockets==6.0
Step 2: Configure Personal Information
2.1 If you have no API,Click here to the official websit to apply for the API
2.2 Fill out all necessary informatiuon in example.py(RestAPI) and websocket_example.py(WebSocketAPI)
api_key = ""
secret_key = ""
passphrase = ""
Step 3: Call API
- RestAPI
- Run
example.py - Uncomment the corresponding method and then pass the arguments and call the interfaces
- Run
- WebSocketAPI
- Run
websocket_example.py - According to the
public channel/private channel/trade, select the correspondingurl, the corresponding start method, and pass in the corresponding parameters
- Run
# WebSocket public channel
url = "wss://ws.okx.com:8443/ws/v5/public?brokerId=9999"
# WebSocket private channel
url = "wss://ws.okx.com:8443/ws/v5/private?brokerId=9999"
# Not necessary for public channel to login (Instrument, Tickers, Index, Mark price, Order Book, Funding rate, etc)
loop.run_until_complete(subscribe_without_login(url, channels))
# necessary for private channel to login(Account,Positions, Order, etc)
loop.run_until_complete(subscribe(url, api_key, passphrase, seceret_key, channels))
# trade(Place Order, Cancel Order, Amend Order, etc)
loop.run_until_complete(trade(url, api_key, passphrase, seceret_key, trade_param))
P.S.
-
If you know little about API, advise consulting the offical API document
-
User with RestAPI can configure parameter
flaginexample.pyin to choose to access to real trading or demo trading -
User with WebSocketAPI can ucomment the corresponding
urlto choose to access to real trading or demo trading -
Rest API support request by http2, you can refer to http2_example
-
If you face any questions when using
WebSocketAPI,you can consult related link-
asyncio、websocketsdocument/github:https://docs.python.org/3/library/asyncio-dev.html https://websockets.readthedocs.io/en/stable/intro.html https://github.com/aaugustin/websockets -
About
code=1006:https://github.com/Rapptz/discord.py/issues/1996 https://github.com/aaugustin/websockets/issues/587
-