openfund-core 0.0.2__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.
- openfund/core/__init__.py +0 -0
- openfund/core/binance_tools/__init__.py +16 -0
- openfund/core/binance_tools/binance_tools.py +39 -0
- openfund/core/binance_tools/continuous_klines.py +147 -0
- openfund/core/factory.py +37 -0
- openfund/core/libs/__init__.py +6 -0
- openfund/core/libs/email_tools.py +56 -0
- openfund/core/libs/enums.py +507 -0
- openfund/core/libs/file_tools.py +13 -0
- openfund/core/libs/log_tools.py +45 -0
- openfund/core/libs/prepare_env.py +28 -0
- openfund/core/libs/time.py +14 -0
- openfund/core/libs/time_tools.py +22 -0
- openfund/core/openfund_old/__init__.py +0 -0
- openfund/core/openfund_old/continuous_klines.py +153 -0
- openfund/core/openfund_old/depth.py +92 -0
- openfund/core/openfund_old/historical_trades.py +123 -0
- openfund/core/openfund_old/index_info.py +67 -0
- openfund/core/openfund_old/index_price_kline.py +118 -0
- openfund/core/openfund_old/klines.py +95 -0
- openfund/core/openfund_old/klines_qrr.py +103 -0
- openfund/core/openfund_old/mark_price.py +121 -0
- openfund/core/openfund_old/mark_price_klines.py +122 -0
- openfund/core/openfund_old/ticker_24hr_price_change.py +99 -0
- openfund/core/pyopenfund.py +32 -0
- openfund/core/sample/__init__.py +1 -0
- openfund/core/sample/sample.py +20 -0
- openfund/core/sycu_exam/__init__.py +1 -0
- openfund/core/sycu_exam/exam.py +19 -0
- openfund/core/sycu_exam/random_grade_cplus.py +440 -0
- openfund/core/sycu_exam/random_grade_web.py +404 -0
- openfund_core-0.0.2.dist-info/LICENSE +201 -0
- openfund_core-0.0.2.dist-info/METADATA +66 -0
- openfund_core-0.0.2.dist-info/RECORD +35 -0
- openfund_core-0.0.2.dist-info/WHEEL +4 -0
@@ -0,0 +1,507 @@
|
|
1
|
+
from enum import Enum
|
2
|
+
|
3
|
+
SYMBOL_TYPE_SPOT = "SPOT"
|
4
|
+
|
5
|
+
ORDER_STATUS_NEW = "NEW"
|
6
|
+
ORDER_STATUS_PARTIALLY_FILLED = "PARTIALLY_FILLED"
|
7
|
+
ORDER_STATUS_FILLED = "FILLED"
|
8
|
+
ORDER_STATUS_CANCELED = "CANCELED"
|
9
|
+
ORDER_STATUS_PENDING_CANCEL = "PENDING_CANCEL"
|
10
|
+
ORDER_STATUS_REJECTED = "REJECTED"
|
11
|
+
ORDER_STATUS_EXPIRED = "EXPIRED"
|
12
|
+
|
13
|
+
KLINE_INTERVAL_1SECOND = "1s"
|
14
|
+
KLINE_INTERVAL_1MINUTE = "1m"
|
15
|
+
KLINE_INTERVAL_3MINUTE = "3m"
|
16
|
+
KLINE_INTERVAL_5MINUTE = "5m"
|
17
|
+
KLINE_INTERVAL_15MINUTE = "15m"
|
18
|
+
KLINE_INTERVAL_30MINUTE = "30m"
|
19
|
+
KLINE_INTERVAL_1HOUR = "1h"
|
20
|
+
KLINE_INTERVAL_2HOUR = "2h"
|
21
|
+
KLINE_INTERVAL_4HOUR = "4h"
|
22
|
+
KLINE_INTERVAL_6HOUR = "6h"
|
23
|
+
KLINE_INTERVAL_8HOUR = "8h"
|
24
|
+
KLINE_INTERVAL_12HOUR = "12h"
|
25
|
+
KLINE_INTERVAL_1DAY = "1d"
|
26
|
+
KLINE_INTERVAL_3DAY = "3d"
|
27
|
+
KLINE_INTERVAL_1WEEK = "1w"
|
28
|
+
KLINE_INTERVAL_1MONTH = "1M"
|
29
|
+
|
30
|
+
SIDE_BUY = "BUY"
|
31
|
+
SIDE_SELL = "SELL"
|
32
|
+
|
33
|
+
ORDER_TYPE_LIMIT = "LIMIT"
|
34
|
+
ORDER_TYPE_MARKET = "MARKET"
|
35
|
+
ORDER_TYPE_STOP_LOSS = "STOP_LOSS"
|
36
|
+
ORDER_TYPE_STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
|
37
|
+
ORDER_TYPE_TAKE_PROFIT = "TAKE_PROFIT"
|
38
|
+
ORDER_TYPE_TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
|
39
|
+
ORDER_TYPE_LIMIT_MAKER = "LIMIT_MAKER"
|
40
|
+
|
41
|
+
FUTURE_ORDER_TYPE_LIMIT = "LIMIT"
|
42
|
+
FUTURE_ORDER_TYPE_MARKET = "MARKET"
|
43
|
+
FUTURE_ORDER_TYPE_STOP = "STOP"
|
44
|
+
FUTURE_ORDER_TYPE_STOP_MARKET = "STOP_MARKET"
|
45
|
+
FUTURE_ORDER_TYPE_TAKE_PROFIT = "TAKE_PROFIT"
|
46
|
+
FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET = "TAKE_PROFIT_MARKET"
|
47
|
+
FUTURE_ORDER_TYPE_LIMIT_MAKER = "LIMIT_MAKER"
|
48
|
+
FUTURE_ORDER_TYPE_TRAILING_STOP_MARKET = "TRAILING_STOP_MARKET"
|
49
|
+
|
50
|
+
TIME_IN_FORCE_GTC = "GTC" # Good till cancelled
|
51
|
+
TIME_IN_FORCE_IOC = "IOC" # Immediate or cancel
|
52
|
+
TIME_IN_FORCE_FOK = "FOK" # Fill or kill
|
53
|
+
TIME_IN_FORCE_GTX = "GTX" # Post only order
|
54
|
+
|
55
|
+
ORDER_RESP_TYPE_ACK = "ACK"
|
56
|
+
ORDER_RESP_TYPE_RESULT = "RESULT"
|
57
|
+
ORDER_RESP_TYPE_FULL = "FULL"
|
58
|
+
|
59
|
+
WEBSOCKET_DEPTH_5 = "5"
|
60
|
+
WEBSOCKET_DEPTH_10 = "10"
|
61
|
+
WEBSOCKET_DEPTH_20 = "20"
|
62
|
+
|
63
|
+
NO_SIDE_EFFECT_TYPE = "NO_SIDE_EFFECT"
|
64
|
+
MARGIN_BUY_TYPE = "MARGIN_BUY"
|
65
|
+
AUTO_REPAY_TYPE = "AUTO_REPAY"
|
66
|
+
# BTC、ETH、Sol、matic、DYD、AAVE、GMT、STarl、LTC、Blur
|
67
|
+
CUR_SYMBOL_POOL = [
|
68
|
+
"AAVEUSDT",
|
69
|
+
"BTCBUSD",
|
70
|
+
"BTCDOMUSDT",
|
71
|
+
"BTCSTUSDT",
|
72
|
+
"BTCUSDT",
|
73
|
+
"BTCUSDT_231229",
|
74
|
+
"BTCUSDT_240329",
|
75
|
+
"BLURUSDT",
|
76
|
+
"DYDXUSDT",
|
77
|
+
"ETHBTC",
|
78
|
+
"ETHBUSD",
|
79
|
+
"ETHUSDT",
|
80
|
+
"ETHUSDT_231229",
|
81
|
+
"ETHUSDT_240329",
|
82
|
+
"GMTBUSD",
|
83
|
+
"GMTUSDT",
|
84
|
+
"LTCBUSD",
|
85
|
+
"LTCUSDT",
|
86
|
+
"MATICBUSD",
|
87
|
+
"MATICUSDT",
|
88
|
+
"SOLBUSD",
|
89
|
+
"SOLUSDT",
|
90
|
+
]
|
91
|
+
|
92
|
+
NEW_SYMBOL_POLL = [
|
93
|
+
"BTCUSDT",
|
94
|
+
"YFIUSDT",
|
95
|
+
"ETHUSDT",
|
96
|
+
"MKRUSDT",
|
97
|
+
"BNBUSDT",
|
98
|
+
"BCHUSDT",
|
99
|
+
"XMRUSDT",
|
100
|
+
"LTCUSDT",
|
101
|
+
"AAVEUSDT",
|
102
|
+
"COMPUSDT",
|
103
|
+
"GMXUSDT",
|
104
|
+
"BSVUSDT",
|
105
|
+
"DASHUSDT",
|
106
|
+
"EGLDUSDT",
|
107
|
+
"TRBUSDT",
|
108
|
+
"ZECUSDT",
|
109
|
+
"KSMUSDT",
|
110
|
+
"SOLUSDT",
|
111
|
+
"ETCUSDT",
|
112
|
+
"AVAXUSDT",
|
113
|
+
"ENSUSDT",
|
114
|
+
"NEOUSDT",
|
115
|
+
"ZENUSDT",
|
116
|
+
"ATOMUSDT",
|
117
|
+
"LINKUSDT",
|
118
|
+
"LPTUSDT",
|
119
|
+
"APTUSDT",
|
120
|
+
"AXSUSDT",
|
121
|
+
"ARUSDT",
|
122
|
+
"ANTUSDT",
|
123
|
+
"UNIUSDT",
|
124
|
+
"DOTUSDT",
|
125
|
+
"ORDIUSDT",
|
126
|
+
"FILUSDT",
|
127
|
+
"BALUSDT",
|
128
|
+
"ICPUSDT",
|
129
|
+
"MASKUSDT",
|
130
|
+
"QTUMUSDT",
|
131
|
+
"SNXUSDT",
|
132
|
+
"BADGERUSDT",
|
133
|
+
"LDOUSDT",
|
134
|
+
"OPUSDT",
|
135
|
+
"UMAUSDT",
|
136
|
+
"WLDUSDT",
|
137
|
+
"APEUSDT",
|
138
|
+
"NEARUSDT",
|
139
|
+
"API3USDT",
|
140
|
+
"BANDUSDT",
|
141
|
+
"USDCUSDT",
|
142
|
+
"ARBUSDT",
|
143
|
+
"XTZUSDT",
|
144
|
+
"SUSHIUSDT",
|
145
|
+
"PERPUSDT",
|
146
|
+
"THETAUSDT",
|
147
|
+
"KNCUSDT",
|
148
|
+
"EOSUSDT",
|
149
|
+
"AGLDUSDT",
|
150
|
+
"IMXUSDT",
|
151
|
+
"MATICUSDT",
|
152
|
+
"XRPUSDT",
|
153
|
+
"MAGICUSDT",
|
154
|
+
"STXUSDT",
|
155
|
+
"OMGUSDT",
|
156
|
+
"CRVUSDT",
|
157
|
+
"SUIUSDT",
|
158
|
+
"CELOUSDT",
|
159
|
+
"BNTUSDT",
|
160
|
+
"MINAUSDT",
|
161
|
+
"STORJUSDT",
|
162
|
+
"SANDUSDT",
|
163
|
+
"MANAUSDT",
|
164
|
+
"ADAUSDT",
|
165
|
+
"RDNTUSDT",
|
166
|
+
"BICOUSDT",
|
167
|
+
"YGGUSDT",
|
168
|
+
"FTMUSDT",
|
169
|
+
"ZRXUSDT",
|
170
|
+
"LRCUSDT",
|
171
|
+
"BLURUSDT",
|
172
|
+
"BATUSDT",
|
173
|
+
"WOOUSDT",
|
174
|
+
"ONTUSDT",
|
175
|
+
"GMTUSDT",
|
176
|
+
"IOTAUSDT",
|
177
|
+
"CFXUSDT",
|
178
|
+
"KLAYUSDT",
|
179
|
+
"XLMUSDT",
|
180
|
+
"ALGOUSDT",
|
181
|
+
"FLMUSDT",
|
182
|
+
"GRTUSDT",
|
183
|
+
"TRXUSDT",
|
184
|
+
"ALPHAUSDT",
|
185
|
+
"CVCUSDT",
|
186
|
+
"DOGEUSDT",
|
187
|
+
"CHZUSDT",
|
188
|
+
"HBARUSDT",
|
189
|
+
"RENUSDT",
|
190
|
+
"ZILUSDT",
|
191
|
+
"RVNUSDT",
|
192
|
+
"GALAUSDT",
|
193
|
+
"PEOPLEUSDT",
|
194
|
+
"IOSTUSDT",
|
195
|
+
"RSRUSDT",
|
196
|
+
"SLPUSDT",
|
197
|
+
"GASUSDT",
|
198
|
+
]
|
199
|
+
|
200
|
+
|
201
|
+
ALL_SYMBOL_POOL = [
|
202
|
+
"1000BONKUSDT",
|
203
|
+
"1000FLOKIUSDT",
|
204
|
+
"1000LUNCBUSD",
|
205
|
+
"1000LUNCUSDT",
|
206
|
+
"1000PEPEUSDT",
|
207
|
+
"1000SHIBBUSD",
|
208
|
+
"1000SHIBUSDT",
|
209
|
+
"1000XECUSDT",
|
210
|
+
"1INCHUSDT",
|
211
|
+
"AAVEUSDT",
|
212
|
+
"ACHUSDT",
|
213
|
+
"ADABUSD",
|
214
|
+
"ADAUSDT",
|
215
|
+
"AGIXBUSD",
|
216
|
+
"AGIXUSDT",
|
217
|
+
"AGLDUSDT",
|
218
|
+
"ALGOUSDT",
|
219
|
+
"ALICEUSDT",
|
220
|
+
"ALPHAUSDT",
|
221
|
+
"AMBBUSD",
|
222
|
+
"AMBUSDT",
|
223
|
+
"ANCBUSD",
|
224
|
+
"ANKRUSDT",
|
225
|
+
"ANTUSDT",
|
226
|
+
"APEBUSD",
|
227
|
+
"APEUSDT",
|
228
|
+
"API3USDT",
|
229
|
+
"APTBUSD",
|
230
|
+
"APTUSDT",
|
231
|
+
"ARBUSDT",
|
232
|
+
"ARKMUSDT",
|
233
|
+
"ARKUSDT",
|
234
|
+
"ARPAUSDT",
|
235
|
+
"ARUSDT",
|
236
|
+
"ASTRUSDT",
|
237
|
+
"ATAUSDT",
|
238
|
+
"ATOMUSDT",
|
239
|
+
"AUCTIONBUSD",
|
240
|
+
"AUDIOUSDT",
|
241
|
+
"AVAXBUSD",
|
242
|
+
"AVAXUSDT",
|
243
|
+
"AXSUSDT",
|
244
|
+
"BADGERUSDT",
|
245
|
+
"BAKEUSDT",
|
246
|
+
"BALUSDT",
|
247
|
+
"BANDUSDT",
|
248
|
+
"BATUSDT",
|
249
|
+
"BCHUSDT",
|
250
|
+
"BEAMXUSDT",
|
251
|
+
"BELUSDT",
|
252
|
+
"BICOUSDT",
|
253
|
+
"BIGTIMEUSDT",
|
254
|
+
"BLUEBIRDUSDT",
|
255
|
+
"BLURUSDT",
|
256
|
+
"BLZUSDT",
|
257
|
+
"BNBBTC",
|
258
|
+
"BNBBUSD",
|
259
|
+
"BNBUSDT",
|
260
|
+
"BNTUSDT",
|
261
|
+
"BNXUSDT",
|
262
|
+
"BONDUSDT",
|
263
|
+
"BSVUSDT",
|
264
|
+
"BTCBUSD",
|
265
|
+
"BTCDOMUSDT",
|
266
|
+
"BTCSTUSDT",
|
267
|
+
"BTCUSDT",
|
268
|
+
"BTCUSDT_231229",
|
269
|
+
"BTCUSDT_240329",
|
270
|
+
"BTSUSDT",
|
271
|
+
"C98USDT",
|
272
|
+
"CAKEUSDT",
|
273
|
+
"CELOUSDT",
|
274
|
+
"CELRUSDT",
|
275
|
+
"CFXUSDT",
|
276
|
+
"CHRUSDT",
|
277
|
+
"CHZUSDT",
|
278
|
+
"CKBUSDT",
|
279
|
+
"COCOSUSDT",
|
280
|
+
"COMBOUSDT",
|
281
|
+
"COMPUSDT",
|
282
|
+
"COTIUSDT",
|
283
|
+
"CRVUSDT",
|
284
|
+
"CTKUSDT",
|
285
|
+
"CTSIUSDT",
|
286
|
+
"CVCUSDT",
|
287
|
+
"CVXBUSD",
|
288
|
+
"CVXUSDT",
|
289
|
+
"CYBERUSDT",
|
290
|
+
"DARUSDT",
|
291
|
+
"DASHUSDT",
|
292
|
+
"DEFIUSDT",
|
293
|
+
"DENTUSDT",
|
294
|
+
"DGBUSDT",
|
295
|
+
"DODOBUSD",
|
296
|
+
"DODOXUSDT",
|
297
|
+
"DOGEBUSD",
|
298
|
+
"DOGEUSDT",
|
299
|
+
"DOTBUSD",
|
300
|
+
"DOTUSDT",
|
301
|
+
"DUSKUSDT",
|
302
|
+
"DYDXUSDT",
|
303
|
+
"EDUUSDT",
|
304
|
+
"EGLDUSDT",
|
305
|
+
"ENJUSDT",
|
306
|
+
"ENSUSDT",
|
307
|
+
"EOSUSDT",
|
308
|
+
"ETCBUSD",
|
309
|
+
"ETCUSDT",
|
310
|
+
"ETHBTC",
|
311
|
+
"ETHBUSD",
|
312
|
+
"ETHUSDT",
|
313
|
+
"ETHUSDT_231229",
|
314
|
+
"ETHUSDT_240329",
|
315
|
+
"FETUSDT",
|
316
|
+
"FILBUSD",
|
317
|
+
"FILUSDT",
|
318
|
+
"FLMUSDT",
|
319
|
+
"FLOWUSDT",
|
320
|
+
"FOOTBALLUSDT",
|
321
|
+
"FRONTUSDT",
|
322
|
+
"FTMBUSD",
|
323
|
+
"FTMUSDT",
|
324
|
+
"FTTBUSD",
|
325
|
+
"FTTUSDT",
|
326
|
+
"FXSUSDT",
|
327
|
+
"GALABUSD",
|
328
|
+
"GALAUSDT",
|
329
|
+
"GALBUSD",
|
330
|
+
"GALUSDT",
|
331
|
+
"GASUSDT",
|
332
|
+
"GLMRUSDT",
|
333
|
+
"GMTBUSD",
|
334
|
+
"GMTUSDT",
|
335
|
+
"GMXUSDT",
|
336
|
+
"GRTUSDT",
|
337
|
+
"GTCUSDT",
|
338
|
+
"HBARUSDT",
|
339
|
+
"HFTUSDT",
|
340
|
+
"HIFIUSDT",
|
341
|
+
"HIGHUSDT",
|
342
|
+
"HNTUSDT",
|
343
|
+
"HOOKUSDT",
|
344
|
+
"HOTUSDT",
|
345
|
+
"ICPUSDT",
|
346
|
+
"ICXUSDT",
|
347
|
+
"IDEXUSDT",
|
348
|
+
"IDUSDT",
|
349
|
+
"ILVUSDT",
|
350
|
+
"IMXUSDT",
|
351
|
+
"INJUSDT",
|
352
|
+
"IOSTUSDT",
|
353
|
+
"IOTAUSDT",
|
354
|
+
"IOTXUSDT",
|
355
|
+
"JASMYUSDT",
|
356
|
+
"JOEUSDT",
|
357
|
+
"KASUSDT",
|
358
|
+
"KAVAUSDT",
|
359
|
+
"KEYUSDT",
|
360
|
+
"KLAYUSDT",
|
361
|
+
"KNCUSDT",
|
362
|
+
"KSMUSDT",
|
363
|
+
"LDOBUSD",
|
364
|
+
"LDOUSDT",
|
365
|
+
"LEVERBUSD",
|
366
|
+
"LEVERUSDT",
|
367
|
+
"LINAUSDT",
|
368
|
+
"LINKBUSD",
|
369
|
+
"LINKUSDT",
|
370
|
+
"LITUSDT",
|
371
|
+
"LOOMUSDT",
|
372
|
+
"LPTUSDT",
|
373
|
+
"LQTYUSDT",
|
374
|
+
"LRCUSDT",
|
375
|
+
"LTCBUSD",
|
376
|
+
"LTCUSDT",
|
377
|
+
"LUNA2USDT",
|
378
|
+
"MAGICUSDT",
|
379
|
+
"MANAUSDT",
|
380
|
+
"MASKUSDT",
|
381
|
+
"MATICBUSD",
|
382
|
+
"MATICUSDT",
|
383
|
+
"MAVUSDT",
|
384
|
+
"MBLUSDT",
|
385
|
+
"MDTUSDT",
|
386
|
+
"MEMEUSDT",
|
387
|
+
"MINAUSDT",
|
388
|
+
"MKRUSDT",
|
389
|
+
"MTLUSDT",
|
390
|
+
"NEARBUSD",
|
391
|
+
"NEARUSDT",
|
392
|
+
"NEOUSDT",
|
393
|
+
"NKNUSDT",
|
394
|
+
"NMRUSDT",
|
395
|
+
"NTRNUSDT",
|
396
|
+
"OCEANUSDT",
|
397
|
+
"OGNUSDT",
|
398
|
+
"OMGUSDT",
|
399
|
+
"ONEUSDT",
|
400
|
+
"ONTUSDT",
|
401
|
+
"OPUSDT",
|
402
|
+
"ORBSUSDT",
|
403
|
+
"ORDIUSDT",
|
404
|
+
"OXTUSDT",
|
405
|
+
"PENDLEUSDT",
|
406
|
+
"PEOPLEUSDT",
|
407
|
+
"PERPUSDT",
|
408
|
+
"PHBBUSD",
|
409
|
+
"PHBUSDT",
|
410
|
+
"POLYXUSDT",
|
411
|
+
"POWRUSDT",
|
412
|
+
"PYTHUSDT",
|
413
|
+
"QNTUSDT",
|
414
|
+
"QTUMUSDT",
|
415
|
+
"RADUSDT",
|
416
|
+
"RAYUSDT",
|
417
|
+
"RDNTUSDT",
|
418
|
+
"REEFUSDT",
|
419
|
+
"RENUSDT",
|
420
|
+
"RIFUSDT",
|
421
|
+
"RLCUSDT",
|
422
|
+
"RNDRUSDT",
|
423
|
+
"ROSEUSDT",
|
424
|
+
"RSRUSDT",
|
425
|
+
"RUNEUSDT",
|
426
|
+
"RVNUSDT",
|
427
|
+
"SANDBUSD",
|
428
|
+
"SANDUSDT",
|
429
|
+
"SCUSDT",
|
430
|
+
"SEIUSDT",
|
431
|
+
"SFPUSDT",
|
432
|
+
"SKLUSDT",
|
433
|
+
"SLPUSDT",
|
434
|
+
"SNTUSDT",
|
435
|
+
"SNXUSDT",
|
436
|
+
"SOLBUSD",
|
437
|
+
"SOLUSDT",
|
438
|
+
"SPELLUSDT",
|
439
|
+
"SRMUSDT",
|
440
|
+
"SSVUSDT",
|
441
|
+
"STEEMUSDT",
|
442
|
+
"STGUSDT",
|
443
|
+
"STMXUSDT",
|
444
|
+
"STORJUSDT",
|
445
|
+
"STPTUSDT",
|
446
|
+
"STRAXUSDT",
|
447
|
+
"STXUSDT",
|
448
|
+
"SUIUSDT",
|
449
|
+
"SUSHIUSDT",
|
450
|
+
"SXPUSDT",
|
451
|
+
"THETAUSDT",
|
452
|
+
"TIAUSDT",
|
453
|
+
"TLMBUSD",
|
454
|
+
"TLMUSDT",
|
455
|
+
"TOKENUSDT",
|
456
|
+
"TOMOUSDT",
|
457
|
+
"TRBUSDT",
|
458
|
+
"TRUUSDT",
|
459
|
+
"TRXBUSD",
|
460
|
+
"TRXUSDT",
|
461
|
+
"TUSDT",
|
462
|
+
"TWTUSDT",
|
463
|
+
"UMAUSDT",
|
464
|
+
"UNFIUSDT",
|
465
|
+
"UNIBUSD",
|
466
|
+
"UNIUSDT",
|
467
|
+
"USDCUSDT",
|
468
|
+
"VETUSDT",
|
469
|
+
"WAVESBUSD",
|
470
|
+
"WAVESUSDT",
|
471
|
+
"WAXPUSDT",
|
472
|
+
"WLDUSDT",
|
473
|
+
"WOOUSDT",
|
474
|
+
"XEMUSDT",
|
475
|
+
"XLMUSDT",
|
476
|
+
"XMRUSDT",
|
477
|
+
"XRPBUSD",
|
478
|
+
"XRPUSDT",
|
479
|
+
"XTZUSDT",
|
480
|
+
"XVGUSDT",
|
481
|
+
"XVSUSDT",
|
482
|
+
"YFIUSDT",
|
483
|
+
"YGGUSDT",
|
484
|
+
"ZECUSDT",
|
485
|
+
"ZENUSDT",
|
486
|
+
"ZILUSDT",
|
487
|
+
"ZRXUSDT",
|
488
|
+
]
|
489
|
+
|
490
|
+
|
491
|
+
class HistoricalKlinesType(Enum):
|
492
|
+
SPOT = 1
|
493
|
+
FUTURES = 2
|
494
|
+
FUTURES_COIN = 3
|
495
|
+
|
496
|
+
|
497
|
+
class FuturesType(Enum):
|
498
|
+
USD_M = 1
|
499
|
+
COIN_M = 2
|
500
|
+
|
501
|
+
|
502
|
+
class ContractType(Enum):
|
503
|
+
PERPETUAL = "PERPETUAL" # 永续期货合约
|
504
|
+
CURRENT_QUARTER = "CURRENT_QUARTER"
|
505
|
+
NEXT_QUARTER = "NEXT_QUARTER"
|
506
|
+
NEXT_MONTH = "NEXT_MONTH"
|
507
|
+
CURRENT_MONTH = "CURRENT_MONTH"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
import sys
|
3
|
+
import os
|
4
|
+
|
5
|
+
from loguru import logger
|
6
|
+
from datetime import datetime
|
7
|
+
|
8
|
+
# log_path = "F:\PythonProject\Logs\\"
|
9
|
+
from prepare_env import get_path
|
10
|
+
|
11
|
+
|
12
|
+
class Logger:
|
13
|
+
def __init__(self, log_name):
|
14
|
+
data_path, log_path = get_path()
|
15
|
+
self.logger = logger # 初始化一个logger
|
16
|
+
self.logger.remove() # 清空所有设置
|
17
|
+
# 添加控制台输出的格式,sys.stdout为输出到屏幕
|
18
|
+
self.logger.add(
|
19
|
+
sys.stdout,
|
20
|
+
format="<green>{time:YYYYMMDD HH:mm:ss}</green> | " # 颜色>时间
|
21
|
+
"{process.name} | " # 进程名
|
22
|
+
"{thread.name} | " # 进程名
|
23
|
+
"<cyan>{module}</cyan>.<cyan>{function}</cyan>" # 模块名.方法名
|
24
|
+
":<cyan>{line}</cyan> | " # 行号
|
25
|
+
"<level>{level}</level>: " # 等级
|
26
|
+
"<level>{message}</level>", # 日志内容
|
27
|
+
)
|
28
|
+
# 输出到文件
|
29
|
+
rq = datetime.now().strftime("%Y%m%d")
|
30
|
+
if not log_path.endswith("/"):
|
31
|
+
log_path = log_path + "/"
|
32
|
+
file_name = log_path + log_name + "_" + rq + ".log" # 文件名称
|
33
|
+
self.logger.add(
|
34
|
+
file_name,
|
35
|
+
level="INFO",
|
36
|
+
format="{time:YYYYMMDD HH:mm:ss} - " # 时间
|
37
|
+
"{process.name} | " # 进程名
|
38
|
+
"{thread.name} | " # 进程名
|
39
|
+
"{module}.{function}:{line} - {level} -{message}", # 模块名.方法名:行号
|
40
|
+
rotation="50 MB",
|
41
|
+
compression="tar.gz",
|
42
|
+
)
|
43
|
+
|
44
|
+
def get_log(self):
|
45
|
+
return self.logger
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
import os
|
4
|
+
import pathlib
|
5
|
+
from configparser import ConfigParser
|
6
|
+
|
7
|
+
config = ConfigParser()
|
8
|
+
config_file_path = os.path.join(
|
9
|
+
pathlib.Path(__file__).parent.resolve(), "..", "config.ini"
|
10
|
+
)
|
11
|
+
config.read(config_file_path)
|
12
|
+
|
13
|
+
|
14
|
+
def get_api_key():
|
15
|
+
|
16
|
+
return config["keys"]["api_key"], config["keys"]["api_secret"]
|
17
|
+
|
18
|
+
|
19
|
+
def get_path():
|
20
|
+
return config["path"]["data_path"], config["path"]["log_path"]
|
21
|
+
|
22
|
+
|
23
|
+
def get_mail():
|
24
|
+
return (
|
25
|
+
config["mail"]["email_address"],
|
26
|
+
config["mail"]["email_password"],
|
27
|
+
config["mail"]["email_receiver"],
|
28
|
+
)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
import logging
|
3
|
+
import time
|
4
|
+
|
5
|
+
from binance.cm_futures import CMFutures
|
6
|
+
from binance.lib.utils import config_logging
|
7
|
+
|
8
|
+
config_logging(logging, logging.DEBUG)
|
9
|
+
|
10
|
+
cm_futures_client = CMFutures(show_limit_usage=True)
|
11
|
+
|
12
|
+
logging.info(cm_futures_client.time())
|
13
|
+
|
14
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
import time
|
4
|
+
from datetime import date, datetime, timedelta
|
5
|
+
|
6
|
+
|
7
|
+
def print_timestamp(timestamp):
|
8
|
+
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp / 1000)))
|
9
|
+
|
10
|
+
|
11
|
+
def format_timestamp(timestamp):
|
12
|
+
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp / 1000))
|
13
|
+
|
14
|
+
|
15
|
+
def format_date(timestamp):
|
16
|
+
return time.strftime("%Y-%m-%d", time.localtime(timestamp / 1000))
|
17
|
+
|
18
|
+
|
19
|
+
def format_date_to(to_days):
|
20
|
+
now = date.today()
|
21
|
+
to = now + timedelta(days=to_days)
|
22
|
+
return to
|
File without changes
|