币安 Python API 保证金订单未完成还款

binance python api margin order incomplete repay loan

提问人:Brandon Jay 提问时间:3/10/2021 更新时间:7/9/2022 访问量:1796

问:

我正在尝试使用币安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")
Python 保证金 报价 加密货币 币安

评论

0赞 Dmitriy Yurov 4/4/2021
你有什么更新吗?我在 NodeJS binance api 客户端中遇到了同样的问题
0赞 Tom687 5/16/2021
@DmitriyYurov 你能够解决这个问题吗?另外,你怎么知道你必须支付的利息费用的价值?我也使用Node Binance客户端

答:

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 中“关闭所有头寸”),对于那些少量的金额......