trd-utils 0.0.42__py3-none-any.whl → 0.0.44__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.
Potentially problematic release.
This version of trd-utils might be problematic. Click here for more details.
- trd_utils/__init__.py +1 -1
- trd_utils/exchanges/bx_ultra/bx_ultra_client.py +12 -2
- trd_utils/exchanges/okx/okx_client.py +5 -0
- {trd_utils-0.0.42.dist-info → trd_utils-0.0.44.dist-info}/METADATA +1 -1
- {trd_utils-0.0.42.dist-info → trd_utils-0.0.44.dist-info}/RECORD +7 -7
- {trd_utils-0.0.42.dist-info → trd_utils-0.0.44.dist-info}/LICENSE +0 -0
- {trd_utils-0.0.42.dist-info → trd_utils-0.0.44.dist-info}/WHEEL +0 -0
trd_utils/__init__.py
CHANGED
|
@@ -77,6 +77,8 @@ logger = logging.getLogger(__name__)
|
|
|
77
77
|
# specific to the current session that is fetching them,
|
|
78
78
|
user_api_identity_cache: dict[int, int] = {}
|
|
79
79
|
|
|
80
|
+
__positions_hidden_warn_map: dict[str, bool] = {}
|
|
81
|
+
|
|
80
82
|
|
|
81
83
|
class BXUltraClient(ExchangeBase, IPriceFetcher):
|
|
82
84
|
###########################################################
|
|
@@ -940,7 +942,11 @@ class BXUltraClient(ExchangeBase, IPriceFetcher):
|
|
|
940
942
|
raise ex
|
|
941
943
|
|
|
942
944
|
if not no_warn:
|
|
943
|
-
|
|
945
|
+
if err_str.find("positions hidden") != -1:
|
|
946
|
+
warn_key = f"perp_{uid}"
|
|
947
|
+
if not __positions_hidden_warn_map.get(warn_key, False):
|
|
948
|
+
__positions_hidden_warn_map[warn_key] = True
|
|
949
|
+
logger.warning(f"Failed to fetch perp positions of {uid}: {ex}")
|
|
944
950
|
perp_ex = ex
|
|
945
951
|
|
|
946
952
|
try:
|
|
@@ -955,7 +961,11 @@ class BXUltraClient(ExchangeBase, IPriceFetcher):
|
|
|
955
961
|
raise ex
|
|
956
962
|
|
|
957
963
|
if not no_warn:
|
|
958
|
-
|
|
964
|
+
if err_str.find("positions hidden") != -1:
|
|
965
|
+
warn_key = f"std_{uid}"
|
|
966
|
+
if not __positions_hidden_warn_map.get(warn_key, False):
|
|
967
|
+
__positions_hidden_warn_map[warn_key] = True
|
|
968
|
+
logger.warning(f"Failed to fetch std positions of {uid}: {ex}")
|
|
959
969
|
std_ex = ex
|
|
960
970
|
|
|
961
971
|
if not perp_positions and not std_positions:
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from decimal import Decimal
|
|
1
2
|
import json
|
|
2
3
|
import logging
|
|
3
4
|
import time
|
|
@@ -169,6 +170,8 @@ class OkxClient(ExchangeBase):
|
|
|
169
170
|
async def get_unified_trader_positions(
|
|
170
171
|
self,
|
|
171
172
|
uid: int | str,
|
|
173
|
+
no_warn: bool = False,
|
|
174
|
+
min_margin: Decimal = 0,
|
|
172
175
|
) -> UnifiedTraderPositions:
|
|
173
176
|
result = await self.get_trader_positions(
|
|
174
177
|
uid=uid,
|
|
@@ -176,6 +179,8 @@ class OkxClient(ExchangeBase):
|
|
|
176
179
|
unified_result = UnifiedTraderPositions()
|
|
177
180
|
unified_result.positions = []
|
|
178
181
|
for position in result.data[0].pos_data:
|
|
182
|
+
if min_margin and (not position.margin or position.margin < min_margin):
|
|
183
|
+
continue
|
|
179
184
|
unified_pos = UnifiedPositionInfo()
|
|
180
185
|
unified_pos.position_id = position.pos_id
|
|
181
186
|
unified_pos.position_pnl = round(position.realized_pnl, 3)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
trd_utils/__init__.py,sha256=
|
|
1
|
+
trd_utils/__init__.py,sha256=tbiVO2iKTOuxM7n8BiQ6erJJoUjaUk2uF19lQjsONoQ,25
|
|
2
2
|
trd_utils/cipher/__init__.py,sha256=V05KNuzQwCic-ihMVHlC8sENaJGc3I8MCb4pg4849X8,1765
|
|
3
3
|
trd_utils/common_utils/float_utils.py,sha256=aYPwJ005LmrRhXAngojwvdDdtRgeb1FfR6hKeQ5ndMU,470
|
|
4
4
|
trd_utils/common_utils/wallet_utils.py,sha256=OX9q2fymP0VfIWTRIRBP8W33cfyjLXimxMgPOsZe-3g,727
|
|
@@ -12,7 +12,7 @@ trd_utils/exchanges/blofin/blofin_client.py,sha256=JVimaxGHRVviQHZbPY1gek8ICPl8-
|
|
|
12
12
|
trd_utils/exchanges/blofin/blofin_types.py,sha256=bQx0opCgHwcuC-5TxiVA4VQr17A1x7u7QIMdcIrROAg,4315
|
|
13
13
|
trd_utils/exchanges/bx_ultra/__init__.py,sha256=8Ssy-eOemQR32Nv1-FoPHm87nRqRO4Fm2PU5GHEFKfQ,80
|
|
14
14
|
trd_utils/exchanges/bx_ultra/bx_types.py,sha256=7Ga6IYHQNRDbhWXmS1J0NxpcR9HUJ8ZwQGh-1EvNRqM,36687
|
|
15
|
-
trd_utils/exchanges/bx_ultra/bx_ultra_client.py,sha256=
|
|
15
|
+
trd_utils/exchanges/bx_ultra/bx_ultra_client.py,sha256=iYePP32gSAnBuFWAyr5f_MkE4i8zPMNTsIdBom8iGVs,41534
|
|
16
16
|
trd_utils/exchanges/bx_ultra/bx_utils.py,sha256=PwapomwDW33arVmKIDj6cL-aP0ptu4BYy_lOCqSAPOo,1392
|
|
17
17
|
trd_utils/exchanges/errors.py,sha256=P_NTuc389XL7rFegomP59BydWmHv8ckiGyNU-_l5qNQ,167
|
|
18
18
|
trd_utils/exchanges/exchange_base.py,sha256=eAORzCci78b2-IrslkQnMIbzVJGb6YYzNzniCUHG-jg,7891
|
|
@@ -21,7 +21,7 @@ trd_utils/exchanges/hyperliquid/__init__.py,sha256=QhwGRcneGFHREM-MMdYpbcx-aWdsW
|
|
|
21
21
|
trd_utils/exchanges/hyperliquid/hyperliquid_client.py,sha256=J1NjslRkyuAiqg9xvD8Mn7n0qxHtzDWibYU-mYgeG2s,7270
|
|
22
22
|
trd_utils/exchanges/hyperliquid/hyperliquid_types.py,sha256=MiGG5fRU7wHqOMtCzQXD1fwwbeUK1HEcQwW5rl-9D4c,2678
|
|
23
23
|
trd_utils/exchanges/okx/__init__.py,sha256=OjVpvcwB9mrCTofLt14JRHV2-fMAzGz9-YkJAMwl6dM,67
|
|
24
|
-
trd_utils/exchanges/okx/okx_client.py,sha256=
|
|
24
|
+
trd_utils/exchanges/okx/okx_client.py,sha256=13RZzBbosc0M_VYIRlOneCrWI8xzg3n_a6_MvZRNuqo,7440
|
|
25
25
|
trd_utils/exchanges/okx/okx_types.py,sha256=IkFOfgivcvvIw950jyGHAVfFFGbGqfZcYGfZLWfNLvc,5013
|
|
26
26
|
trd_utils/exchanges/price_fetcher.py,sha256=YHLkM6sCvHGFS_4t188Sl3DczqrarK-1ivGwZEVsom4,1320
|
|
27
27
|
trd_utils/html_utils/__init__.py,sha256=1WWs8C7JszRjTkmzIRLHpxWECHur_DrulTPGIeX88oM,426
|
|
@@ -35,7 +35,7 @@ trd_utils/types_helper/decorators.py,sha256=ziQGDKV0RnhMG6gBPAz244Ug3j6ayr0iKXeu
|
|
|
35
35
|
trd_utils/types_helper/model_config.py,sha256=uvyhdGHQZ1A_I5RUbCgzlDk6MxWL6RLV8r0cdVi6nBk,60
|
|
36
36
|
trd_utils/types_helper/ultra_list.py,sha256=01WQSkx0G7lD9O9XcXccexniNwyuQ9LwVOeixxr4tWQ,1178
|
|
37
37
|
trd_utils/types_helper/utils.py,sha256=Xq4SZG4NkkGzJyOBs9huAvzl2YcCZ7ZRjfOHol3o-Kc,569
|
|
38
|
-
trd_utils-0.0.
|
|
39
|
-
trd_utils-0.0.
|
|
40
|
-
trd_utils-0.0.
|
|
41
|
-
trd_utils-0.0.
|
|
38
|
+
trd_utils-0.0.44.dist-info/LICENSE,sha256=J1EP2xt87RjjmsTV1jTjHDQMLIM9FjdwEftTpw8hyv4,1067
|
|
39
|
+
trd_utils-0.0.44.dist-info/METADATA,sha256=_wauWPTsKhQ-QX8rSbCP9FRRxWFCoYnU7L8dETQSEQ4,1179
|
|
40
|
+
trd_utils-0.0.44.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
41
|
+
trd_utils-0.0.44.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|