okxv5 1.8.11__py3-none-any.whl → 1.8.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- okxv5/Account_api.py +28 -489
- okxv5/Affiliate_api.py +4 -12
- okxv5/Broker_api.py +2 -179
- okxv5/Convert_api.py +1 -7
- okxv5/Copytrading_api.py +2 -309
- okxv5/FDBroker_api.py +6 -20
- okxv5/Finance_api.py +47 -40
- okxv5/Funding_api.py +26 -25
- okxv5/Market_api.py +29 -193
- okxv5/Public_api.py +20 -64
- okxv5/Recurring_api.py +0 -57
- okxv5/Rfq_api.py +0 -22
- okxv5/Singal_api.py +45 -100
- okxv5/SprdApi_api.py +8 -154
- okxv5/Trade_api.py +27 -459
- okxv5/TradingBot_api.py +27 -87
- okxv5/TradingData_api.py +6 -49
- okxv5/client.py +30 -84
- okxv5/consts.py +400 -399
- okxv5/exceptions.py +11 -44
- okxv5/status_api.py +0 -14
- okxv5/subAccount_api.py +1 -172
- okxv5/utils.py +14 -67
- okxv5-1.8.12.dist-info/METADATA +915 -0
- okxv5-1.8.12.dist-info/RECORD +28 -0
- okxv5/hunyuan_client.py +0 -74
- okxv5-1.8.11.dist-info/METADATA +0 -59
- okxv5-1.8.11.dist-info/RECORD +0 -29
- {okxv5-1.8.11.dist-info → okxv5-1.8.12.dist-info}/WHEEL +0 -0
- {okxv5-1.8.11.dist-info → okxv5-1.8.12.dist-info}/top_level.txt +0 -0
okxv5/Market_api.py
CHANGED
@@ -3,295 +3,131 @@ from .consts import *
|
|
3
3
|
|
4
4
|
|
5
5
|
class MarketAPI(Client):
|
6
|
-
"""
|
7
|
-
市场行情API接口类,继承自Client
|
8
|
-
"""
|
9
6
|
|
10
7
|
def __init__(self, api_key, api_secret_key, passphrase, use_server_time=False, flag='1'):
|
11
|
-
"""
|
12
|
-
构造函数
|
13
|
-
:param api_key: API Key
|
14
|
-
:param api_secret_key: API Secret Key
|
15
|
-
:param passphrase: 密码
|
16
|
-
:param use_server_time: 是否使用服务器时间 (默认为False)
|
17
|
-
:param flag: 请求类型 (默认为'1')
|
18
|
-
"""
|
19
8
|
Client.__init__(self, api_key, api_secret_key, passphrase, use_server_time, flag)
|
20
9
|
|
21
|
-
# Get Tickers
|
10
|
+
# Get Tickers
|
22
11
|
def get_tickers(self, instType, uly='',instFamily=''):
|
23
|
-
"""
|
24
|
-
获取所有产品行情信息
|
25
|
-
:param instType: 产品类型
|
26
|
-
:param uly: 标的指数 (可选)
|
27
|
-
:param instFamily: 交易品种 (可选)
|
28
|
-
:return: 产品行情信息
|
29
|
-
"""
|
30
12
|
if uly:
|
31
13
|
params = {'instType': instType, 'uly': uly}
|
32
14
|
else:
|
33
15
|
params = {'instType': instType}
|
34
16
|
return self._request_with_params(GET, TICKERS_INFO, params)
|
35
17
|
|
36
|
-
# Get Ticker
|
18
|
+
# Get Ticker
|
37
19
|
def get_ticker(self, instId):
|
38
|
-
"""
|
39
|
-
获取单个产品行情信息
|
40
|
-
:param instId: 产品ID
|
41
|
-
:return: 单个产品行情信息
|
42
|
-
"""
|
43
20
|
params = {'instId': instId}
|
44
21
|
return self._request_with_params(GET, TICKER_INFO, params)
|
45
22
|
|
46
|
-
# Get Index Tickers
|
23
|
+
# Get Index Tickers
|
47
24
|
def get_index_ticker(self, quoteCcy='', instId=''):
|
48
|
-
"""
|
49
|
-
获取指数行情信息
|
50
|
-
:param quoteCcy: 计价币种 (可选)
|
51
|
-
:param instId: 产品ID (可选)
|
52
|
-
:return: 指数行情信息
|
53
|
-
"""
|
54
25
|
params = {'quoteCcy': quoteCcy, 'instId': instId}
|
55
26
|
return self._request_with_params(GET, INDEX_TICKERS, params)
|
56
27
|
|
57
|
-
# Get Order Book
|
28
|
+
# Get Order Book
|
58
29
|
def get_orderbook(self, instId, sz=''):
|
59
|
-
"""
|
60
|
-
获取产品深度信息
|
61
|
-
:param instId: 产品ID
|
62
|
-
:param sz: 深度档位 (可选)
|
63
|
-
:return: 产品深度信息
|
64
|
-
"""
|
65
30
|
params = {'instId': instId, 'sz': sz}
|
66
31
|
return self._request_with_params(GET, ORDER_BOOKS, params)
|
67
32
|
|
68
|
-
# Get Candlesticks
|
33
|
+
# Get Candlesticks
|
69
34
|
def get_candlesticks(self, instId, after='', before='', bar='', limit=''):
|
70
|
-
"""
|
71
|
-
获取K线数据
|
72
|
-
:param instId: 产品ID
|
73
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
74
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
75
|
-
:param bar: 时间粒度 (可选)
|
76
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
77
|
-
:return: K线数据
|
78
|
-
"""
|
79
35
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
80
36
|
return self._request_with_params(GET, MARKET_CANDLES, params)
|
81
37
|
|
82
|
-
# GGet Candlesticks History(top currencies only
|
38
|
+
# GGet Candlesticks History(top currencies only)
|
83
39
|
def get_history_candlesticks(self, instId, after='', before='', bar='', limit=''):
|
84
|
-
"""
|
85
|
-
获取K线数据历史 (仅适用于主流币种)
|
86
|
-
:param instId: 产品ID
|
87
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
88
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
89
|
-
:param bar: 时间粒度 (可选)
|
90
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
91
|
-
:return: K线数据历史
|
92
|
-
"""
|
93
40
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
94
41
|
return self._request_with_params(GET, HISTORY_CANDLES, params)
|
95
42
|
|
96
|
-
# Get Index Candlesticks
|
43
|
+
# Get Index Candlesticks
|
97
44
|
def get_index_candlesticks(self, instId, after='', before='', bar='', limit=''):
|
98
|
-
"""
|
99
|
-
获取指数K线数据
|
100
|
-
:param instId: 产品ID
|
101
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
102
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
103
|
-
:param bar: 时间粒度 (可选)
|
104
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
105
|
-
:return: 指数K线数据
|
106
|
-
"""
|
107
45
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
108
46
|
return self._request_with_params(GET, INDEX_CANSLES, params)
|
109
47
|
|
110
|
-
# Get Mark Price Candlesticks
|
48
|
+
# Get Mark Price Candlesticks
|
111
49
|
def get_markprice_candlesticks(self, instId, after='', before='', bar='', limit=''):
|
112
|
-
"""
|
113
|
-
获取标记价格K线数据
|
114
|
-
:param instId: 产品ID
|
115
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
116
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
117
|
-
:param bar: 时间粒度 (可选)
|
118
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
119
|
-
:return: 标记价格K线数据
|
120
|
-
"""
|
121
50
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
122
51
|
return self._request_with_params(GET, MARKPRICE_CANDLES, params)
|
123
52
|
|
124
|
-
# Get Index Candlesticks
|
53
|
+
# Get Index Candlesticks
|
125
54
|
def get_trades(self, instId, limit=''):
|
126
|
-
"""
|
127
|
-
获取成交明细
|
128
|
-
:param instId: 产品ID
|
129
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
130
|
-
:return: 成交明细
|
131
|
-
"""
|
132
55
|
params = {'instId': instId, 'limit': limit}
|
133
56
|
return self._request_with_params(GET, MARKET_TRADES, params)
|
134
57
|
|
135
|
-
# Get Volume
|
58
|
+
# Get Volume
|
136
59
|
def get_volume(self):
|
137
|
-
"""
|
138
|
-
获取公共基础信息 (交易量)
|
139
|
-
:return: 交易量信息
|
140
|
-
"""
|
141
60
|
return self._request_without_params(GET, VOLUMNE)
|
142
61
|
|
143
|
-
# Get Oracle
|
62
|
+
# Get Oracle
|
144
63
|
def get_oracle(self):
|
145
|
-
"""
|
146
|
-
获取链上最新成交价
|
147
|
-
:return: 链上最新成交价
|
148
|
-
"""
|
149
64
|
return self._request_without_params(GET, ORACLE)
|
150
65
|
|
151
|
-
# Get Index Components
|
66
|
+
# Get Index Components
|
152
67
|
def get_index_components(self, index):
|
153
|
-
"""
|
154
|
-
获取指数成分
|
155
|
-
:param index: 指数ID
|
156
|
-
:return: 指数成分信息
|
157
|
-
"""
|
158
68
|
params = {'index': index}
|
159
69
|
return self._request_with_params(GET, Components, params)
|
160
70
|
|
161
|
-
# Get Tier
|
71
|
+
# Get Tier
|
162
72
|
def get_tier(self, instType='', tdMode='', uly='', instId='', ccy='', tier=''):
|
163
|
-
"""
|
164
|
-
获取杠杆利率和借币限额
|
165
|
-
:param instType: 产品类型 (可选)
|
166
|
-
:param tdMode: 交易模式 (可选)
|
167
|
-
:param uly: 标的指数 (可选)
|
168
|
-
:param instId: 产品ID (可选)
|
169
|
-
:param ccy: 币种 (可选)
|
170
|
-
:param tier: 档位 (可选)
|
171
|
-
:return: 杠杆利率和借币限额
|
172
|
-
"""
|
173
73
|
params = {'instType': instType, 'tdMode': tdMode, 'uly': uly, 'instId': instId, 'ccy': ccy, 'tier': tier}
|
174
74
|
return self._request_with_params(GET, TIER, params)
|
175
75
|
|
176
|
-
# Get exchange rate
|
76
|
+
# Get exchange rate
|
177
77
|
def get_exchange_rate(self):
|
178
|
-
"""
|
179
|
-
获取法币汇率
|
180
|
-
:return: 法币汇率
|
181
|
-
"""
|
182
78
|
params = {}
|
183
79
|
return self._request_with_params(GET, BORROW_REPAY, params)
|
184
80
|
|
185
|
-
# Get history trades
|
81
|
+
# Get history trades
|
186
82
|
def get_history_trades(self, instId = '', after = '', before = '', limit = ''):
|
187
|
-
"""
|
188
|
-
获取历史成交明细
|
189
|
-
:param instId: 产品ID (可选)
|
190
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
191
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
192
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
193
|
-
:return: 历史成交明细
|
194
|
-
"""
|
195
83
|
params = {'instId':instId, 'after':after, 'before':before, 'limit':limit}
|
196
84
|
return self._request_with_params(GET, HISTORY_TRADES, params)
|
197
85
|
|
198
|
-
# Get block history tickers
|
86
|
+
# Get block history tickers
|
199
87
|
def get_block_tickers(self, instType = '', uly = '',instFamily =''):
|
200
|
-
"""
|
201
|
-
获取大宗交易产品行情列表
|
202
|
-
:param instType: 产品类型 (可选)
|
203
|
-
:param uly: 标的指数 (可选)
|
204
|
-
:param instFamily: 交易品种 (可选)
|
205
|
-
:return: 大宗交易产品行情列表
|
206
|
-
"""
|
207
88
|
params = {'instType':instType, 'uly':uly,'instFamily':instFamily}
|
208
89
|
return self._request_with_params(GET, BLOCK_TICKERS, params)
|
209
90
|
|
210
|
-
# Get block history ticker
|
91
|
+
# Get block history ticker
|
211
92
|
def get_block_ticker(self, instId = ''):
|
212
|
-
"""
|
213
|
-
获取大宗交易产品行情
|
214
|
-
:param instId: 产品ID (可选)
|
215
|
-
:return: 大宗交易产品行情
|
216
|
-
"""
|
217
93
|
params = {'instId':instId}
|
218
94
|
return self._request_with_params(GET, BLOCK_TICKER, params)
|
219
95
|
|
220
|
-
# Get block trades
|
96
|
+
# Get block trades
|
221
97
|
def get_block_trades(self, instId = ''):
|
222
|
-
"""
|
223
|
-
获取大宗交易公共成交数据
|
224
|
-
:param instId: 产品ID (可选)
|
225
|
-
:return: 大宗交易公共成交数据
|
226
|
-
"""
|
227
98
|
params = {'instId':instId}
|
228
99
|
return self._request_with_params(GET, BLOCK_TRADES, params)
|
229
100
|
|
230
|
-
# Get history index candlesticks
|
101
|
+
# Get history index candlesticks
|
231
102
|
def get_history_index_candlesticks(self, instId ='', after='', before='', bar='', limit=''):
|
232
|
-
"""
|
233
|
-
获取历史指数K线数据
|
234
|
-
:param instId: 产品ID (可选)
|
235
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
236
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
237
|
-
:param bar: 时间粒度 (可选)
|
238
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
239
|
-
:return: 历史指数K线数据
|
240
|
-
"""
|
241
103
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
242
104
|
return self._request_with_params(GET, HISTORY_INDEX_CANDLES, params)
|
243
105
|
|
244
|
-
# Get history mark price candlesticks
|
106
|
+
# Get history mark price candlesticks
|
245
107
|
def get_history_markprice_candlesticks(self, instId ='', after='', before='', bar='', limit=''):
|
246
|
-
"""
|
247
|
-
获取历史标记价格K线数据
|
248
|
-
:param instId: 产品ID (可选)
|
249
|
-
:param after: 请求此时间戳之前(更旧)的数据 (可选)
|
250
|
-
:param before: 请求此时间戳之后(更新)的数据 (可选)
|
251
|
-
:param bar: 时间粒度 (可选)
|
252
|
-
:param limit: 返回结果的数量,默认100,最大300 (可选)
|
253
|
-
:return: 历史标记价格K线数据
|
254
|
-
"""
|
255
108
|
params = {'instId': instId, 'after': after, 'before': before, 'bar': bar, 'limit': limit}
|
256
109
|
return self._request_with_params(GET, HISTORY_MARK_PRICE_CANDLES, params)
|
257
110
|
|
258
|
-
# GET /api/v5/market/option/instrument-family-trades
|
111
|
+
# GET /api/v5/market/option/instrument-family-trades
|
259
112
|
def instrument_family_trades(self, instFamily = ''):
|
260
|
-
"""
|
261
|
-
获取期权交易品种最新成交
|
262
|
-
:param instFamily: 交易品种 (可选)
|
263
|
-
:return: 期权交易品种最新成交数据
|
264
|
-
"""
|
265
113
|
params = {'instFamily':instFamily}
|
266
114
|
return self._request_with_params(GET, INSTRUMENT_FAMILY_TRADES, params)
|
267
115
|
|
268
|
-
# GET /api/v5/market/books-lite
|
116
|
+
# GET /api/v5/market/books-lite
|
269
117
|
def get_books_lite(self, instId=''):
|
270
|
-
"""
|
271
|
-
获取轻量级深度数据
|
272
|
-
:param instId: 产品ID (可选)
|
273
|
-
:return: 轻量级深度数据
|
274
|
-
"""
|
275
118
|
params = {'instId': instId}
|
276
119
|
return self._request_with_params(GET, GET_BOOKS_LITE, params)
|
277
120
|
|
278
|
-
|
121
|
+
|
279
122
|
def books_full(self, instId='',sz=''):
|
280
|
-
"""
|
281
|
-
获取全量深度数据
|
282
|
-
:param instId: 产品ID (可选)
|
283
|
-
:param sz: 深度档位 (可选)
|
284
|
-
:return: 全量深度数据
|
285
|
-
"""
|
286
123
|
params = {'instId': instId,'sz':sz}
|
287
124
|
return self._request_with_params(GET, BOOKS_FULL, params)
|
288
125
|
|
289
|
-
# GET /api/v5/market/call-auction-details
|
126
|
+
# GET /api/v5/market/call-auction-details
|
290
127
|
def get_call_auction_details(self, instId=''):
|
291
|
-
"""
|
292
|
-
获取集合竞价信息
|
293
|
-
:param instId: 产品ID (可选)
|
294
|
-
:return: 集合竞价信息
|
295
|
-
"""
|
296
128
|
params = {'instId': instId}
|
297
|
-
return self._request_with_params(GET, GET_CALL_AUCTION_DETAILS, params)
|
129
|
+
return self._request_with_params(GET, GET_CALL_AUCTION_DETAILS, params)
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
okxv5/Public_api.py
CHANGED
@@ -1,151 +1,107 @@
|
|
1
|
-
# 从 .client 模块导入 Client 类
|
2
1
|
from .client import Client
|
3
|
-
# 从 .consts 模块导入所有常量
|
4
2
|
from .consts import *
|
5
3
|
|
6
4
|
|
7
|
-
# PublicAPI 类继承自 Client 类
|
8
5
|
class PublicAPI(Client):
|
9
6
|
|
10
|
-
# 构造函数
|
11
7
|
def __init__(self, api_key, api_secret_key, passphrase, use_server_time=False, flag='1'):
|
12
|
-
# 调用父类 Client 的构造函数
|
13
8
|
Client.__init__(self, api_key, api_secret_key, passphrase, use_server_time, flag)
|
14
9
|
|
15
|
-
#
|
10
|
+
# Get Instruments
|
16
11
|
def get_instruments(self, instType = 'FUTURES', uly = 'BTC-USDT', instFamily = '', instId = ''):
|
17
|
-
# 构造请求参数
|
18
12
|
params = {'instType': instType, 'uly': uly, 'instId': instId, 'instFamily':instFamily}
|
19
|
-
# 发送带参数的 GET 请求
|
20
13
|
return self._request_with_params(GET, INSTRUMENT_INFO, params)
|
21
14
|
|
22
|
-
#
|
15
|
+
# Get Delivery/Exercise History
|
23
16
|
def get_deliver_history(self, instType, uly, after='', before='', limit=''):
|
24
|
-
# 构造请求参数
|
25
17
|
params = {'instType': instType, 'uly': uly, 'after': after, 'before': before, 'limit': limit}
|
26
|
-
# 发送带参数的 GET 请求
|
27
18
|
return self._request_with_params(GET, DELIVERY_EXERCISE, params)
|
28
19
|
|
29
|
-
#
|
20
|
+
# Get Open Interest
|
30
21
|
def get_open_interest(self, instType, uly='', instId='',instFamily=''):
|
31
|
-
# 构造请求参数
|
32
22
|
params = {'instType': instType, 'uly': uly, 'instId': instId,'instFamily':instFamily}
|
33
|
-
# 发送带参数的 GET 请求
|
34
23
|
return self._request_with_params(GET, OPEN_INTEREST, params)
|
35
24
|
|
36
|
-
#
|
25
|
+
# Get Funding Rate
|
37
26
|
def get_funding_rate(self, instId):
|
38
|
-
# 构造请求参数
|
39
27
|
params = {'instId': instId}
|
40
|
-
# 发送带参数的 GET 请求
|
41
28
|
return self._request_with_params(GET, FUNDING_RATE, params)
|
42
29
|
|
43
|
-
#
|
30
|
+
# Get Funding Rate History
|
44
31
|
def funding_rate_history(self, instId, after='', before='', limit=''):
|
45
|
-
# 构造请求参数
|
46
32
|
params = {'instId': instId, 'after': after, 'before': before, 'limit': limit}
|
47
|
-
# 发送带参数的 GET 请求
|
48
33
|
return self._request_with_params(GET, FUNDING_RATE_HISTORY, params)
|
49
34
|
|
50
|
-
#
|
35
|
+
# Get Limit Price
|
51
36
|
def get_price_limit(self, instId):
|
52
|
-
# 构造请求参数
|
53
37
|
params = {'instId': instId}
|
54
|
-
# 发送带参数的 GET 请求
|
55
38
|
return self._request_with_params(GET, PRICE_LIMIT, params)
|
56
39
|
|
57
|
-
#
|
40
|
+
# Get Option Market Data
|
58
41
|
def get_opt_summary(self, uly, expTime=''):
|
59
|
-
# 构造请求参数
|
60
42
|
params = {'uly': uly, 'expTime': expTime}
|
61
|
-
# 发送带参数的 GET 请求
|
62
43
|
return self._request_with_params(GET, OPT_SUMMARY, params)
|
63
44
|
|
64
|
-
#
|
45
|
+
# Get Estimated Delivery/Excercise Price
|
65
46
|
def get_estimated_price(self, instId):
|
66
|
-
# 构造请求参数
|
67
47
|
params = {'instId': instId}
|
68
|
-
# 发送带参数的 GET 请求
|
69
48
|
return self._request_with_params(GET, ESTIMATED_PRICE, params)
|
70
49
|
|
71
|
-
#
|
50
|
+
# Get Discount Rate And Interest-Free Quota
|
72
51
|
def discount_interest_free_quota(self, ccy=''):
|
73
|
-
# 构造请求参数
|
74
52
|
params = {'ccy': ccy}
|
75
|
-
# 发送带参数的 GET 请求
|
76
53
|
return self._request_with_params(GET, DICCOUNT_INTETEST_INFO, params)
|
77
54
|
|
78
|
-
#
|
55
|
+
# Get System Time
|
79
56
|
def get_system_time(self):
|
80
|
-
# 发送不带参数的 GET 请求
|
81
57
|
return self._request_without_params(GET, SYSTEM_TIME)
|
82
58
|
|
83
|
-
#
|
59
|
+
# Get Liquidation Orders
|
84
60
|
def get_liquidation_orders(self, instType, mgnMode='', instId='', ccy='', uly='', alias='', state='', before='',
|
85
61
|
after='', limit='',instFamily = ''):
|
86
|
-
# 构造请求参数
|
87
62
|
params = {'instType': instType, 'mgnMode': mgnMode, 'instId': instId, 'ccy': ccy, 'uly': uly,
|
88
63
|
'alias': alias, 'state': state, 'before': before, 'after': after, 'limit': limit,'instFamily':instFamily}
|
89
|
-
# 发送带参数的 GET 请求
|
90
64
|
return self._request_with_params(GET, LIQUIDATION_ORDERS, params)
|
91
65
|
|
92
|
-
#
|
66
|
+
# Get Mark Price
|
93
67
|
def get_mark_price(self, instType, uly='', instId='',instFamily=''):
|
94
|
-
# 构造请求参数
|
95
68
|
params = {'instType': instType, 'uly': uly, 'instId': instId,'instFamily':instFamily}
|
96
|
-
# 发送带参数的 GET 请求
|
97
69
|
return self._request_with_params(GET, MARK_PRICE, params)
|
98
70
|
|
99
|
-
#
|
71
|
+
# Get Tier
|
100
72
|
def get_tier(self, instType, tdMode, uly='', instId='', ccy='', tier='',instFamily=''):
|
101
|
-
# 构造请求参数
|
102
73
|
params = {'instType': instType, 'tdMode': tdMode, 'uly': uly, 'instId': instId, 'ccy': ccy, 'tier': tier,'instFamily':instFamily}
|
103
|
-
# 发送带参数的 GET 请求
|
104
74
|
return self._request_with_params(GET, TIER, params)
|
105
75
|
|
106
|
-
#
|
76
|
+
# Get Interest Rate and Loan Quota
|
107
77
|
def get_interest_loan(self):
|
108
|
-
# 发送不带参数的 GET 请求
|
109
78
|
return self._request_without_params(GET, INTEREST_LOAN)
|
110
79
|
|
111
|
-
#
|
80
|
+
# Get underlying
|
81
|
+
|
112
82
|
def get_underlying(self, instType):
|
113
|
-
# 构造请求参数
|
114
83
|
params = {'instType': instType}
|
115
|
-
# 发送带参数的 GET 请求
|
116
84
|
return self._request_with_params(GET, UNDERLYING, params)
|
117
85
|
|
118
|
-
#
|
86
|
+
# GET Obtain the privileged currency borrowing leverage rate and currency borrowing limit
|
119
87
|
def get_vip_interest_rate_loan_quota(self):
|
120
|
-
# 构造空参数
|
121
88
|
params = {}
|
122
|
-
# 发送带参数的 GET 请求
|
123
89
|
return self._request_with_params(GET, VIP_INTEREST_RATE_LOAN_QUOTA, params)
|
124
90
|
|
125
|
-
# 获取保险基金数据
|
126
91
|
def get_insurance_fund(self,instType = '', type = '', uly = '', ccy = '', before = '', after = '', limit = '',instFamily=''):
|
127
|
-
# 构造请求参数
|
128
92
|
params = {'instType':instType, 'type':type, 'uly':uly, 'ccy':ccy, 'before':before, 'after':after, 'limit':limit,'instFamily':instFamily}
|
129
|
-
# 发送带参数的 GET 请求
|
130
93
|
return self._request_with_params(GET, INSURANCE_FUND, params)
|
131
94
|
|
132
|
-
# 转换合约币种
|
133
95
|
def convert_contract_coin(self, type = '', instId = '', sz = '', px = '', unit = '', opType=''):
|
134
|
-
# 构造请求参数
|
135
96
|
params = {'type':type, 'instId':instId, 'sz':sz, 'px':px, 'unit':unit, 'opType':opType}
|
136
|
-
# 发送带参数的 GET 请求
|
137
97
|
return self._request_with_params(GET, CONVERT_CONTRACT_COIN, params)
|
138
98
|
|
139
|
-
#
|
99
|
+
# GET /api/v5/public/instrument-tick-bands
|
140
100
|
def instrument_tick_bands(self, instType = '', instFamily = ''):
|
141
|
-
# 构造请求参数
|
142
101
|
params = {'instType':instType, 'instFamily':instFamily}
|
143
|
-
# 发送带参数的 GET 请求
|
144
102
|
return self._request_with_params(GET, INSTRUMENT_TICK_BANDS, params)
|
145
103
|
|
146
|
-
#
|
104
|
+
# GET /api/v5/public/option-trades
|
147
105
|
def option_trades(self, instId = '', instFamily = '', optType = ''):
|
148
|
-
# 构造请求参数
|
149
106
|
params = {'instId':instId, 'instFamily':instFamily, 'optType':optType}
|
150
|
-
|
151
|
-
return self._request_with_params(GET, OPTION_TRADES, params)
|
107
|
+
return self._request_with_params(GET, OPTION_TRADES, params)
|
okxv5/Recurring_api.py
CHANGED
@@ -4,96 +4,39 @@ from .consts import *
|
|
4
4
|
|
5
5
|
class RecurringAPI(Client):
|
6
6
|
def __init__(self, api_key, api_secret_key, passphrase, use_server_time=False, flag='1'):
|
7
|
-
# 调用父类 Client 的构造函数
|
8
7
|
Client.__init__(self, api_key, api_secret_key, passphrase, use_server_time, flag)
|
9
8
|
|
10
9
|
# POST /api/v5/tradingBot/recurring/order-algo
|
11
10
|
def recurring_order_algo(self, stgyName = '', recurringList = [], period = '', recurringDay = '', recurringTime = '', timeZone = '', amt = '', investmentCcy = '', tdMode = '', algoClOrdId = '', tag = ''):
|
12
|
-
"""
|
13
|
-
创建定投策略订单
|
14
|
-
参数:
|
15
|
-
stgyName: 策略名称
|
16
|
-
recurringList: 定投列表,包含定投币种和比例等信息
|
17
|
-
period: 定投周期类型
|
18
|
-
recurringDay: 定投日 (period 为 weekly 或 monthly 时必填)
|
19
|
-
recurringTime: 定投时间 (HH:MM)
|
20
|
-
timeZone: 时区
|
21
|
-
amt: 每期定投金额
|
22
|
-
investmentCcy: 投资币种
|
23
|
-
tdMode: 交易模式
|
24
|
-
algoClOrdId: 用户自定义的策略订单 ID
|
25
|
-
tag: 自定义标签
|
26
|
-
"""
|
27
11
|
params = {'stgyName': stgyName, 'recurringList': recurringList, 'period': period, 'recurringDay':recurringDay, 'recurringTime': recurringTime,
|
28
12
|
'timeZone': timeZone,'amt': amt,'investmentCcy': investmentCcy,'tdMode': tdMode,'algoClOrdId': algoClOrdId,'tag': tag}
|
29
13
|
return self._request_with_params(POST, RECURRING_ORDER_ALGO, params)
|
30
14
|
|
31
15
|
# POST /api/v5/tradingBot/recurring/amend-order-algo
|
32
16
|
def recurring_amend_order_algo(self, algoId = '', stgyName = ''):
|
33
|
-
"""
|
34
|
-
修改定投策略订单
|
35
|
-
参数:
|
36
|
-
algoId: 策略 ID
|
37
|
-
stgyName: 策略名称 (修改后的名称)
|
38
|
-
"""
|
39
17
|
params = {'algoId': algoId, 'stgyName': stgyName}
|
40
18
|
return self._request_with_params(POST, RECURRING_AMEND_ORDER_ALGO, params)
|
41
19
|
|
42
20
|
# POST /api/v5/tradingBot/recurring/stop-order-algo
|
43
21
|
def recurring_stop_order_algo(self, orders_data):
|
44
|
-
"""
|
45
|
-
停止定投策略订单
|
46
|
-
参数:
|
47
|
-
orders_data: 包含要停止的策略 ID 的数据列表
|
48
|
-
"""
|
49
22
|
return self._request_with_params(POST, RECURRING_STOP_ORDER_ALGO, orders_data)
|
50
23
|
|
51
24
|
# GET /api/v5/tradingBot/recurring/orders-algo-pending
|
52
25
|
def recurring_orders_algo_pending(self, algoId = '', after = '', before = '', limit = ''):
|
53
|
-
"""
|
54
|
-
获取定投策略待处理订单列表
|
55
|
-
参数:
|
56
|
-
algoId: 策略 ID
|
57
|
-
after: 查询此 ID 之后的数据
|
58
|
-
before: 查询此 ID 之前的数据
|
59
|
-
limit: 返回结果的数量,默认 100,最大 100
|
60
|
-
"""
|
61
26
|
params = {'algoId': algoId, 'after': after, 'before': before, 'limit': limit}
|
62
27
|
return self._request_with_params(GET, RECURRING_ORDER_ALGO_PENDING, params)
|
63
28
|
|
64
29
|
# GET /api/v5/tradingBot/recurring/orders-algo-history
|
65
30
|
def recurring_orders_algo_history(self, algoId = '', after = '', before = '', limit = ''):
|
66
|
-
"""
|
67
|
-
获取定投策略历史订单列表
|
68
|
-
参数:
|
69
|
-
algoId: 策略 ID
|
70
|
-
after: 查询此 ID 之后的数据
|
71
|
-
before: 查询此 ID 之前的数据
|
72
|
-
limit: 返回结果的数量,默认 100,最大 100
|
73
|
-
"""
|
74
31
|
params = {'algoId': algoId, 'after': after, 'before': before, 'limit': limit}
|
75
32
|
return self._request_with_params(GET, RECURRING_ORDER_ALGO_HISTORY, params)
|
76
33
|
|
77
34
|
# GET /api/v5/tradingBot/recurring/orders-algo-details
|
78
35
|
def recurring_orders_algo_details(self, algoId = ''):
|
79
|
-
"""
|
80
|
-
获取定投策略订单详情
|
81
|
-
参数:
|
82
|
-
algoId: 策略 ID (必填)
|
83
|
-
"""
|
84
36
|
params = {'algoId': algoId}
|
85
37
|
return self._request_with_params(GET, RECURRING_ORDER_ALGO_DETAILS, params)
|
86
38
|
|
87
39
|
# GET /api/v5/tradingBot/recurring/sub-orders
|
88
40
|
def recurring_sub_orders(self, algoId = '', ordId = '', after = '', before = '', limit = ''):
|
89
|
-
"""
|
90
|
-
获取定投子订单列表
|
91
|
-
参数:
|
92
|
-
algoId: 策略 ID
|
93
|
-
ordId: 子订单 ID
|
94
|
-
after: 查询此 ID 之后的数据
|
95
|
-
before: 查询此 ID 之前的数据
|
96
|
-
limit: 返回结果的数量,默认 100,最大 100
|
97
|
-
"""
|
98
41
|
params = {'algoId': algoId, 'ordId': ordId, 'after': after, 'before': before, 'limit': limit}
|
99
42
|
return self._request_with_params(GET, RECURRING_SUB_ORDERS, params)
|