查询所有交易对的实时行情
有些交易所(不是所有)也支持同时查询所有交易对的实时行情。请查阅 交易所的文档获取详细信息。你可以在一次调用中获取所有的实时行情。
JavaScript示例代码:
if (exchange.has['fetchTickers']) {
console.log (await (exchange.fetchTickers ())) // all tickers indexed by their symbols
}
Python示例代码:
if (exchange.has['fetchTickers']):
print(exchange.fetch_tickers()) # all tickers indexed by their symbols
PHP示例代码:
if ($exchange->has['fetchTickers']) {
var_dump ($exchange->fetch_tickers ()); // all tickers indexed by their symbols
}
查询所有的实时行情需要更多的流量,另外,也要注意有些交易所对后续的查询会有更严格的限流。
还有一些交易所可能会对fetchTickers()
的调用有更多的要求,有时你无法查询的原因是API的限制。
另外一些交易所可以在URL查询参数中接受一组交易对符号,但是由于URL的长度是有限的,在极端
情况下交易所可以有数千个市场 - url的长度无法容纳所有的交易对符号。
JavaScript示例代码:
if (exchange.has['fetchTickers']) {
console.log (await (exchange.fetchTickers ([ 'ETH/BTC', 'LTC/BTC' ]))) // listed tickers indexed by their symbols
}
Python示例代码:
if (exchange.has['fetchTickers']):
print(exchange.fetch_tickers(['ETH/BTC', 'LTC/BTC'])) # listed tickers indexed by their symbols
PHP示例代码:
if ($exchange->has['fetchTickers']) {
var_dump ($exchange->fetch_tickers (array ('ETH/BTC', 'LTC/BTC'))); // listed tickers indexed by their symbols
}
注意在大多数情况下交易对符号列表不是必须的,但是如果你要处理所有可能的情况就需要额外的逻辑处理。
和CCXT统一API中的大多数方法一样,fetchTickers
的最后一个参数是params
,用来修改发送到
交易所的请求参数。
返回结果的结构如下:
{
'info': { ... }, // the original JSON response from the exchange as is
'BTC/USD': { ... }, // a single ticker for BTC/USD
'ETH/BTC': { ... }, // a ticker for ETH/BTC
...
}