UNPKG

quantitative

Version:

Apply indicators and strategies to time-series price data natively in Javascript.

27 lines (23 loc) 699 B
export async function calculateSMA(arr, range = false) { if (!range) range = arr.length let sum = 0 if (range > arr.length) range = arr.length for (let ii = arr.length - range; ii < arr.length; ii++) { sum += arr[ii] } return sum / range } export async function calculateEMA(arr, range = false) { if (!range) range = arr.length const yma = arr.reduce( (p, n, i) => i ? p.concat( (2 * n) / (range + 1) + (p[p.length - 1] * (range - 1)) / (range + 1) ) : p, [arr[0]] ) return yma[yma.length - 1] }