UNPKG

quant-zero

Version:

Node-Quant is a powerful Node.js package for developing and testing quantitative trading strategies in cryptocurrency markets, offering tools for backtesting and performance analysis.

37 lines (30 loc) 977 B
import { Indicator } from '@/lib/Indicator' import { parseIntoRows } from '@/utils/parseOHLCV' import ta from 'technicalindicators' export class AwesomeOscillator extends Indicator { public fastPeriod: number = 14 public slowPeriod: number = 21 constructor(key: string, options: AwesomeOscillatorOptions) { super({ name: 'Awesome Oscillator', key: key, description: 'Awesome Oscillator.', }) if (options.fastPeriod) this.fastPeriod = options.fastPeriod if (options.slowPeriod) this.slowPeriod = options.slowPeriod } generate(): number[] { const { highs, lows } = parseIntoRows(this.data) const awesomeOscillator = ta.AwesomeOscillator.calculate({ fastPeriod: this.fastPeriod, slowPeriod: this.slowPeriod, high: highs, low: lows, }) return awesomeOscillator } } export interface AwesomeOscillatorOptions { fastPeriod: number slowPeriod: number }