开发者社区 问答 正文

Binance:部分书本深度流

请,您可以将代码示例转换为JavaScript(jQuery,WebSocket)和PHP?

https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md

打开流到wss://stream.binance.com:9443 / ws / bnbbtc @ depth。 缓冲从流中接收到的事件。 从https://www.binance.com/api/v1/depth?symbol=BNBBTC&limit=1000获取深度快照。 删除快照中u为<= lastUpdateId的所有事件。 第一个处理的事件应具有U <= lastUpdateId + 1和u> = lastUpdateId + 1。 在收听流时,每个新事件的U都应等于前一个事件的u + 1。 每个事件中的数据是价格水平的绝对数量。 如果数量为0,则删除价格水平。 接收到一个事件,该事件会消除本地订单簿中未包含的价格水平,这是正常的。

  return Number.parseFloat(val).toFixed(limit);
}
$("#get-depth").on('click', function(){
  let socket = new WebSocket("wss://stream.binance.com:9443/ws/btcusdt@depth");
  socket.onopen = function(){};
  socket.onclose = function(event){};
  socket.onmessage = function(event){
    obj = JSON.parse(event.data);
    let bR = '';
    let aR = '';
    let b = obj.b;
    let a = obj.a;
    $.each(b, function(k, v){
      let bSum = parseFloat(v[0]) * parseFloat(v[1]);
      bR = bR + '<tr><td>'+v[0]+'</td><td>'+v[1]+'</td><td>'+financial(bSum)+'</td></tr>';
    });
    $.each(a, function(k, v){
      let aSum = parseFloat(v[0]) * parseFloat(v[1]);
      aR = aR + '<tr><td>'+v[0]+'</td><td>'+v[1]+'</td><td>'+financial(aSum)+'</td></tr>';
    });
    $("#depth-bids tbody").html(bR);
    $("#depth-asks tbody").html(aR);
  };
});
<button id="get-depth">Get Depth</button>
<table id="#depth-bids"><tbody></tbody></table>
<table id="#depth-asks"><tbody></tbody></table>

展开
收起
社区秘书 2019-12-09 16:59:30 1216 分享 版权
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: