首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在标书中进行计算,并询问从Binance Websocket Java脚本获得的价格

我如何在标书中进行计算,并询问从Binance Websocket Java脚本获得的价格
EN

Stack Overflow用户
提问于 2022-01-02 11:38:57
回答 1查看 297关注 0票数 0

我得到了Btc期货报价和Btc现货报价,我想从Btc期货报价中减去Btc现货报价,即价差。我也将它们转换为浮动,但是在控制台中,我得到了NaN

代码语言:javascript
复制
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)
代码语言:javascript
复制
<!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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-02 11:53:27

你离我很近,我对你的片段做了一些调整:

代码语言:javascript
复制
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);
};
代码语言:javascript
复制
<!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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70555628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档