我正在尝试使用python-binance包装器来为Binance API编写一个简单的小型交易机器人,主要是为了学习如何。我目前正试图使用client.get_symbol_ticker()
函数来获取特定交易对的价格,可以在827行找到here。
我需要发送的字符串是"AAABBB"
形式,其中AAA是第一个股票代码符号,BBB是我想要AAA价格的符号。但是,我没有正确的语法。当我传入一个字符串时:
client.get_symbol_ticker('ETHBTC')
我得到TypeError: get_symbol_ticker() takes exactly 1 argument (2 given)
如果我做
client.get_symbol_ticker(params = 'ETHBTC')
我得到BinanceAPIException: APIError(code=-1104): Not all sent parameters were read; read '0' parameter(s) but was sent '1'.
显然,我只是错误地调用了这个调用的语法。函数原型如下所示:
def get_symbol_ticker(self, **params):
"""Latest price for a symbol or symbols.
https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#24hr-ticker-price-change-statistics
:param symbol:
:type symbol: str
有人能告诉我调用此函数时使用的正确语法吗?
你的电话应该是client.get_symbol_ticker(symbol = 'ETHBTC')
。了解这一点的唯一方法是查看文档字符串:
:param symbol:
:type symbol: str
这告诉你它需要一个名为symbol
的关键字参数。
**params
的意思是“获取所有关键字参数并将它们作为变量params
中的字典返回”。所以在我上面提供的方法调用的情况下,params
将是:
{'symbol': 'ETHBTC'}