Как Binance API рассчитывает priceChangePercent за 24 часа - PullRequest
0 голосов
/ 14 мая 2018

Я занимаюсь разработкой своего собственного приложения, в котором я хочу получать данные о ценах в течение 24 часов. Я прочитал документы, предоставленные Binance на https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md

Затем я пытаюсь получить статистику изменения цены тикера за 24 часа , используя ссылку https://api.binance.com/api/v1/ticker/24hr?symbol=BTCUSDT. Ответ:

{
  "symbol": "BTCUSDT",
  "priceChange": "111.60000000",
  "priceChangePercent": "1.314",
  "weightedAvgPrice": "8563.97044287",
  "prevClosePrice": "8491.29000000",
  "lastPrice": "8604.60000000",
  "lastQty": "0.40675900",
  "bidPrice": "8602.69000000",
  "bidQty": "0.02000000",
  "askPrice": "8610.79000000",
  "askQty": "0.13200000",
  "openPrice": "8493.00000000",
  "highPrice": "8763.36000000",
  "lowPrice": "8298.00000000",
  "volume": "26054.86683400",
  "quoteVolume": "223133109.45927182",
  "openTime": 1526170656448,
  "closeTime": 1526257056448,
  "firstId": 42721797,
  "lastId": 42939912,
  "count": 218116
}

Но когда я пытаюсь загрузить данные Kline / Candlestick , используя эту ссылку: https://api.binance.com/api/v1/klines?symbol=BNBBTC&interval=15m&startTime=1526170656448&endTime=1526257056448 (в которой startTime и endTime установлено в точно так же, как openTime и closeTime в ответе выше). И результат:

[
  [
    1526171400000, // Open time
    "0.00154030", // Open
    "0.00154560", // High
    "0.00153600", // Low
    "0.00153780", // Close
    "5716.55000000", // Volume
    1526172299999, // Close time
    "8.79961911", // Quote asset volume
    729, // Number of trades
    "2149.12000000", // Taker buy base asset volume
    "3.30996242", // Taker buy quote asset volume
    "0" // Ignore
  ],

.......
 [
    1526256900000,
    "0.00150450",
    "0.00150680",
    "0.00150430",
    "0.00150590",
    "985.40000000",
    1526257799999,
    "1.48381883",
    198,
    "508.80000000",
    "0.76612330",
    "0"
  ]

Что касается процента изменения цены, я попытался рассчитать, используя цену закрытия последнего интервала и цену открытия первого интервала (0,00150590 / 0,00154030 - 1 = -2.2%), но результат -2.2% полностью отличается от "priceChangePercent": "1.314" в 24-часовой статистике изменения цены тикера.

Мой вопрос, как Binance API рассчитывает процент изменения цены за 24-часовой период, относящийся к данным Kline / Candlestick? Большое спасибо за ваше время.

1 Ответ

0 голосов
/ 18 октября 2018

priceChangePercent вычисляется путем взятия

(openPrice - lastPrice) / (openPrice)

надеюсь, что помогло!

...