提问人:Brandon Jay 提问时间:3/10/2021 更新时间:7/9/2022 访问量:1796
币安 Python API 保证金订单未完成还款
binance python api margin order incomplete repay loan
问:
我正在尝试使用币安python API偿还贷款。我从帐户字典中检索贷款规模,并将其输入为自动还款保证金订单中的quoteOrderQty。
当我运行 closeLong() 时,贷款没有完全还清,小额余额留在基础中,小额 USDT 债务留在报价中。我在这里做错了什么?
acct = client.get_isolated_margin_account()
def quoteDebt():
quoteLoan = round(Decimal(acct['assets'][1]['quoteAsset']['borrowed']),2)
print("USDT Debt: "+str(quoteLoan))
return quoteLoan
def closeLong():
client.create_margin_order(
symbol=sym,
side=SIDE_SELL,
type=ORDER_TYPE_MARKET,
sideEffectType= 'AUTO_REPAY',
isIsolated='TRUE',
quoteOrderQty=quoteDebt())
print("Closed Long")
答:
0赞
Mark Norrish
4/16/2021
#1
我遇到了同样的问题。我相信利息是连续复利的,所以在你检查欠款和偿还之间会产生少量的利息。我通过无限循环来解决这个问题:第一个循环偿还本金,第二个循环偿还利息,第三个循环偿还利息,到第 4 个或第 5 个循环时,利息四舍五入为 0。当然,我更喜欢有可用的 repay_all() API 调用,但我不知道这样的事情。
0赞
Michal Kovacik
7/9/2022
#2
同样的问题在这里,Binance 不允许我们通过 API 自动全额还款,这并不好。如果您可以锁定一些额外的金额,对我来说理想的解决方案是在现货账户上购买借入的资产,费用从 BNB 支付,这比孤立保证金账户少,将资产转移到孤立保证金账户还款(两步法)。不过,您需要有准备金,因为您不能在有位时将所有资金从保证金账户中转出,因为它会被清算。
如果您尝试直接偿还独立账户,则扣除 0.1% 的费用,因此贷款不会全额偿还。如果从现货购买,您可以以 BNB 支付 0.075% 的费用,并获得您要求的全部资产(因为费用是以 BNB 支付的)。没有一点点剩余。
对您来说,理想的方法是基于交易频率。高频交易 - 费用很重要,交易很小,您可以为此分配额外的资金。低频交易 - 费用并不重要,您可能希望全押,没有额外的资金,您也可以手动执行此操作(在 UI 中“关闭所有头寸”),对于那些少量的金额......
评论