委托单数据结构
ccxt统一API中绝大多数返回委托单的方法,通常会输出如下的委托单数据结构:
{
'id': '12345-67890:09876/54321', // string
'datetime': '2017-08-17 12:42:48.000', // ISO8601 datetime of 'timestamp' with milliseconds
'timestamp': 1502962946216, // order placing/opening Unix timestamp in milliseconds
'lastTradeTimestamp': 1502962956216, // Unix timestamp of the most recent trade on this order
'status': 'open', // 'open', 'closed', 'canceled'
'symbol': 'ETH/BTC', // symbol
'type': 'limit', // 'market', 'limit'
'side': 'buy', // 'buy', 'sell'
'price': 0.06917684, // float price in quote currency
'amount': 1.5, // ordered amount of base currency
'filled': 1.1, // filled amount of base currency
'remaining': 0.4, // remaining amount to fill
'cost': 0.076094524, // 'filled' * 'price' (filling price used where available)
'trades': [ ... ], // a list of order trades/executions
'fee': { // fee info, if available
'currency': 'BTC', // which currency the fee is (usually quote)
'cost': 0.0009, // the fee amount in that currency
'rate': 0.002, // the fee rate (if available)
},
'info': { ... }, // the original unparsed order structure as is
}
补充说明如下:
- fee:手续费信息这部分的工作还在进行中,取决于交易所提供的接口,这部分信息可能不完整甚至完全没有。
- fee.currency:手续费货币可能与所交易的货币都不一样。例如,一个ETH/BTC的委托单可能使用USD支付手续费
- lastTradeTimestamp:最后交易时间戳表示该委托单最后一次交易的时间。在有些情况下, 这个字段可能没有值或者是undefined/None/null,例如交易所不支持,或者委托单还是敞口状态。
- status:委托单状态的优先级高于最后交易时间戳
- cost:委托单花费 = filled * price ,表示委托单的总花费,cost字段是处于方便目的而提供, 值可以根据其他字段推导出来