【问题标题】:How Can I Do Calculation in Bid And Ask Price which I am getting From Binance Websocket Java Script如何计算从 Binance Websocket Java Script 获得的买入价和卖出价
【发布时间】:2022-01-02 11:38:57
【问题描述】:

我正在获取 Btc 期货买价和买价以及 Btc 现货卖价和买价的实时价格我想从 Btc 期货买价(即点差)中减去 Btc 现货卖价。我也将它们转换为 Float 但在控制台中我得到 NaN

let btcspotws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@bookTicker');
let btcspotbidElement = document.getElementById('btcspot-bid');
let btcspotaskElement = document.getElementById('btcspot-ask');

var btcspotask
var btcfut1ask
btcspotws.onmessage = (event) => {
    //console.log(event.data);

    let btcspotobject = JSON.parse(event.data);

    let btcspotbid = parseFloat(btcspotobject.b).toFixed(2);
    btcspotbidElement.innerText = btcspotbid;

    let btcspotask = parseFloat(btcspotobject.a).toFixed(2);
    btcspotaskElement.innerText = btcspotask;
};

let btcfut1ws = new WebSocket('wss://dstream.binance.com/stream?streams=btcusd_220325@bookTicker');
let btcfut1bidElement = document.getElementById('btcfut1-bid');
let btcfut1askElement = document.getElementById('btcfut1-ask');

btcfut1ws.onmessage = (event) => {
    //console.log(event.data);

    let btcfut1object = JSON.parse(event.data);

    let btcfut1bid = parseFloat(btcfut1object.data.b).toFixed(2);
    btcfut1bidElement.innerText = btcfut1bid;

    let btcfut1ask = parseFloat(btcfut1object.data.a).toFixed(2);
    btcfut1askElement.innerText = btcfut1ask;
    
};

console.log(btcspotaskElement - btcfut1bidElement)
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Live Crypto Price</title>

  <link rel="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300&display=swap" rel="stylesheet">

  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
  <link rel="icon" href="favicon.ico" type="image/x-icon">

  <link rel="stylesheet" href="style.css">
</head>

<body>

  <table style="width:70%">
    <tr>
      <th>BTC</th>
      <th>Ask</th>
      <th>Bid</th>
      <th>Spread</th>
    </tr>
    <tr>
      <td><b>BTC/USDT</b></td>
      <td id="btcspot-ask">Loading...</td>
      <td id="btcspot-bid">Loading...</td>
      <td>-</td>
    </tr>
    <tr>
      <td><b>BTC USD 25 Mar</b></td>
      <td id="btcfut1-ask">Loading...</td>
      <td id="btcfut1-bid">Loading...</td>
      <td id="btc-spread">Loading...</td>
    </tr>
  </table>


  </div>

  <script src="app.js"></script>
</body>

</html>

【问题讨论】:

    标签: javascript binance


    【解决方案1】:

    你很接近,我对你的sn-p做了一些调整:

    let btcspotbidElement = document.getElementById('btcspot-bid');
    let btcspotaskElement = document.getElementById('btcspot-ask');
    let btcfut1bidElement = document.getElementById('btcfut1-bid');
    let btcfut1askElement = document.getElementById('btcfut1-ask');
    let btcspreadElement = document.getElementById('btc-spread');
    
    let btcspotask;
    let btcspotbid;
    let btcfut1ask;
    let btcfut1bid;
    
    let btcspotws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@bookTicker');
    btcspotws.onmessage = (event) => {
        let btcspotobject = JSON.parse(event.data);
        btcspotbid = parseFloat(btcspotobject.b).toFixed(2);
        btcspotbidElement.innerText = btcspotbid;
        btcspotask = parseFloat(btcspotobject.a).toFixed(2);
        btcspotaskElement.innerText = btcspotask;
    };
    
    let btcfut1ws = new WebSocket('wss://dstream.binance.com/stream?streams=btcusd_220325@bookTicker');
    btcfut1ws.onmessage = (event) => {
        let btcfut1object = JSON.parse(event.data);
        btcfut1bid = parseFloat(btcfut1object.data.b).toFixed(2);
        btcfut1bidElement.innerText = btcfut1bid;
        btcfut1ask = parseFloat(btcfut1object.data.a).toFixed(2);
        btcfut1askElement.innerText = btcfut1ask;
    
        // Here you can display the spread:
        btcspreadElement.innerText = parseFloat(btcspotask-btcfut1bid).toFixed(2);
    };
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Live Crypto Price</title>
    
      <link rel="preconnect" href="https://fonts.gstatic.com">
      <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300&display=swap" rel="stylesheet">
    
      <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
      <link rel="icon" href="favicon.ico" type="image/x-icon">
    
      <link rel="stylesheet" href="style.css">
    </head>
    
    <body>
    
      <table style="width:70%">
        <tr>
          <th>BTC</th>
          <th>Ask</th>
          <th>Bid</th>
          <th>Spread</th>
        </tr>
        <tr>
          <td><b>BTC/USDT</b></td>
          <td id="btcspot-ask">Loading...</td>
          <td id="btcspot-bid">Loading...</td>
          <td>-</td>
        </tr>
        <tr>
          <td><b>BTC USD 25 Mar</b></td>
          <td id="btcfut1-ask">Loading...</td>
          <td id="btcfut1-bid">Loading...</td>
          <td id="btc-spread">Loading...</td>
        </tr>
      </table>
    
    
      </div>
    
      <script src="app.js"></script>
    </body>
    
    </html>

    【讨论】:

    • 兄弟你是最好的你解决了我从 2 天开始面临的问题
    猜你喜欢
    • 2021-10-09
    • 2019-09-06
    • 1970-01-01
    • 2018-04-22
    • 2022-12-03
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多