0

是否有人为买卖“DOGEUSDT”之类的货币对或任何其他货币对(保证金交易)制定了适当的工作功能,我已尽力而为,但最终出现了不同的错误,例如-批量失败,资金不足或最常见的错误此 API 的已知价格过滤器错误

我想出的功能如下,有人可以告诉我我错过了什么

  1. 此功能用于提出买入/空头数量,并且效果相当不错

     def buy_quantity(symbol,asset):
         a = 0
         while a < 3:
             try:
                 bal = pd.DataFrame(client.get_margin_account()['userAssets'])
                 bal = bal[bal['asset']==asset]
                 bal = float(bal['free']) * 0.90
                 break
            except:
                 print("can't extract asset value..retrying")
                 a+=1
         price = float(client.get_recent_trades(symbol=symbol)[0]['price'])    
         stepSize = float(client.get_symbol_info(symbol)['filters'][2]['stepSize'])
         precision = int(round(-math.log(stepSize, 10), 0)) 
         quantity = (bal / price)*0.9995 # Trading fee taken in consideration 
         quantity = round(quantity,precision)
         return quantity
    
  2. 这个功能是补空,它基本上是试图给你借来的数量

    def sell_quantity1(asset):
         a = 0
         while a < 3:
             try:
                 order = pd.DataFrame(client.get_margin_account()['userAssets'])
                 order = order[order['asset']==asset]
                 order = float(order['borrowed'])
                 break
             except:
                 print("can't extract borrowed order book...retrying")
                 a+=1
         order = round(order,5)
         return order
    
  3. 此功能是卖出多头头寸

     def sell_quantity2(asset):
         a = 0
         while a < 3:
             try:
                 order = pd.DataFrame(client.get_margin_account()['userAssets'])
                 order = order[order['asset']==asset]
                 order = float(order['free'])
                 break
             except:
                 print("can't extract order book...retrying")
                 a+=1
         order = round(order,5)
         return order
    

我认为功能 2 和 3 应该像功能 1 一样正常工作,但它们没有,弹出一些或其他错误 Lot size failure, Insufficient fund, 或其他东西,我在这里缺少什么,有人可以帮助我吗?挣扎了几天

提前致谢

4

1 回答 1

0
def order(side, quoteOrderQty, symbol, order_type=ORDER_TYPE_MARKET):
    try:
        order = client.create_order(symbol=symbol, side=side, type=order_type, quoteOrderQty=quoteOrderQty)
        print(order)
    except Exception as e:
        print("exception - {}".format(e))
于 2021-11-16T16:23:33.800 回答