查询委托单 - fetchOrders
大多数时候,你可以按id或符号查询委托单,虽然不是所有的交易所都提供了完整 和灵活的委托单查询访问端结点。有些交易所可能没有方法查询最近完成的委托单, 另一些可能缺少按id获取委托单的方法,等等。ccxt库考虑了这些情况并尽可能 加以解决。
查询委托单的方法如下:
- fetchOrder (id, symbol = undefined, params = {})
- fetchOrders (symbol = undefined, since = undefined, limit = undefined, params = {})
- fetchOpenOrders (symbol = undefined, since = undefined, limit = undefined, params = {})
- fetchClosedOrders (symbol = undefined, since = undefined, limit = undefined, params = {})
注意这些方法的名字可以看出该方法是返回一个委托单还是多个委托单。
如果用户调用了交易所不支持的方法,ccxt库会抛出NotSupported
异常。
要检查上述方法是否有效,可以查看交易所对象的.has
属性。
JavaScript示例代码:
'use strict';
const ccxt = require ('ccxt')
const id = 'poloniex'
exchange = new ccxt[id] ()
console.log (exchange.has)
Python示例代码:
import ccxt
id = 'binance'
exchange = getattr(ccxt, id) ()
print(exchange.has)
PHP示例代码:
$exchange = new \ccxt\liqui ();
print_r ($exchange->has); // or var_dump
一个典型的.hash
属性通常包含如下对应上述用于查询委托单的API方法的标志:
exchange.has = {
// ... other flags ...
'fetchOrder': true, // available from the exchange directly and implemented in ccxt
'fetchOrders': false, // not available from the exchange or not implemented in ccxt
'fetchOpenOrders': true,
'fetchClosedOrders': 'emulated', // not available from the exchange, but emulated in ccxt
// ... other flags ...
}
ture和false的含义很明确。emulated
表示这个方法是ccxt模拟出来的,不是交易所原生API提供的。
The meanings of boolean true and false are obvious.