CEX订单市场更新

时间:2017-09-13 21:43:57

标签: api bitcoin trading cex

我正在尝试使用cex.io API来构建实时订单,但我很难理解来自API的消息。

我订阅了以下JSON:

{
  "e":    "order-book-subscribe",
  "data": {
            "pair":      [
                          "BTC",
                          "USD"
                          ],
            "subscribe": false,
            "depth":    -1
            },
  "oid": "1435927928274_3_order-book-subscribe"
  }

第一条消息是订单簿的快照,这个消息就可以了。

但接下来,消息是“正好”更新,与此相同:

{ 
  'e':    'md_update',
  'data': { 
           'id':    92276361,
           'pair': 'BTC:USD',
           'time':  1505337293621,
           'bids':  [],
           'asks':  [
                      [4078.1692, 0.0]
                      ]
           }
  }

如何使用更新行更新首次收到的快照?

我如何知道,如果书中有一些匹配的话?

如果我订阅了depth = 1,那么更新是否仅用于最佳出价/最佳询问?

1 个答案:

答案 0 :(得分:2)

您只需将更新与内部订单簿的当前状态进行匹配即可。 API会向您发送更改,这些更改将在服务器端对订单进行。

示例:

更新消息是:

{ 
  'e':    'md_update',
  'data': { 
    'id':    92276361,
    'pair': 'BTC:USD',
    'time':  1505337293621,
    'bids':  [],
    'asks':  [
               [4070, 0.0],
               [4080, 1]
             ]
  }
}

我们看到 4070 价格的询问现在剩余的 0 。因此,请从订单簿中删除该条目。

要求 4080 现在剩余的 1 。您检查订单中是否已存在价格 4080 的询价。如果是,请将金额更新为 1 。如果您的订单中没有 4080 的问题,请在订单簿中添加价格 4080 且金额 1 的条目。