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)