JSFiddle - React, Tailwind, and code Playground

by joplomacedo

JavaScript

function getSma({
  bars,
  source = 'close',
  interval
}) {
  const relevantBars = bars.slice(-interval);
  const sum = relevantBars.reduce((prev, curr) => {
  	console.log(curr)
    return prev + curr[source];
  }, 0);
 

  return (sum / interval).toFixed(4);
}


const bars = [{
    open: 1,
    close: 1.5
  },
  {
    open: 1.5,
    close: 1.6
  },
  {
    open: 1.5,
    close: 1.2
  }, {
    open: 1.21,
    close: 1.7
  },
  {
    open: 1.71,
    close: 1.91
  },
  {
    open: 1.92,
    close: 2
  },
  {
    open: 1.99,
    close: 2.1
  },
  {
    open: 2,
    close: 1.8
  },
  {
    open: 1.8,
    close: 1.81
  }, {
    open: 1.83,
    close: 1.95
  },
   {
    open: 1.95,
    close: 1.95
  },
  {
    open: 1.95,
    close: 2.3
  }
]

const sma9Val = getSma({
	bars,
  interval: 5
})

console.log('9 SMA', sma9Val)