我正在尝试使用cex.io应用程序接口来构建实时订单簿,但我很难理解来自该应用程序接口的信息。
我订阅了以下JSON:
{
"e": "order-book-subscribe",
"data": {
"pair": [
"BTC",
"USD"
],
"subscribe": false,
"depth": -1
},
"oid": "1435927928274_3_order-book-subscribe"
}第一条消息是订单簿的快照,这条消息是ok。
但接下来,消息是“只是”更新,与下面的消息相同:
{
'e': 'md_update',
'data': {
'id': 92276361,
'pair': 'BTC:USD',
'time': 1505337293621,
'bids': [],
'asks': [
[4078.1692, 0.0]
]
}
}如何使用更新行更新第一个接收到的快照?
我如何知道书中的某些行是否匹配?
另外,如果我订阅depth = 1,更新是否只针对最佳出价/最佳要价?
发布于 2018-02-21 21:30:19
您只需将更新与内部订单簿的当前状态进行匹配。API将向您发送在服务器端对orderbook所做的更改。
示例:
更新消息为:
{
'e': 'md_update',
'data': {
'id': 92276361,
'pair': 'BTC:USD',
'time': 1505337293621,
'bids': [],
'asks': [
[4070, 0.0],
[4080, 1]
]
}
}我们看到价格为4070的要约现在有一个剩余的金额。因此,请从您的订单簿中删除该条目。
Ask 4080现在的剩余金额为1。您可以检查在您的订单中是否已经有一个价格为4080的ask。如果是,请将金额更新为1。如果您的订单簿中没有要求4080,请在您的订单簿中添加一个价格为4080、金额为1的条目。
https://stackoverflow.com/questions/46207279
复制相似问题