trading-signals
Version:
Technical indicators to run technical analysis with JavaScript / TypeScript.
31 lines (30 loc) • 1.21 kB
TypeScript
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;
};
}