空跑打全余额字段:逐仓下管用的是 isolatedMaxAvailable,只看 available 会误判
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+20
-7
@@ -268,15 +268,28 @@ class Exec:
|
|||||||
# 正在过期,没有从容排查的余地
|
# 正在过期,没有从容排查的余地
|
||||||
if self.api.key and self.api.secret and self.api.passphrase:
|
if self.api.key and self.api.secret and self.api.passphrase:
|
||||||
try:
|
try:
|
||||||
acc = await self.api.account()
|
acc = await self.api.account() or {}
|
||||||
av = float((acc or {}).get("available") or 0)
|
print(" ✓ 密钥与 IP 白名单通", flush=True)
|
||||||
print(f" ✓ 密钥与 IP 白名单通(可用 {av:.2f} "
|
# 打全几个余额字段,不只看 available:我们用逐仓,真正
|
||||||
f"USDT,名义 {NOTIONAL:.0f} 需保证金约 "
|
# 决定能不能开的是 isolatedMaxAvailable。只看一个字段,
|
||||||
f"{NOTIONAL / LEVERAGE:.0f})", flush=True)
|
# 取错了就会把"有钱"误报成"没钱",或者反过来
|
||||||
|
fields = ("accountEquity", "usdtEquity", "available",
|
||||||
|
"isolatedMaxAvailable", "crossedMaxAvailable",
|
||||||
|
"maxTransferOut", "locked", "unrealizedPL")
|
||||||
|
shown = {k: acc.get(k) for k in fields if k in acc}
|
||||||
|
print(f" 余额 {shown}", flush=True)
|
||||||
|
# 逐仓下取 isolatedMaxAvailable,缺了才退回 available
|
||||||
|
av = float(acc.get("isolatedMaxAvailable")
|
||||||
|
or acc.get("available") or 0)
|
||||||
need = NOTIONAL / LEVERAGE * MAX_OPEN
|
need = NOTIONAL / LEVERAGE * MAX_OPEN
|
||||||
|
print(f" 可开保证金 {av:.2f} USDT · {MAX_OPEN} 笔并发"
|
||||||
|
f"需约 {need:.0f}(名义 {NOTIONAL:.0f} / "
|
||||||
|
f"{LEVERAGE}x)", flush=True)
|
||||||
if av < need:
|
if av < need:
|
||||||
print(f" ⚠ 可用不足:{MAX_OPEN} 笔并发共需约 "
|
print(f" ⚠ 不够。合约账户里要有 USDT 才能下单——"
|
||||||
f"{need:.0f} USDT 保证金", flush=True)
|
f"资金常在现货账户,需要先划转到 USDT 本位合约。"
|
||||||
|
f"低于 {NOTIONAL / LEVERAGE:.0f} 连一笔都开不了",
|
||||||
|
flush=True)
|
||||||
except Exception as e: # noqa: BLE001
|
except Exception as e: # noqa: BLE001
|
||||||
# 退出前要关会话。SystemExit 会绕过 run() 里的收尾,
|
# 退出前要关会话。SystemExit 会绕过 run() 里的收尾,
|
||||||
# 漏了就在日志尾部留一串 "Unclosed client session",
|
# 漏了就在日志尾部留一串 "Unclosed client session",
|
||||||
|
|||||||
Reference in New Issue
Block a user