openfund-core 0.0.4__py3-none-any.whl → 1.0.1__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.
Files changed (43) hide show
  1. core/Exchange.py +276 -0
  2. core/main.py +23 -0
  3. core/smc/SMCBase.py +130 -0
  4. core/smc/SMCFVG.py +86 -0
  5. core/smc/SMCLiquidity.py +7 -0
  6. core/smc/SMCOrderBlock.py +288 -0
  7. core/smc/SMCPDArray.py +77 -0
  8. core/smc/SMCStruct.py +290 -0
  9. core/smc/__init__.py +0 -0
  10. core/utils/OPTools.py +30 -0
  11. openfund_core-1.0.1.dist-info/METADATA +48 -0
  12. openfund_core-1.0.1.dist-info/RECORD +15 -0
  13. {openfund_core-0.0.4.dist-info → openfund_core-1.0.1.dist-info}/WHEEL +1 -1
  14. openfund_core-1.0.1.dist-info/entry_points.txt +3 -0
  15. openfund/core/__init__.py +0 -14
  16. openfund/core/api_tools/__init__.py +0 -16
  17. openfund/core/api_tools/binance_futures_tools.py +0 -23
  18. openfund/core/api_tools/binance_tools.py +0 -26
  19. openfund/core/api_tools/enums.py +0 -539
  20. openfund/core/base_collector.py +0 -72
  21. openfund/core/base_tool.py +0 -58
  22. openfund/core/factory.py +0 -97
  23. openfund/core/openfund_old/continuous_klines.py +0 -153
  24. openfund/core/openfund_old/depth.py +0 -92
  25. openfund/core/openfund_old/historical_trades.py +0 -123
  26. openfund/core/openfund_old/index_info.py +0 -67
  27. openfund/core/openfund_old/index_price_kline.py +0 -118
  28. openfund/core/openfund_old/klines.py +0 -95
  29. openfund/core/openfund_old/klines_qrr.py +0 -103
  30. openfund/core/openfund_old/mark_price.py +0 -121
  31. openfund/core/openfund_old/mark_price_klines.py +0 -122
  32. openfund/core/openfund_old/ticker_24hr_price_change.py +0 -99
  33. openfund/core/pyopenfund.py +0 -85
  34. openfund/core/services/um_futures_collector.py +0 -142
  35. openfund/core/sycu_exam/__init__.py +0 -1
  36. openfund/core/sycu_exam/exam.py +0 -19
  37. openfund/core/sycu_exam/random_grade_cplus.py +0 -440
  38. openfund/core/sycu_exam/random_grade_web.py +0 -404
  39. openfund/core/utils/time_tools.py +0 -25
  40. openfund_core-0.0.4.dist-info/LICENSE +0 -201
  41. openfund_core-0.0.4.dist-info/METADATA +0 -67
  42. openfund_core-0.0.4.dist-info/RECORD +0 -30
  43. {openfund/core/openfund_old → core}/__init__.py +0 -0
