python-binance:获取所有订单,不指定符号



尝试使用python-binance模块获取我的Binance帐户订单历史记录。有一个选项可以在一个符号内获得所有订单(请参阅文档(:

orders = client.get_all_orders(symbol='BNBBTC', limit=10)

但是问题是我不能在符号参数中传递超过1个coin如何传递符号参数的列表,我想在单个函数中获取1个以上的硬币订单历史记录因为我正试图为我的币安账户建立一个投资组合。还是有其他方法可以做到这一点?

当前,即使没有模块python-binance,也不可能在一次调用中不指定符号就获得所有历史订单或交易。

币安论坛上正在进行讨论,要求提供此功能。


作为一种变通方法:

  • 如果您知道您的有序符号:对循环中的每个符号多次使用函数get_all_orders()
  • 如果你不知道你订购的符号:你可以为币安提供的每个符号发送一个GET请求(如上面链接的讨论中所述(。但要小心rateLimits

我也在问自己同样的问题。好吧,一个解决办法是迭代币安中所有可用的股票代码,寻找我们过去交易过的股票代码。

如果你正在使用API的免费计划,最好是设置一个存储文件或数据库并存储所有结果。然后你必须关心从那时起的变化。

是的,这正是我要处理的问题。

(编辑(:需要睡眠功能来避免每分钟超过1200次的查询。

(示例(:

def getAllTickers(self):
# Get all available exchange tickers
exchangeInfo = self.client.get_exchange_info()
# Extract the tickers general info
exchangeSymbols = []
for i in exchangeInfo['symbols']:
exchangeSymbols.append(i)
return exchangeSymbols

def getMyTrades(self, strSymbol):
return self.client.get_my_trades(symbol=strSymbol)
def getMyTradedTickers(self):
tickers = self.getAllTickers()
# Extract every ticker where trade happened
traded = []
for i in tickers:
tickerTransactions = self.getMyTrades(i["symbol"])
if tickerTransactions :
traded.append(tickerTransactions)
print(i["symbol"], " transactions available")
else :
print(i["symbol"], " has no transactions")
self.time.sleep(0.1)

return traded

**Srry的代码质量。Python不是我的主要编码语言,我已经习惯了

最新更新