UNPKG

trading-signals

Version:

Technical indicators to run technical analysis with JavaScript / TypeScript.

34 lines 1.18 kB
import { TrendIndicatorSeries, TradingSignal } from '../../base/Indicator.js'; import { pushUpdate } from '../../util/pushUpdate.js'; export class ROC extends TrendIndicatorSeries { prices = []; interval; constructor(interval) { super(); this.interval = interval; } getRequiredInputs() { return this.interval + 1; } update(price, replace) { pushUpdate({ array: this.prices, item: price, maxLength: this.getRequiredInputs(), replace: replace }); if (this.prices.length === this.getRequiredInputs()) { const comparePrice = this.prices[0]; return this.setResult((price - comparePrice) / comparePrice, replace); } return null; } calculateSignalState(result) { const hasResult = result !== null && result !== undefined; const isBearish = hasResult && result < 0; switch (true) { case !hasResult: return TradingSignal.UNKNOWN; case isBearish: return TradingSignal.BEARISH; default: return TradingSignal.BULLISH; } } } //# sourceMappingURL=ROC.js.map