UNPKG

quantitative

Version:

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

43 lines (35 loc) 1.31 kB
export async function williamsFractal(periods, timeseries) { if (periods < 2) return null let upflagDownFrontier = true, upflagUpFrontier0 = true, upflagUpFrontier1 = true, upflagUpFrontier2 = true, upflagUpFrontier3 = true, upflagUpFrontier4 = true for (let i = 1; i < periods; i++) { upflagDownFrontier = upflagDownFrontier && high[n - i] < high[n] upflagUpFrontier0 = upflagUpFrontier0 && high[n + i] < high[n] upflagUpFrontier1 = upflagUpFrontier1 && high[n + 1] <= high[n] && high[n + i + 1] < high[n] upflagUpFrontier2 = upflagUpFrontier2 && high[n + 1] <= high[n] && high[n + 2] <= high[n] && high[n + i + 2] < high[n] upflagUpFrontier3 = upflagUpFrontier3 && high[n + 1] <= high[n] && high[n + 2] <= high[n] && high[n + 3] <= high[n] && high[n + i + 3] < high[n] upflagUpFrontier4 = upflagUpFrontier4 && high[n + 1] <= high[n] && high[n + 2] <= high[n] && high[n + 3] <= high[n] && high[n + 4] <= high[n] && high[n + i + 4] < high[n] } }