add README
This commit is contained in:
parent
b6cef36dba
commit
c5c2c4e23e
|
|
@ -0,0 +1,179 @@
|
|||
[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 安装所需库
|
||||
|
||||
```python
|
||||
pip install requests
|
||||
pip install websockets==6.0
|
||||
```
|
||||
|
||||
#### 第二步:配置个人信息
|
||||
|
||||
2.1 如果还未有API,可[点击](https://www.okx.com/account/users/myApi)前往官网进行申请
|
||||
|
||||
2.2 将各项信息在`example.py(RestAPI)`和`websocket_example.py(WebSocketAPI)`中填写
|
||||
|
||||
```python
|
||||
api_key = ""
|
||||
secret_key = ""
|
||||
passphrase = ""
|
||||
```
|
||||
|
||||
#### 第三步:调用接口
|
||||
|
||||
* RestAPI
|
||||
|
||||
* 运行`example.py`
|
||||
|
||||
* 解开相应方法的注释传参调用各接口即可
|
||||
|
||||
* WebSocketAPI
|
||||
|
||||
* 运行`websocket_example.py`
|
||||
|
||||
* 根据`公共频道`/`私有频道`/`交易`选择对应`url`、对应启动方法,传入相应参数即可
|
||||
|
||||
```python
|
||||
# WebSocket公共频道
|
||||
url = "wss://ws.okx.com:8443/ws/v5/public?brokerId=9999"
|
||||
|
||||
# WebSocket私有频道
|
||||
url = "wss://ws.okx.com:8443/ws/v5/private?brokerId=9999"
|
||||
```
|
||||
|
||||
```python
|
||||
# 公共频道 不需要登录(行情,持仓总量,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文档](https://www.okx.com/docs-v5/zh/)
|
||||
|
||||
* 使用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
|
||||
|
||||
- `Clone` or `Download` the SDK directory to your local directory,choose to use `okx-python-sdk-api-v5`
|
||||
|
||||
1.2 Install the necessary libraries
|
||||
|
||||
```python
|
||||
pip install requests
|
||||
pip install websockets==6.0
|
||||
```
|
||||
|
||||
#### Step 2: Configure Personal Information
|
||||
|
||||
2.1 If you have no API,[Click here](https://www.okx.com/account/users/myApi) 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)`
|
||||
|
||||
```python
|
||||
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
|
||||
- WebSocketAPI
|
||||
- Run `websocket_example.py`
|
||||
- According to the `public channel`/`private channel`/`trade`, select the corresponding `url`, the corresponding start method, and pass in the corresponding parameters
|
||||
|
||||
```python
|
||||
# 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"
|
||||
```
|
||||
|
||||
```Python
|
||||
# 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](https://www.okx.com/docs-v5/en/)
|
||||
|
||||
- User with RestAPI can configure parameter `flag` in `example.py` in to choose to access to real trading or demo trading
|
||||
|
||||
- User with WebSocketAPI can ucomment the corresponding `url` to 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`、`websockets` document/`github`:
|
||||
|
||||
```python
|
||||
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`:
|
||||
|
||||
```python
|
||||
https://github.com/Rapptz/discord.py/issues/1996
|
||||
https://github.com/aaugustin/websockets/issues/587
|
||||
```
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue