UNPKG

trading-signals

Version:

Technical indicators to run technical analysis with JavaScript / TypeScript.

31 lines (30 loc) 1.21 kB
import type { HighLowClose } from '../../base/Candle.type.js'; import { TechnicalIndicator, TradingSignal } from '../../base/Indicator.js'; import type { SignalThresholds } from '../../base/SignalThresholds.type.js'; export type StochasticResult = { stochD: number; stochK: number; }; export type StochasticOscillatorConfig = { dPeriod: number; kPeriod: number; kSlowingPeriod: number; }; export declare class StochasticOscillator extends TechnicalIndicator<StochasticResult, HighLowClose<number>> { #private; readonly candles: HighLowClose<number>[]; readonly kPeriod: number; readonly kSlowingPeriod: number; readonly dPeriod: number; constructor({ dPeriod, kPeriod, kSlowingPeriod }: StochasticOscillatorConfig, { overbought, oversold }?: SignalThresholds); getRequiredInputs(): number; update(candle: HighLowClose<number>, replace: boolean): { stochD: number; stochK: number; } | null; protected calculateSignal(result?: StochasticResult | null | undefined): "BEARISH" | "BULLISH" | "SIDEWAYS" | "UNKNOWN"; getSignal(): { state: (typeof TradingSignal)[keyof typeof TradingSignal]; hasChanged: boolean; }; }