UNPKG

@4ex/indicators

Version:

Technical indicators for ohlc charts written in TypeScript

55 lines (54 loc) 2.14 kB
import { Stochastic as StochIndicator } from 'technicalindicators'; import { OHLC } from '../types'; import { IndicatorInput, Indicator } from './base-indicator'; export interface StochasticOscillatorInput extends IndicatorInput { period?: number; signalPeriod?: number; } export interface StochasticOscillatorOutput { k: number; d?: number; } /** * A stochastic oscillator is a momentum indicator comparing a particular * closing price of a security to a range of its prices over a certain * period of time. The sensitivity of the oscillator to market movements * is reducible by adjusting that time period or by taking a moving average * of the result. It is used to generate overbought and oversold trading * signals, utilizing a 0–100 bounded range of values. */ export declare class Stoch implements Indicator { indicator: StochIndicator; period: number; signalPeriod: number; /** * @param {OHLC[]} series candles series * @param {number} period period for indicator * @param {number} signalPeriod period for indicator */ constructor(series: OHLC[], period?: number, signalPeriod?: number); /** * Retrieve Stoch values for instance * @return {StochasticOscillatorOutput[]} values for instance data */ getResults(): StochasticOscillatorOutput[]; /** * Calculate Stoch to next tick * @param {OHLC} candle new candle to add to series * @return {StochasticOscillatorOutput | undefined} next Stoch value or * undefined if period is greater than actual series length */ next(candle: OHLC): StochasticOscillatorOutput | undefined; /** * Create instance from data * @param {StochasticOscillatorInput} input input data * @return {Stoch} Stoch instance */ static generator({ series, period, signalPeriod, }: StochasticOscillatorInput): Stoch; /** * Get Stoch values from input * @param {StochasticOscillatorInput} input input data * @return {StochasticOscillatorOutput[]} Stoch values */ static calculate(input: StochasticOscillatorInput): StochasticOscillatorOutput[]; }