有没有人为买卖一对像“DOGEUSDT”或任何其他对(保证金交易)做适当的工作功能, 我已经尽力了,但最终还是遇到了不同的错误,例如 - 批量失败、资金不足或此 API 最常见的价格过滤器错误
我想出的功能如下,谁能告诉我我错过了什么
这个功能是想出买入/卖空数量,效果相当不错
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
这个功能就是补空,基本上就是给你借出的数量
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
此功能是卖出多头头寸
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 一样正常工作,但它们没有,一些或其他错误弹出 批量失败,资金不足或其他什么,我在这里缺少什么,有人可以帮助我,我挣扎了几天
提前致谢