@@ -0,0 +1,48 @@
1
+ Metadata-Version: 2.3
2
+ Name: openfund-core
3
+ Version: 1.0.1
4
+ Summary: Openfund-core.
5
+ Requires-Python: >=3.9,<4.0
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Programming Language :: Python :: 3.9
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Requires-Dist: apscheduler (>=3.11.0,<4.0.0)
13
+ Requires-Dist: ccxt (>=4.4.26,<5.0.0)
14
+ Requires-Dist: pandas (>=2.2.3,<3.0.0)
15
+ Requires-Dist: pyfiglet (>=1.0.2,<2.0.0)
16
+ Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
17
+ Description-Content-Type: text/markdown
18
+
19
+ # jiezhen
20
+ ## 读秒循环接针
21
+ **视频说明地址** :https://www.youtube.com/watch?v=b-LhdQomOxk
22
+
23
+ **环境**:`python3.9`
24
+ **开平仓模式** ,不支持单向持仓
25
+ **策略原理** :上次在火币看到一些很长的针,就想着如何把针接住,本质很简单,
26
+ 1. 用ema判断短期趋势,尽可能下面挂单接住插下来的针。
27
+ 2. 如果跑15m周期以上,建议用1h的ema判断多空,或者人工介入判断
28
+
29
+ **源码配置** :
30
+ config_bak.json 改成config.json
31
+
32
+ #### apiKey: OKX API 的公钥,用于身份验证。
33
+ #### secret: OKX API 的私钥,用于签名请求。
34
+ #### password: OKX 的交易密码(或 API 密码)。
35
+ #### leverage: 默认持仓杠杆倍数
36
+ #### feishu_webhook: 飞书通知地址
37
+ #### monitor_interval: 循环间隔周期 / 单位秒
38
+
39
+
40
+ ## 每个交易对都可以单独设置其交易参数:
41
+ #### long_amount_usdt: 做多交易时每笔订单分配的资金量(以 USDT 为单位)。
42
+ #### short_amount_usdt: 做空交易时每笔订单分配的资金量(以 USDT 为单位)。
43
+ #### value_multiplier: 用于放大交易价值的乘数,适合调整风险/回报比。
44
+
45
+ zhen.py 跟 zhen_2.py 的区别是:https://x.com/huojichuanqi/status/1858991226877603902
46
+
47
+ 打赏地址trc20: TUunBuqQ1ZDYt9WrA3ZarndFPQgefXqZAM
48
+
@@ -0,0 +1,15 @@
1
+ core/Exchange.py,sha256=_nAQy0frzaY4LHWwmDvJPmjX2BNsBz-fAPi1cPTpPRc,10799
2
+ core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ core/main.py,sha256=E-VZzem7-0_J6EmOo9blLPokc5MRcgjqCbqAvbkPnWI,630
4
+ core/smc/SMCBase.py,sha256=epRC5bWDymx7ZMIhn_bVJRjvBHItt6BCnYASO2fhSDg,4302
5
+ core/smc/SMCFVG.py,sha256=QtqlW1oooYVA7CG5ld5X0Q5twX1XCELO118IlMUhX6M,2974
6
+ core/smc/SMCLiquidity.py,sha256=lZt2IQk3TWaT-nA7he57dUxPdLEWW61jRZWLAzOTat0,119
7
+ core/smc/SMCOrderBlock.py,sha256=hdY9X_9xrlbUGQGyXjzf-Un-XWgf3QihSWVgzefyP18,10378
8
+ core/smc/SMCPDArray.py,sha256=yf-ZVabQhe1xcYz2gsETHpTJCSsMiUyPVQ6DdAiUd4U,2961
9
+ core/smc/SMCStruct.py,sha256=m_LsVlwGXZjDLovSO1Swvvx5JLCsJ5VYwvP-CAM3KzY,11926
10
+ core/smc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ core/utils/OPTools.py,sha256=tJ1Jq_Caab6OWaX12xn4_g9ryf98Rm5I1zsJEEU8NIQ,1002
12
+ openfund_core-1.0.1.dist-info/METADATA,sha256=9PvQQtpzuz4LG5hQFaXJ83vpOaz01DTz37NRH9Fkf0E,1953
13
+ openfund_core-1.0.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
14
+ openfund_core-1.0.1.dist-info/entry_points.txt,sha256=g8GUw3cyKFtcG5VWs8geU5VBLqiWr59GElqERuH8zD0,48
15
+ openfund_core-1.0.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.0.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ openfund-core=core.main:main
3
+
openfund/core/__init__.py DELETED
@@ -1,14 +0,0 @@
1
- # import time
2
- # from apscheduler.schedulers.blocking import BlockingScheduler
3
-
4
-
5
- # def taskDetail(taskName: str):
6
- # currTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
7
- # print(f"{taskName}-->", "currTime:", currTime)
8
-
9
-
10
- # if __name__ == "__main__":
11
- # apSchedule = BlockingScheduler()
12
- # apSchedule.add_job(func=taskDetail, trigger="interval", seconds=5, args=["task-A"])
13
-
14
- # apSchedule.start()
@@ -1,16 +0,0 @@
1
- # from binance.spot import Spot
2
-
3
- # client = Spot()
4
-
5
- # Get server timestamp
6
- # print(client.time())
7
- # Get klines of BTCUSDT at 1m interval
8
- # print(client.klines("BTCUSDT", "1m"))
9
- # Get last 10 klines of BNBUSDT at 1h interval
10
- # print(client.klines("BNBUSDT", "1h", limit=10))
11
-
12
- # API key/secret are required for user data endpoints
13
- # client = Spot(api_key='<api_key>', api_secret='<api_secret>')
14
-
15
- # Get account and balance information
16
- # print(client.account())
@@ -1,23 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import logging
4
-
5
- from openfund.core.base_tool import Tool as BaseTool
6
- from openfund.core.pyopenfund import Openfund
7
-
8
-
9
- logger = logging.getLogger(__name__)
10
-
11
-
12
- class BinanceUMFuturesTool(BaseTool):
13
- def __init__(self, openfund: Openfund | None = None) -> None:
14
- super().__init__(openfund, "binance")
15
-
16
- def time(self):
17
- return self.umclient.time()
18
-
19
- def ping(self):
20
- return self.umclient.ping()
21
-
22
- def klines(self, symbol: str, interval: str = "1m", **kwargs):
23
- return self.umclient.klines(symbol=symbol, interval=interval, **kwargs)
@@ -1,26 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import logging
4
- from poetry.utils.authenticator import Authenticator
5
-
6
- from typing import TYPE_CHECKING
7
-
8
- from openfund.core.base_tool import Tool as BaseTool
9
- from openfund.core.pyopenfund import Openfund
10
-
11
-
12
- logger = logging.getLogger(__name__)
13
-
14
-
15
- class BinanceTools(BaseTool):
16
- def __init__(self, openfund: Openfund | None = None) -> None:
17
- super().__init__(openfund, "binance")
18
-
19
- def get_time(self):
20
- return self.client.time()
21
-
22
- def get_account(self):
23
- return self.client.account()
24
-
25
- def get_klines(self, symbol: str, interval: str, **kwargs):
26
- return self.client.klines(symbol=symbol, interval=interval, **kwargs)
@@ -1,539 +0,0 @@
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
-
14
- class KlineInterval(Enum):
15
- KLINE_INTERVAL_1SECOND = ("1s", 1, "s")
16
- KLINE_INTERVAL_1MINUTE = ("1m", 1, "m")
17
- KLINE_INTERVAL_3MINUTE = ("3m", 3, "m")
18
- KLINE_INTERVAL_5MINUTE = ("5m", 5, "m")
19
- KLINE_INTERVAL_15MINUTE = ("15m", 15, "m")
20
- KLINE_INTERVAL_30MINUTE = ("30m", 30, "m")
21
- KLINE_INTERVAL_1HOUR = ("1h", 1, "h")
22
- KLINE_INTERVAL_2HOUR = ("2h", 2, "h")
23
- KLINE_INTERVAL_4HOUR = ("4h", 4, "h")
24
- KLINE_INTERVAL_6HOUR = ("6h", 6, "h")
25
- KLINE_INTERVAL_8HOUR = ("8h", 8, "h")
26
- KLINE_INTERVAL_12HOUR = ("12h", 12, "h")
27
- KLINE_INTERVAL_1DAY = ("1d", 1, "d")
28
- KLINE_INTERVAL_3DAY = ("3d", 3, "d")
29
- KLINE_INTERVAL_1WEEK = ("1w", 1, "d")
30
- KLINE_INTERVAL_1MONTH = ("1M", 1, "M")
31
-
32
- def __init__(self, value: str, unit: int, unitType: str):
33
- self._value_ = value
34
- self.unit = unit
35
- self.unitType = unitType
36
-
37
- @classmethod
38
- def getByUnit(cls, unit: int, unitType: str) -> str:
39
- for interval in KlineInterval:
40
- if interval.unit == unit and interval.unitType == unitType:
41
- return interval.value
42
- return None
43
-
44
-
45
- # KLINE_INTERVAL_1SECOND = "1s"
46
- # KLINE_INTERVAL_1MINUTE = "1m"
47
- # KLINE_INTERVAL_3MINUTE = "3m"
48
- # KLINE_INTERVAL_5MINUTE = "5m"
49
- # KLINE_INTERVAL_15MINUTE = "15m"
50
- # KLINE_INTERVAL_30MINUTE = "30m"
51
- # KLINE_INTERVAL_1HOUR = "1h"
52
- # KLINE_INTERVAL_2HOUR = "2h"
53
- # KLINE_INTERVAL_4HOUR = "4h"
54
- # KLINE_INTERVAL_6HOUR = "6h"
55
- # KLINE_INTERVAL_8HOUR = "8h"
56
- # KLINE_INTERVAL_12HOUR = "12h"
57
- # KLINE_INTERVAL_1DAY = "1d"
58
- # KLINE_INTERVAL_3DAY = "3d"
59
- # KLINE_INTERVAL_1WEEK = "1w"
60
- # KLINE_INTERVAL_1MONTH = "1M"
61
-
62
- SIDE_BUY = "BUY"
63
- SIDE_SELL = "SELL"
64
-
65
- ORDER_TYPE_LIMIT = "LIMIT"
66
- ORDER_TYPE_MARKET = "MARKET"
67
- ORDER_TYPE_STOP_LOSS = "STOP_LOSS"
68
- ORDER_TYPE_STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
69
- ORDER_TYPE_TAKE_PROFIT = "TAKE_PROFIT"
70
- ORDER_TYPE_TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
71
- ORDER_TYPE_LIMIT_MAKER = "LIMIT_MAKER"
72
-
73
- FUTURE_ORDER_TYPE_LIMIT = "LIMIT"
74
- FUTURE_ORDER_TYPE_MARKET = "MARKET"
75
- FUTURE_ORDER_TYPE_STOP = "STOP"
76
- FUTURE_ORDER_TYPE_STOP_MARKET = "STOP_MARKET"
77
- FUTURE_ORDER_TYPE_TAKE_PROFIT = "TAKE_PROFIT"
78
- FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET = "TAKE_PROFIT_MARKET"
79
- FUTURE_ORDER_TYPE_LIMIT_MAKER = "LIMIT_MAKER"
80
- FUTURE_ORDER_TYPE_TRAILING_STOP_MARKET = "TRAILING_STOP_MARKET"
81
-
82
- TIME_IN_FORCE_GTC = "GTC" # Good till cancelled
83
- TIME_IN_FORCE_IOC = "IOC" # Immediate or cancel
84
- TIME_IN_FORCE_FOK = "FOK" # Fill or kill
85
- TIME_IN_FORCE_GTX = "GTX" # Post only order
86
-
87
- ORDER_RESP_TYPE_ACK = "ACK"
88
- ORDER_RESP_TYPE_RESULT = "RESULT"
89
- ORDER_RESP_TYPE_FULL = "FULL"
90
-
91
- WEBSOCKET_DEPTH_5 = "5"
92
- WEBSOCKET_DEPTH_10 = "10"
93
- WEBSOCKET_DEPTH_20 = "20"
94
-
95
- NO_SIDE_EFFECT_TYPE = "NO_SIDE_EFFECT"
96
- MARGIN_BUY_TYPE = "MARGIN_BUY"
97
- AUTO_REPAY_TYPE = "AUTO_REPAY"
98
- # BTC、ETH、Sol、matic、DYD、AAVE、GMT、STarl、LTC、Blur
99
- CUR_SYMBOL_POOL = [
100
- "AAVEUSDT",
101
- "BTCBUSD",
102
- "BTCDOMUSDT",
103
- "BTCSTUSDT",
104
- "BTCUSDT",
105
- "BTCUSDT_231229",
106
- "BTCUSDT_240329",
107
- "BLURUSDT",
108
- "DYDXUSDT",
109
- "ETHBTC",
110
- "ETHBUSD",
111
- "ETHUSDT",
112
- "ETHUSDT_231229",
113
- "ETHUSDT_240329",
114
- "GMTBUSD",
115
- "GMTUSDT",
116
- "LTCBUSD",
117
- "LTCUSDT",
118
- "MATICBUSD",
119
- "MATICUSDT",
120
- "SOLBUSD",
121
- "SOLUSDT",
122
- ]
123
-
124
- NEW_SYMBOL_POLL = [
125
- "BTCUSDT",
126
- "YFIUSDT",
127
- "ETHUSDT",
128
- "MKRUSDT",
129
- "BNBUSDT",
130
- "BCHUSDT",
131
- "XMRUSDT",
132
- "LTCUSDT",
133
- "AAVEUSDT",
134
- "COMPUSDT",
135
- "GMXUSDT",
136
- "BSVUSDT",
137
- "DASHUSDT",
138
- "EGLDUSDT",
139
- "TRBUSDT",
140
- "ZECUSDT",
141
- "KSMUSDT",
142
- "SOLUSDT",
143
- "ETCUSDT",
144
- "AVAXUSDT",
145
- "ENSUSDT",
146
- "NEOUSDT",
147
- "ZENUSDT",
148
- "ATOMUSDT",
149
- "LINKUSDT",
150
- "LPTUSDT",
151
- "APTUSDT",
152
- "AXSUSDT",
153
- "ARUSDT",
154
- "ANTUSDT",
155
- "UNIUSDT",
156
- "DOTUSDT",
157
- "ORDIUSDT",
158
- "FILUSDT",
159
- "BALUSDT",
160
- "ICPUSDT",
161
- "MASKUSDT",
162
- "QTUMUSDT",
163
- "SNXUSDT",
164
- "BADGERUSDT",
165
- "LDOUSDT",
166
- "OPUSDT",
167
- "UMAUSDT",
168
- "WLDUSDT",
169
- "APEUSDT",
170
- "NEARUSDT",
171
- "API3USDT",
172
- "BANDUSDT",
173
- "USDCUSDT",
174
- "ARBUSDT",
175
- "XTZUSDT",
176
- "SUSHIUSDT",
177
- "PERPUSDT",
178
- "THETAUSDT",
179
- "KNCUSDT",
180
- "EOSUSDT",
181
- "AGLDUSDT",
182
- "IMXUSDT",
183
- "MATICUSDT",
184
- "XRPUSDT",
185
- "MAGICUSDT",
186
- "STXUSDT",
187
- "OMGUSDT",
188
- "CRVUSDT",
189
- "SUIUSDT",
190
- "CELOUSDT",
191
- "BNTUSDT",
192
- "MINAUSDT",
193
- "STORJUSDT",
194
- "SANDUSDT",
195
- "MANAUSDT",
196
- "ADAUSDT",
197
- "RDNTUSDT",
198
- "BICOUSDT",
199
- "YGGUSDT",
200
- "FTMUSDT",
201
- "ZRXUSDT",
202
- "LRCUSDT",
203
- "BLURUSDT",
204
- "BATUSDT",
205
- "WOOUSDT",
206
- "ONTUSDT",
207
- "GMTUSDT",
208
- "IOTAUSDT",
209
- "CFXUSDT",
210
- "KLAYUSDT",
211
- "XLMUSDT",
212
- "ALGOUSDT",
213
- "FLMUSDT",
214
- "GRTUSDT",
215
- "TRXUSDT",
216
- "ALPHAUSDT",
217
- "CVCUSDT",
218
- "DOGEUSDT",
219
- "CHZUSDT",
220
- "HBARUSDT",
221
- "RENUSDT",
222
- "ZILUSDT",
223
- "RVNUSDT",
224
- "GALAUSDT",
225
- "PEOPLEUSDT",
226
- "IOSTUSDT",
227
- "RSRUSDT",
228
- "SLPUSDT",
229
- "GASUSDT",
230
- ]
231
-
232
-
233
- ALL_SYMBOL_POOL = [
234
- "1000BONKUSDT",
235
- "1000FLOKIUSDT",
236
- "1000LUNCBUSD",
237
- "1000LUNCUSDT",
238
- "1000PEPEUSDT",
239
- "1000SHIBBUSD",
240
- "1000SHIBUSDT",
241
- "1000XECUSDT",
242
- "1INCHUSDT",
243
- "AAVEUSDT",
244
- "ACHUSDT",
245
- "ADABUSD",
246
- "ADAUSDT",
247
- "AGIXBUSD",
248
- "AGIXUSDT",
249
- "AGLDUSDT",
250
- "ALGOUSDT",
251
- "ALICEUSDT",
252
- "ALPHAUSDT",
253
- "AMBBUSD",
254
- "AMBUSDT",
255
- "ANCBUSD",
256
- "ANKRUSDT",
257
- "ANTUSDT",
258
- "APEBUSD",
259
- "APEUSDT",
260
- "API3USDT",
261
- "APTBUSD",
262
- "APTUSDT",
263
- "ARBUSDT",
264
- "ARKMUSDT",
265
- "ARKUSDT",
266
- "ARPAUSDT",
267
- "ARUSDT",
268
- "ASTRUSDT",
269
- "ATAUSDT",
270
- "ATOMUSDT",
271
- "AUCTIONBUSD",
272
- "AUDIOUSDT",
273
- "AVAXBUSD",
274
- "AVAXUSDT",
275
- "AXSUSDT",
276
- "BADGERUSDT",
277
- "BAKEUSDT",
278
- "BALUSDT",
279
- "BANDUSDT",
280
- "BATUSDT",
281
- "BCHUSDT",
282
- "BEAMXUSDT",
283
- "BELUSDT",
284
- "BICOUSDT",
285
- "BIGTIMEUSDT",
286
- "BLUEBIRDUSDT",
287
- "BLURUSDT",
288
- "BLZUSDT",
289
- "BNBBTC",
290
- "BNBBUSD",
291
- "BNBUSDT",
292
- "BNTUSDT",
293
- "BNXUSDT",
294
- "BONDUSDT",
295
- "BSVUSDT",
296
- "BTCBUSD",
297
- "BTCDOMUSDT",
298
- "BTCSTUSDT",
299
- "BTCUSDT",
300
- "BTCUSDT_231229",
301
- "BTCUSDT_240329",
302
- "BTSUSDT",
303
- "C98USDT",
304
- "CAKEUSDT",
305
- "CELOUSDT",
306
- "CELRUSDT",
307
- "CFXUSDT",
308
- "CHRUSDT",
309
- "CHZUSDT",
310
- "CKBUSDT",
311
- "COCOSUSDT",
312
- "COMBOUSDT",
313
- "COMPUSDT",
314
- "COTIUSDT",
315
- "CRVUSDT",
316
- "CTKUSDT",
317
- "CTSIUSDT",
318
- "CVCUSDT",
319
- "CVXBUSD",
320
- "CVXUSDT",
321
- "CYBERUSDT",
322
- "DARUSDT",
323
- "DASHUSDT",
324
- "DEFIUSDT",
325
- "DENTUSDT",
326
- "DGBUSDT",
327
- "DODOBUSD",
328
- "DODOXUSDT",
329
- "DOGEBUSD",
330
- "DOGEUSDT",
331
- "DOTBUSD",
332
- "DOTUSDT",
333
- "DUSKUSDT",
334
- "DYDXUSDT",
335
- "EDUUSDT",
336
- "EGLDUSDT",
337
- "ENJUSDT",
338
- "ENSUSDT",
339
- "EOSUSDT",
340
- "ETCBUSD",
341
- "ETCUSDT",
342
- "ETHBTC",
343
- "ETHBUSD",
344
- "ETHUSDT",
345
- "ETHUSDT_231229",
346
- "ETHUSDT_240329",
347
- "FETUSDT",
348
- "FILBUSD",
349
- "FILUSDT",
350
- "FLMUSDT",
351
- "FLOWUSDT",
352
- "FOOTBALLUSDT",
353
- "FRONTUSDT",
354
- "FTMBUSD",
355
- "FTMUSDT",
356
- "FTTBUSD",
357
- "FTTUSDT",
358
- "FXSUSDT",
359
- "GALABUSD",
360
- "GALAUSDT",
361
- "GALBUSD",
362
- "GALUSDT",
363
- "GASUSDT",
364
- "GLMRUSDT",
365
- "GMTBUSD",
366
- "GMTUSDT",
367
- "GMXUSDT",
368
- "GRTUSDT",
369
- "GTCUSDT",
370
- "HBARUSDT",
371
- "HFTUSDT",
372
- "HIFIUSDT",
373
- "HIGHUSDT",
374
- "HNTUSDT",
375
- "HOOKUSDT",
376
- "HOTUSDT",
377
- "ICPUSDT",
378
- "ICXUSDT",
379
- "IDEXUSDT",
380
- "IDUSDT",
381
- "ILVUSDT",
382
- "IMXUSDT",
383
- "INJUSDT",
384
- "IOSTUSDT",
385
- "IOTAUSDT",
386
- "IOTXUSDT",
387
- "JASMYUSDT",
388
- "JOEUSDT",
389
- "KASUSDT",
390
- "KAVAUSDT",
391
- "KEYUSDT",
392
- "KLAYUSDT",
393
- "KNCUSDT",
394
- "KSMUSDT",
395
- "LDOBUSD",
396
- "LDOUSDT",
397
- "LEVERBUSD",
398
- "LEVERUSDT",
399
- "LINAUSDT",
400
- "LINKBUSD",
401
- "LINKUSDT",
402
- "LITUSDT",
403
- "LOOMUSDT",
404
- "LPTUSDT",
405
- "LQTYUSDT",
406
- "LRCUSDT",
407
- "LTCBUSD",
408
- "LTCUSDT",
409
- "LUNA2USDT",
410
- "MAGICUSDT",
411
- "MANAUSDT",
412
- "MASKUSDT",
413
- "MATICBUSD",
414
- "MATICUSDT",
415
- "MAVUSDT",
416
- "MBLUSDT",
417
- "MDTUSDT",
418
- "MEMEUSDT",
419
- "MINAUSDT",
420
- "MKRUSDT",
421
- "MTLUSDT",
422
- "NEARBUSD",
423
- "NEARUSDT",
424
- "NEOUSDT",
425
- "NKNUSDT",
426
- "NMRUSDT",
427
- "NTRNUSDT",
428
- "OCEANUSDT",
429
- "OGNUSDT",
430
- "OMGUSDT",
431
- "ONEUSDT",
432
- "ONTUSDT",
433
- "OPUSDT",
434
- "ORBSUSDT",
435
- "ORDIUSDT",
436
- "OXTUSDT",
437
- "PENDLEUSDT",
438
- "PEOPLEUSDT",
439
- "PERPUSDT",
440
- "PHBBUSD",
441
- "PHBUSDT",
442
- "POLYXUSDT",
443
- "POWRUSDT",
444
- "PYTHUSDT",
445
- "QNTUSDT",
446
- "QTUMUSDT",
447
- "RADUSDT",
448
- "RAYUSDT",
449
- "RDNTUSDT",
450
- "REEFUSDT",
451
- "RENUSDT",
452
- "RIFUSDT",
453
- "RLCUSDT",
454
- "RNDRUSDT",
455
- "ROSEUSDT",
456
- "RSRUSDT",
457
- "RUNEUSDT",
458
- "RVNUSDT",
459
- "SANDBUSD",
460
- "SANDUSDT",
461
- "SCUSDT",
462
- "SEIUSDT",
463
- "SFPUSDT",
464
- "SKLUSDT",
465
- "SLPUSDT",
466
- "SNTUSDT",
467
- "SNXUSDT",
468
- "SOLBUSD",
469
- "SOLUSDT",
470
- "SPELLUSDT",
471
- "SRMUSDT",
472
- "SSVUSDT",
473
- "STEEMUSDT",
474
- "STGUSDT",
475
- "STMXUSDT",
476
- "STORJUSDT",
477
- "STPTUSDT",
478
- "STRAXUSDT",
479
- "STXUSDT",
480
- "SUIUSDT",
481
- "SUSHIUSDT",
482
- "SXPUSDT",
483
- "THETAUSDT",
484
- "TIAUSDT",
485
- "TLMBUSD",
486
- "TLMUSDT",
487
- "TOKENUSDT",
488
- "TOMOUSDT",
489
- "TRBUSDT",
490
- "TRUUSDT",
491
- "TRXBUSD",
492
- "TRXUSDT",
493
- "TUSDT",
494
- "TWTUSDT",
495
- "UMAUSDT",
496
- "UNFIUSDT",
497
- "UNIBUSD",
498
- "UNIUSDT",
499
- "USDCUSDT",
500
- "VETUSDT",
501
- "WAVESBUSD",
502
- "WAVESUSDT",
503
- "WAXPUSDT",
504
- "WLDUSDT",
505
- "WOOUSDT",
506
- "XEMUSDT",
507
- "XLMUSDT",
508
- "XMRUSDT",
509
- "XRPBUSD",
510
- "XRPUSDT",
511
- "XTZUSDT",
512
- "XVGUSDT",
513
- "XVSUSDT",
514
- "YFIUSDT",
515
- "YGGUSDT",
516
- "ZECUSDT",
517
- "ZENUSDT",
518
- "ZILUSDT",
519
- "ZRXUSDT",
520
- ]
521
-
522
-
523
- class HistoricalKlinesType(Enum):
524
- SPOT = 1
525
- FUTURES = 2
526
- FUTURES_COIN = 3
527
-
528
-
529
- class FuturesType(Enum):
530
- USD_M = 1
531
- COIN_M = 2
532
-
533
-
534
- class ContractType(Enum):
535
- PERPETUAL = "PERPETUAL" # 永续期货合约
536
- CURRENT_QUARTER = "CURRENT_QUARTER"
537
- NEXT_QUARTER = "NEXT_QUARTER"
538
- NEXT_MONTH = "NEXT_MONTH"
539
- CURRENT_MONTH = "CURRENT_MONTH"