指数移动平均线 9

问题描述 投票:0回答:0

我正在为 binance 开发一个机器人,我已经拥有与期货市场买卖相关的一切,但我有一个问题,我无法对 ema 9 进行编程,我什至找不到具有正确的 api BTCUSDT永续合约图表上的ema9价格,谁能帮帮我?

const axios = require("axios");

function calculateEMA(closes) {
    const ema = [];
    
    const sma9 = closes.slice(0, 9).reduce((acc, val) => acc + val, 0) / 9;
    ema.push(sma9);
    
    const multiplier = 2 / (7 + 1);
    
    for (let i = 1; i < closes.length; i++) {
      const prevEma = ema[i - 1];
      const close = closes[i];
    
      const currEma = (close - prevEma) * multiplier + prevEma;
      ema.push(currEma);
    }
    
    return ema[ema.length - 1];
  }
  


async function backtest() {
    const response = await axios.get("https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=4h&limit=20");
    const candles = response.data;

    const closes = candles.map(candle => parseFloat(candle[4]));
    const numCandles = closes.length;

    

    for (let i = 9; i < numCandles; i++) {
        const lastCloses = closes.slice(i - 9, i);
        const ema9 = calculateEMA(lastCloses);

        console.log(ema9);

    }

}

backtest();
javascript node.js trading binance
© www.soinside.com 2019 - 2024. All rights reserved.