UNPKG

stock-indicator

Version:

Stock Indicator Library

28 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CCI = CCI; const common_1 = require("../common"); /** * - CCI (Commodity Channel Index) * @param {number[]} CLOSE - closing prices series * @param {number[]} HIGH - highest prices series * @param {number[]} LOW - lowest prices series * @param {number} N - number of periods,default 14 * @returns {{ CCI: TMixed[] }} - CCI values * TYP:=(HIGH+LOW+CLOSE)/3; * CCI:(TYP-MA(TYP,N))*1000/(15*AVEDEV(TYP,N)); */ function CCI(CLOSE, HIGH, LOW, N = 14) { (0, common_1.checkArrayOfNumbers)(CLOSE, "CLOSE"); (0, common_1.checkArrayOfNumbers)(HIGH, "HIGH"); (0, common_1.checkArrayOfNumbers)(LOW, "LOW"); (0, common_1.checkNumber)(N, 2, 1000, "N", "CCI"); const typ = CLOSE.map((cur, index) => (HIGH[index] + LOW[index] + cur) / 3); const mytyp = (0, common_1.funMA)(typ, N); const avedevtype = (0, common_1.funAVEDEV)(typ, N); const CCI = typ.map((cur, index) => mytyp[index] === null || avedevtype[index] === null ? null : (0, common_1.funRound)(((cur - mytyp[index]) * 1000) / (15 * avedevtype[index]), 3)); return { CCI }; } //# sourceMappingURL=cci.js.map