Files
wickra/bindings/node/index.d.ts
T
kingchenc 124efb4432 feat: TA-Lib candlestick patterns — tasuki-gap/unique-three-river/marubozu-pair/concealing-baby-swallow (part 9 of 9) (#141)
The final batch of the TA-Lib candlestick roadmap. Adds five patterns, each a streaming `Indicator<Input = Candle, Output = f64>` emitting the family's uniform `±1.0 / 0.0` sign convention, fully wired across the Rust core, Python / Node / WASM bindings, fuzz target and reference tests.

- **Tasuki Gap** (`CDLTASUKIGAP`) — a 3-bar continuation: two same-coloured candles gap in the trend direction, then an opposite candle opens within the second body and closes back into the gap without filling it; upside +1, downside -1.
- **Unique Three River** (`CDLUNIQUE3RIVER`) — a 3-bar bullish reversal: a long black candle, a black candle probing a new low with its body inside the first, then a small white candle held below it; bullish +1.
- **Closing Marubozu** (`CDLCLOSINGMARUBOZU`) — a single long-bodied candle with no shadow on the close end; +1 (white, closes at the high) or -1 (black, closes at the low).
- **Opening Marubozu** — a single long-bodied candle with no shadow on the open end; +1 (white, opens at the low) or -1 (black, opens at the high). No direct TA-Lib equivalent — completes the pair with the closing marubozu.
- **Concealing Baby Swallow** (`CDLCONCEALBABYSWALL`) — a rare 4-bar bullish capitulation: two black marubozu, a black candle gapping down with an upper shadow into the second, then a large black candle engulfing it entirely; bullish +1.

Body and shadow thresholds follow the geometric house style (fixed fractions of the bar range) rather than TA-Lib's rolling averages.

Counter 284 → 289 (mod-count == lib counted block; FAMILIES total 279 → 284).

Stacked on #140 (`feat/cdl-gap-methods`); base retargets to `main` as the stack merges down.
2026-06-02 17:27:39 +02:00

2996 lines
98 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* tslint:disable */
/* eslint-disable */
/* auto-generated by NAPI-RS */
/** Library version (matches the Rust crate version). */
export declare function version(): string
/** Lead/lag result: the offset that maximises correlation, and that correlation. */
export interface LeadLagValue {
/** Offset that maximises `|corr(a, b shifted)|`. Positive ⇒ `a` leads `b`. */
lag: number
/** Signed correlation at that lag, in `[-1, 1]`. */
correlation: number
}
/** Cointegration result: hedge ratio, current spread, and the ADF statistic. */
export interface CointegrationValue {
/** EngleGranger hedge ratio (OLS slope of `a` on `b`). */
hedgeRatio: number
/** Current spread (regression residual) `a - (alpha + beta*b)`. */
spread: number
/**
* Augmented DickeyFuller statistic on the spread; more negative ⇒ more
* strongly mean-reverting.
*/
adfStat: number
}
/** Relative-strength triple: the a/b ratio, its moving average, and its RSI. */
export interface RelativeStrengthValue {
/** Raw ratio `a / b`. */
ratio: number
/** Moving average of the ratio. */
ratioMa: number
/** RSI of the ratio. */
ratioRsi: number
}
/** MACD triple: macd line, signal line, histogram. */
export interface MacdValue {
macd: number
signal: number
histogram: number
}
export interface BollingerValue {
upper: number
middle: number
lower: number
stddev: number
}
export interface StochValue {
k: number
d: number
}
export interface AdxValue {
plusDi: number
minusDi: number
adx: number
}
export interface KeltnerValue {
upper: number
middle: number
lower: number
}
export interface DonchianValue {
upper: number
middle: number
lower: number
}
export interface AroonValue {
up: number
down: number
}
export interface KstValue {
kst: number
signal: number
}
export interface ZeroLagMacdValue {
macd: number
signal: number
histogram: number
}
export interface AlligatorValue {
jaw: number
teeth: number
lips: number
}
export interface SuperTrendValue {
value: number
direction: number
}
export interface ChandelierExitValue {
longStop: number
shortStop: number
}
export interface ChandeKrollStopValue {
stopLong: number
stopShort: number
}
export interface DonchianStopValue {
stopLong: number
stopShort: number
}
/** Vortex Indicator pair: `VI+` and `VI-`. */
export interface VortexValue {
plus: number
minus: number
}
/** Random Walk Index pair: `RWI_High` and `RWI_Low`. */
export interface RwiValue {
high: number
low: number
}
/** Wave Trend Oscillator pair: `wt1` (channel index) and `wt2` (signal SMA). */
export interface WaveTrendValue {
wt1: number
wt2: number
}
export interface MaEnvelopeValue {
upper: number
middle: number
lower: number
}
export interface AccelerationBandsValue {
upper: number
middle: number
lower: number
}
export interface StarcBandsValue {
upper: number
middle: number
lower: number
}
export interface AtrBandsValue {
upper: number
middle: number
lower: number
}
export interface HurstChannelValue {
upper: number
middle: number
lower: number
}
export interface LinRegChannelValue {
upper: number
middle: number
lower: number
}
export interface StandardErrorBandsValue {
upper: number
middle: number
lower: number
}
export interface DoubleBollingerValue {
upperOuter: number
upperInner: number
middle: number
lowerInner: number
lowerOuter: number
}
export interface TtmSqueezeValue {
squeeze: number
momentum: number
}
export interface FractalChaosBandsValue {
upper: number
lower: number
}
export interface VwapStdDevBandsValue {
upper: number
middle: number
lower: number
stddev: number
}
export interface ClassicPivotsValue {
pp: number
r1: number
r2: number
r3: number
s1: number
s2: number
s3: number
}
export interface FibonacciPivotsValue {
pp: number
r1: number
r2: number
r3: number
s1: number
s2: number
s3: number
}
export interface CamarillaValue {
pp: number
r1: number
r2: number
r3: number
r4: number
s1: number
s2: number
s3: number
s4: number
}
export interface WoodiePivotsValue {
pp: number
r1: number
r2: number
s1: number
s2: number
}
export interface DemarkPivotsValue {
pp: number
r1: number
s1: number
}
export interface WilliamsFractalsValue {
/** Up fractal price; NaN when no up fractal was confirmed on this bar. */
up: number
/** Down fractal price; NaN when no down fractal was confirmed on this bar. */
down: number
}
export interface ZigZagValue {
swing: number
direction: number
}
/** TD Sequential output triple: setup count, countdown count, direction. */
export interface TdSequentialValue {
setup: number
countdown: number
direction: number
}
/** TD Lines output pair: latest TDST resistance / support (NaN if unset). */
export interface TdLinesValue {
resistance: number
support: number
}
/** TD Range Projection output pair: projected next-bar high / low. */
export interface TdRangeProjectionValue {
high: number
low: number
}
/**
* TD Risk Level output pair: buy-side / sell-side protective stop levels
* (NaN if unset).
*/
export interface TdRiskLevelValue {
buyRisk: number
sellRisk: number
}
export interface MamaValue {
mama: number
fama: number
}
/**
* Ichimoku output: five lines, any of which may be `NaN` while the indicator
* is still warming up.
*/
export interface IchimokuValue {
tenkan: number
kijun: number
senkouA: number
senkouB: number
chikou: number
}
export interface HeikinAshiValue {
open: number
high: number
low: number
close: number
}
export interface ValueAreaValue {
poc: number
vah: number
val: number
}
export interface InitialBalanceValue {
high: number
low: number
}
export interface OpeningRangeValue {
high: number
low: number
breakoutDistance: number
}
/** One order-book depth snapshot for batch evaluation. */
export interface ObSnapshot {
bidPx: Array<number>
bidSz: Array<number>
askPx: Array<number>
askSz: Array<number>
}
/** One price bucket of a footprint. */
export interface FootprintLevelValue {
price: number
bidVol: number
askVol: number
}
/** The liquidation feature vector for one tick. */
export interface LiquidationFeaturesValue {
long: number
short: number
net: number
total: number
imbalance: number
}
export type SmaNode = SMA
export declare class SMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EmaNode = EMA
export declare class EMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type WmaNode = WMA
export declare class WMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RsiNode = RSI
export declare class RSI {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DemaNode = DEMA
export declare class DEMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TemaNode = TEMA
export declare class TEMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HmaNode = HMA
export declare class HMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RocNode = ROC
export declare class ROC {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TrixNode = TRIX
export declare class TRIX {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SmmaNode = SMMA
export declare class SMMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TrimaNode = TRIMA
export declare class TRIMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ZlemaNode = ZLEMA
export declare class ZLEMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MomNode = MOM
export declare class MOM {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CmoNode = CMO
export declare class CMO {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DpoNode = DPO
export declare class DPO {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StdDevNode = StdDev
export declare class StdDev {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type UlcerIndexNode = UlcerIndex
export declare class UlcerIndex {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VerticalHorizontalFilterNode = VerticalHorizontalFilter
export declare class VerticalHorizontalFilter {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ZScoreNode = ZScore
export declare class ZScore {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type McGinleyDynamicNode = McGinleyDynamic
export declare class McGinleyDynamic {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FramaNode = FRAMA
export declare class FRAMA {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SuperSmootherNode = SuperSmoother
export declare class SuperSmoother {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FisherTransformNode = FisherTransform
export declare class FisherTransform {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DecyclerNode = Decycler
export declare class Decycler {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CenterOfGravityNode = CenterOfGravity
export declare class CenterOfGravity {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CyberneticCycleNode = CyberneticCycle
export declare class CyberneticCycle {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type InstantaneousTrendlineNode = InstantaneousTrendline
export declare class InstantaneousTrendline {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EhlersStochasticNode = EhlersStochastic
export declare class EhlersStochastic {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RviVolatilityNode = RVIVolatility
export declare class RVIVolatility {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VarianceNode = Variance
export declare class Variance {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CoefficientOfVariationNode = CoefficientOfVariation
export declare class CoefficientOfVariation {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SkewnessNode = Skewness
export declare class Skewness {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KurtosisNode = Kurtosis
export declare class Kurtosis {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StandardErrorNode = StandardError
export declare class StandardError {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DetrendedStdDevNode = DetrendedStdDev
export declare class DetrendedStdDev {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RSquaredNode = RSquared
export declare class RSquared {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MedianAbsoluteDeviationNode = MedianAbsoluteDeviation
export declare class MedianAbsoluteDeviation {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AutocorrelationNode = Autocorrelation
export declare class Autocorrelation {
constructor(period: number, lag: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HurstExponentNode = HurstExponent
export declare class HurstExponent {
constructor(period: number, chunks: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PearsonCorrelationNode = PearsonCorrelation
export declare class PearsonCorrelation {
constructor(period: number)
update(x: number, y: number): number | null
/**
* Batch over two equally-sized arrays. Returns a length-`n` array
* with `NaN` for warmup positions.
*/
batch(x: Array<number>, y: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BetaNode = Beta
export declare class Beta {
constructor(period: number)
update(x: number, y: number): number | null
/**
* Batch over two equally-sized arrays. Returns a length-`n` array
* with `NaN` for warmup positions.
*/
batch(x: Array<number>, y: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PairwiseBetaNode = PairwiseBeta
export declare class PairwiseBeta {
constructor(period: number)
update(x: number, y: number): number | null
/**
* Batch over two equally-sized arrays. Returns a length-`n` array
* with `NaN` for warmup positions.
*/
batch(x: Array<number>, y: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SpearmanCorrelationNode = SpearmanCorrelation
export declare class SpearmanCorrelation {
constructor(period: number)
update(x: number, y: number): number | null
/**
* Batch over two equally-sized arrays. Returns a length-`n` array
* with `NaN` for warmup positions.
*/
batch(x: Array<number>, y: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PairSpreadZScoreNode = PairSpreadZScore
/**
* Pair spread z-score: two ctor params (`betaPeriod`, `zPeriod`), one `(a, b)`
* price pair per update, a single z-score out.
*/
export declare class PairSpreadZScore {
constructor(betaPeriod: number, zPeriod: number)
update(a: number, b: number): number | null
/**
* Batch over two equally-sized arrays of prices. Returns a length-`n`
* array with `NaN` for warmup positions.
*/
batch(a: Array<number>, b: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LeadLagCrossCorrelationNode = LeadLagCrossCorrelation
export declare class LeadLagCrossCorrelation {
constructor(window: number, maxLag: number)
update(a: number, b: number): LeadLagValue | null
/**
* Batch over two equally-sized arrays. Returns a flat array of length
* `2 * n`, interleaved per row as `[lag0, corr0, lag1, corr1, ...]`. Read
* column `j` of row `i` as `result[i * 2 + j]`. Warmup rows are `NaN`.
*/
batch(a: Array<number>, b: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CointegrationNode = Cointegration
export declare class Cointegration {
constructor(period: number, adfLags: number)
update(a: number, b: number): CointegrationValue | null
/**
* Batch over two equally-sized arrays. Returns a flat array of length
* `3 * n`, interleaved per row as `[hedgeRatio0, spread0, adfStat0, ...]`.
* Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`.
*/
batch(a: Array<number>, b: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RelativeStrengthAbNode = RelativeStrengthAB
export declare class RelativeStrengthAB {
constructor(maPeriod: number, rsiPeriod: number)
update(a: number, b: number): RelativeStrengthValue | null
/**
* Batch over two equally-sized arrays. Returns a flat array of length
* `3 * n`, interleaved per row as `[ratio0, ratioMa0, ratioRsi0, ...]`.
* Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`.
*/
batch(a: Array<number>, b: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MacdNode = MACD
export declare class MACD {
constructor(fast: number, slow: number, signal: number)
update(value: number): MacdValue | null
/**
* Batch over a price array. Returns a flat array of length `3 * n`,
* interleaved per row as `[macd0, signal0, histogram0, macd1, ...]`.
* Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`.
*/
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BollingerNode = BollingerBands
export declare class BollingerBands {
constructor(period: number, multiplier: number)
update(value: number): BollingerValue | null
/**
* Batch over a price array. Returns a flat array of length `4 * n`,
* interleaved per row as `[upper0, middle0, lower0, stddev0, upper1, ...]`.
* Read column `j` of row `i` as `result[i * 4 + j]`. Warmup rows are `NaN`.
*/
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AtrNode = ATR
export declare class ATR {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StochNode = Stochastic
export declare class Stochastic {
constructor(kPeriod: number, dPeriod: number)
update(high: number, low: number, close: number): StochValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ObvNode = OBV
export declare class OBV {
constructor()
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdxNode = ADX
export declare class ADX {
constructor(period: number)
update(high: number, low: number, close: number): AdxValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdxrNode = ADXR
export declare class ADXR {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CciNode = CCI
export declare class CCI {
constructor(period: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
}
export type WilliamsRNode = WilliamsR
export declare class WilliamsR {
constructor(period: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
}
export type MfiNode = MFI
export declare class MFI {
constructor(period: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
}
export type PsarNode = PSAR
export declare class PSAR {
constructor(afStart: number, afStep: number, afMax: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
}
export type KeltnerNode = Keltner
export declare class Keltner {
constructor(emaPeriod: number, atrPeriod: number, multiplier: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number): KeltnerValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
}
export type DonchianNode = Donchian
export declare class Donchian {
constructor(period: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number): DonchianValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
}
export type VwapNode = VWAP
export declare class VWAP {
constructor()
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
}
export type RollingVwapNode = RollingVWAP
export declare class RollingVWAP {
constructor(period: number)
get period(): number
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
}
export type AoNode = AwesomeOscillator
export declare class AwesomeOscillator {
constructor(fast: number, slow: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
}
export type AroonNode = Aroon
export declare class Aroon {
constructor(period: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number): AroonValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
}
export type InertiaNode = Inertia
export declare class Inertia {
constructor(rviPeriod: number, linregPeriod: number)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ConnorsRsiNode = ConnorsRSI
export declare class ConnorsRSI {
constructor(periodRsi: number, periodStreak: number, periodRank: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LaguerreRsiNode = LaguerreRSI
export declare class LaguerreRSI {
constructor(gamma: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SmiNode = SMI
export declare class SMI {
constructor(period: number, dPeriod: number, d2Period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KstNode = KST
export declare class KST {
constructor(roc1: number, roc2: number, roc3: number, roc4: number, sma1: number, sma2: number, sma3: number, sma4: number, signal: number)
static classic(): KstNode
update(value: number): KstValue | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PgoNode = PGO
export declare class PGO {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RviNode = RVI
export declare class RVI {
constructor(period: number)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AwesomeOscillatorHistogramNode = AwesomeOscillatorHistogram
export declare class AwesomeOscillatorHistogram {
constructor(fast: number, slow: number, smaPeriod: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StcNode = STC
export declare class STC {
constructor(fast: number, slow: number, schaffPeriod: number, factor: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ElderImpulseNode = ElderImpulse
export declare class ElderImpulse {
constructor(emaPeriod: number, macdFast: number, macdSlow: number, macdSignal: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ZeroLagMacdNode = ZeroLagMACD
export declare class ZeroLagMACD {
constructor(fast: number, slow: number, signal: number)
update(value: number): ZeroLagMacdValue | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CfoNode = CFO
export declare class CFO {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ApoNode = APO
export declare class APO {
constructor(fast: number, slow: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KamaNode = KAMA
export declare class KAMA {
constructor(erPeriod: number, fast: number, slow: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(value: number): number | null
batch(prices: Array<number>): Array<number>
}
export type EvwmaNode = EVWMA
export declare class EVWMA {
constructor(period: number)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AlligatorNode = Alligator
export declare class Alligator {
constructor(jaw: number, teeth: number, lips: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number): AlligatorValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
}
export type JmaNode = JMA
export declare class JMA {
constructor(period: number, phase: number, power: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(value: number): number | null
batch(prices: Array<number>): Array<number>
}
export type VidyaNode = VIDYA
export declare class VIDYA {
constructor(period: number, cmoPeriod: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(value: number): number | null
batch(prices: Array<number>): Array<number>
}
export type AlmaNode = ALMA
export declare class ALMA {
constructor(period: number, offset: number, sigma: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(value: number): number | null
batch(prices: Array<number>): Array<number>
}
export type T3Node = T3
export declare class T3 {
constructor(period: number, v: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TsiNode = TSI
export declare class TSI {
constructor(long: number, short: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PmoNode = PMO
export declare class PMO {
constructor(smoothing1: number, smoothing2: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TiiNode = TII
export declare class TII {
constructor(smaPeriod: number, devPeriod: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdlNode = ADL
export declare class ADL {
constructor()
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VolumePriceTrendNode = VolumePriceTrend
export declare class VolumePriceTrend {
constructor()
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChaikinMoneyFlowNode = ChaikinMoneyFlow
export declare class ChaikinMoneyFlow {
constructor(period: number)
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChaikinOscillatorNode = ChaikinOscillator
export declare class ChaikinOscillator {
constructor(fast: number, slow: number)
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ForceIndexNode = ForceIndex
export declare class ForceIndex {
constructor(period: number)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type NviNode = NVI
export declare class NVI {
constructor(baseline?: number | undefined | null)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PviNode = PVI
export declare class PVI {
constructor(baseline?: number | undefined | null)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VolumeOscillatorNode = VolumeOscillator
export declare class VolumeOscillator {
constructor(fast: number, slow: number)
update(volume: number): number | null
batch(volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KvoNode = KVO
export declare class KVO {
constructor(fast: number, slow: number)
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdOscillatorNode = WilliamsAD
export declare class WilliamsAD {
constructor()
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AnchoredVwapNode = AnchoredVWAP
export declare class AnchoredVWAP {
constructor()
setAnchor(): void
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DemandIndexNode = DemandIndex
export declare class DemandIndex {
constructor(period: number)
update(high: number, low: number, close: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TsvNode = TSV
export declare class TSV {
constructor(period: number)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VzoNode = VZO
export declare class VZO {
constructor(period: number)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MarketFacilitationIndexNode = MarketFacilitationIndex
export declare class MarketFacilitationIndex {
constructor()
update(high: number, low: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EaseOfMovementNode = EaseOfMovement
export declare class EaseOfMovement {
constructor(period: number, divisor: number)
update(high: number, low: number, volume: number): number | null
batch(high: Array<number>, low: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SuperTrendNode = SuperTrend
export declare class SuperTrend {
constructor(atrPeriod: number, multiplier: number)
update(high: number, low: number, close: number): SuperTrendValue | null
/**
* Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`.
* Warmup positions are `NaN`.
*/
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChandelierExitNode = ChandelierExit
export declare class ChandelierExit {
constructor(period: number, multiplier: number)
update(high: number, low: number, close: number): ChandelierExitValue | null
/**
* Returns `[long0, short0, long1, short1, ...]`, length `2 * n`. Warmup
* positions are `NaN`.
*/
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChandeKrollStopNode = ChandeKrollStop
export declare class ChandeKrollStop {
constructor(atrPeriod: number, atrMultiplier: number, stopPeriod: number)
update(high: number, low: number, close: number): ChandeKrollStopValue | null
/**
* Returns `[long0, short0, long1, short1, ...]`, length `2 * n`. Warmup
* positions are `NaN`.
*/
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AtrTrailingStopNode = AtrTrailingStop
export declare class AtrTrailingStop {
constructor(atrPeriod: number, multiplier: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HiLoActivatorNode = HiLoActivator
export declare class HiLoActivator {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VoltyStopNode = VoltyStop
export declare class VoltyStop {
constructor(atrPeriod: number, multiplier: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type YoyoExitNode = YoyoExit
export declare class YoyoExit {
constructor(atrPeriod: number, multiplier: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
inTrade(): boolean
}
export type DonchianStopNode = DonchianStop
export declare class DonchianStop {
constructor(period: number)
update(high: number, low: number): DonchianStopValue | null
/**
* Returns `[long0, short0, long1, short1, ...]`, length `2 * n`. Warmup
* positions are `NaN`.
*/
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PercentageTrailingStopNode = PercentageTrailingStop
export declare class PercentageTrailingStop {
constructor(percent: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StepTrailingStopNode = StepTrailingStop
export declare class StepTrailingStop {
constructor(stepSize: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RenkoTrailingStopNode = RenkoTrailingStop
export declare class RenkoTrailingStop {
constructor(blockSize: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TypicalPriceNode = TypicalPrice
export declare class TypicalPrice {
constructor()
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MedianPriceNode = MedianPrice
export declare class MedianPrice {
constructor()
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type WeightedCloseNode = WeightedClose
export declare class WeightedClose {
constructor()
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LinearRegressionNode = LinearRegression
export declare class LinearRegression {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LinRegSlopeNode = LinRegSlope
export declare class LinRegSlope {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AcceleratorOscillatorNode = AcceleratorOscillator
export declare class AcceleratorOscillator {
constructor(aoFast: number, aoSlow: number, signalPeriod: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BalanceOfPowerNode = BalanceOfPower
export declare class BalanceOfPower {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChoppinessIndexNode = ChoppinessIndex
export declare class ChoppinessIndex {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TrueRangeNode = TrueRange
export declare class TrueRange {
constructor()
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ChaikinVolatilityNode = ChaikinVolatility
export declare class ChaikinVolatility {
constructor(emaPeriod: number, rocPeriod: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type YangZhangVolatilityNode = YangZhangVolatility
export declare class YangZhangVolatility {
constructor(period: number, tradingPeriods: number)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RogersSatchellVolatilityNode = RogersSatchellVolatility
export declare class RogersSatchellVolatility {
constructor(period: number, tradingPeriods: number)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type GarmanKlassVolatilityNode = GarmanKlassVolatility
export declare class GarmanKlassVolatility {
constructor(period: number, tradingPeriods: number)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ParkinsonVolatilityNode = ParkinsonVolatility
export declare class ParkinsonVolatility {
constructor(period: number, tradingPeriods: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LinRegAngleNode = LinRegAngle
export declare class LinRegAngle {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BollingerBandwidthNode = BollingerBandwidth
export declare class BollingerBandwidth {
constructor(period: number, multiplier: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PercentBNode = PercentB
export declare class PercentB {
constructor(period: number, multiplier: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type NatrNode = NATR
export declare class NATR {
constructor(period: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HistoricalVolatilityNode = HistoricalVolatility
export declare class HistoricalVolatility {
constructor(period: number, tradingPeriods: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AroonOscillatorNode = AroonOscillator
export declare class AroonOscillator {
constructor(period: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type WaveTrendNode = WaveTrend
export declare class WaveTrend {
constructor(channelPeriod: number, averagePeriod: number, signalPeriod: number)
static classic(): WaveTrendNode
update(high: number, low: number, close: number): WaveTrendValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RwiNode = RWI
export declare class RWI {
constructor(period: number)
update(high: number, low: number, close: number): RwiValue | null
/** Returns `[high0, low0, high1, low1, ...]`, length `2 * n`. Warmup is NaN. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VortexNode = Vortex
export declare class Vortex {
constructor(period: number)
update(high: number, low: number, close: number): VortexValue | null
/** Returns `[plus0, minus0, plus1, minus1, ...]`, length `2 * n`. Warmup is NaN. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MassIndexNode = MassIndex
export declare class MassIndex {
constructor(emaPeriod: number, sumPeriod: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StochRsiNode = StochRSI
export declare class StochRSI {
constructor(rsiPeriod: number, stochPeriod: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type UltimateOscillatorNode = UltimateOscillator
export declare class UltimateOscillator {
constructor(short: number, mid: number, long: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PpoNode = PPO
export declare class PPO {
constructor(fast: number, slow: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CoppockNode = Coppock
export declare class Coppock {
constructor(rocLong: number, rocShort: number, wmaPeriod: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VwmaNode = VWMA
export declare class VWMA {
constructor(period: number)
update(close: number, volume: number): number | null
batch(close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MaEnvelopeNode = MaEnvelope
export declare class MaEnvelope {
constructor(period: number, percent: number)
update(value: number): MaEnvelopeValue | null
/** Flat `[upper0, middle0, lower0, upper1, ...]`, length `3 * n`. */
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AccelerationBandsNode = AccelerationBands
export declare class AccelerationBands {
constructor(period: number, factor: number)
update(high: number, low: number, close: number): AccelerationBandsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StarcBandsNode = StarcBands
export declare class StarcBands {
constructor(smaPeriod: number, atrPeriod: number, multiplier: number)
update(high: number, low: number, close: number): StarcBandsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AtrBandsNode = AtrBands
export declare class AtrBands {
constructor(period: number, multiplier: number)
update(high: number, low: number, close: number): AtrBandsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HurstChannelNode = HurstChannel
export declare class HurstChannel {
constructor(period: number, multiplier: number)
update(high: number, low: number, close: number): HurstChannelValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LinRegChannelNode = LinRegChannel
export declare class LinRegChannel {
constructor(period: number, multiplier: number)
update(value: number): LinRegChannelValue | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StandardErrorBandsNode = StandardErrorBands
export declare class StandardErrorBands {
constructor(period: number, multiplier: number)
update(value: number): StandardErrorBandsValue | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DoubleBollingerNode = DoubleBollinger
export declare class DoubleBollinger {
constructor(period: number, kInner: number, kOuter: number)
update(value: number): DoubleBollingerValue | null
/** Flat `[u_o, u_i, m, l_i, l_o, ...]`, length `5 * n`. */
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TtmSqueezeNode = TtmSqueeze
export declare class TtmSqueeze {
constructor(period: number, bbMult: number, kcMult: number)
update(high: number, low: number, close: number): TtmSqueezeValue | null
/** Flat `[sq0, mom0, sq1, mom1, ...]`, length `2 * n`. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FractalChaosBandsNode = FractalChaosBands
export declare class FractalChaosBands {
constructor(k: number)
update(high: number, low: number): FractalChaosBandsValue | null
/** Flat `[u0, l0, u1, l1, ...]`, length `2 * n`. */
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type VwapStdDevBandsNode = VwapStdDevBands
export declare class VwapStdDevBands {
constructor(multiplier: number)
update(high: number, low: number, close: number, volume: number): VwapStdDevBandsValue | null
/** Flat `[u0, m0, l0, sd0, ...]`, length `4 * n`. */
batch(high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ClassicPivotsNode = ClassicPivots
export declare class ClassicPivots {
constructor()
update(high: number, low: number, close: number): ClassicPivotsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FibonacciPivotsNode = FibonacciPivots
export declare class FibonacciPivots {
constructor()
update(high: number, low: number, close: number): FibonacciPivotsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CamarillaNode = Camarilla
export declare class Camarilla {
constructor()
update(high: number, low: number, close: number): CamarillaValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type WoodiePivotsNode = WoodiePivots
export declare class WoodiePivots {
constructor()
update(high: number, low: number, close: number): WoodiePivotsValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DemarkPivotsNode = DemarkPivots
export declare class DemarkPivots {
constructor()
update(open: number, high: number, low: number, close: number): DemarkPivotsValue | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type WilliamsFractalsNode = WilliamsFractals
export declare class WilliamsFractals {
constructor()
update(high: number, low: number): WilliamsFractalsValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ZigZagNode = ZigZag
export declare class ZigZag {
constructor(threshold: number)
update(high: number, low: number): ZigZagValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
get threshold(): number
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdSetupNode = TDSetup
export declare class TDSetup {
constructor(lookback: number, target: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdSequentialNode = TDSequential
export declare class TDSequential {
constructor(setupLookback: number, setupTarget: number, countdownLookback: number, countdownTarget: number)
update(high: number, low: number, close: number): TdSequentialValue | null
/** Batch returns a flat array `[setup0, countdown0, direction0, setup1, ...]`. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdDeMarkerNode = TDDeMarker
export declare class TDDeMarker {
constructor(period: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdReiNode = TDREI
export declare class TDREI {
constructor(period: number)
update(high: number, low: number): number | null
batch(high: Array<number>, low: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdPressureNode = TDPressure
export declare class TDPressure {
constructor(period: number)
update(open: number, high: number, low: number, close: number, volume: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>, volume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdComboNode = TDCombo
export declare class TDCombo {
constructor(setupLookback: number, setupTarget: number, countdownLookback: number, countdownTarget: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdCountdownNode = TDCountdown
export declare class TDCountdown {
constructor(setupLookback: number, setupTarget: number, countdownLookback: number, countdownTarget: number)
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdLinesNode = TDLines
export declare class TDLines {
constructor(lookback: number, target: number)
update(high: number, low: number, close: number): TdLinesValue | null
/** Batch returns a flat array `[resistance0, support0, resistance1, ...]`. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdRangeProjectionNode = TDRangeProjection
export declare class TDRangeProjection {
constructor()
update(open: number, high: number, low: number, close: number): TdRangeProjectionValue | null
/** Batch returns a flat array `[high0, low0, high1, low1, ...]`. */
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdDifferentialNode = TDDifferential
export declare class TDDifferential {
constructor()
update(high: number, low: number, close: number): number | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdOpenNode = TDOpen
export declare class TDOpen {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TdRiskLevelNode = TDRiskLevel
export declare class TDRiskLevel {
constructor(lookback: number, target: number)
update(high: number, low: number, close: number): TdRiskLevelValue | null
/** Batch returns a flat array `[buyRisk0, sellRisk0, buyRisk1, ...]`. */
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type InverseFisherTransformNode = InverseFisherTransform
export declare class InverseFisherTransform {
constructor(scale: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DecyclerOscillatorNode = DecyclerOscillator
export declare class DecyclerOscillator {
constructor(fast: number, slow: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RoofingFilterNode = RoofingFilter
export declare class RoofingFilter {
constructor(lpPeriod: number, hpPeriod: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EmpiricalModeDecompositionNode = EmpiricalModeDecomposition
export declare class EmpiricalModeDecomposition {
constructor(period: number, fraction: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HilbertDominantCycleNode = HilbertDominantCycle
export declare class HilbertDominantCycle {
constructor()
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdaptiveCycleNode = AdaptiveCycle
export declare class AdaptiveCycle {
constructor()
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SineWaveNode = SineWave
export declare class SineWave {
constructor()
update(value: number): number | null
batch(prices: Array<number>): Array<number>
lead(): number
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MamaNode = MAMA
export declare class MAMA {
constructor(fastLimit: number, slowLimit: number)
update(value: number): MamaValue | null
/** Returns a flat array of length `2 * n`: `[mama0, fama0, mama1, fama1, ...]`. */
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FamaNode = FAMA
export declare class FAMA {
constructor(fastLimit: number, slowLimit: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type IchimokuNode = Ichimoku
export declare class Ichimoku {
constructor(tenkanPeriod: number, kijunPeriod: number, senkouBPeriod: number, displacement: number)
update(high: number, low: number, close: number): IchimokuValue | null
/**
* Returns `[tenkan0, kijun0, senkouA0, senkouB0, chikou0, tenkan1, ...]`,
* length `5 * n`. Cells without a defined value are `NaN`.
*/
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HeikinAshiNode = HeikinAshi
export declare class HeikinAshi {
constructor()
update(open: number, high: number, low: number, close: number): HeikinAshiValue | null
/** Returns `[open0, high0, low0, close0, open1, ...]`, length `4 * n`. */
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ValueAreaNode = ValueArea
export declare class ValueArea {
constructor(period: number, binCount: number, valueAreaPct: number)
reset(): void
isReady(): boolean
warmupPeriod(): number
update(high: number, low: number, volume: number): ValueAreaValue | null
batch(high: Array<number>, low: Array<number>, volume: Array<number>): Array<number>
}
export type InitialBalanceNode = InitialBalance
export declare class InitialBalance {
constructor(period: number)
reset(): void
isReady(): boolean
isLocked(): boolean
warmupPeriod(): number
update(high: number, low: number): InitialBalanceValue | null
batch(high: Array<number>, low: Array<number>): Array<number>
}
export type OpeningRangeNode = OpeningRange
export declare class OpeningRange {
constructor(period: number)
reset(): void
isReady(): boolean
isLocked(): boolean
warmupPeriod(): number
update(high: number, low: number, close: number): OpeningRangeValue | null
batch(high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
}
export type DojiNode = Doji
export declare class Doji {
constructor(signed?: boolean | undefined | null)
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
isSigned(): boolean
}
export type HammerNode = Hammer
export declare class Hammer {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type InvertedHammerNode = InvertedHammer
export declare class InvertedHammer {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HangingManNode = HangingMan
export declare class HangingMan {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ShootingStarNode = ShootingStar
export declare class ShootingStar {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EngulfingNode = Engulfing
export declare class Engulfing {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HaramiNode = Harami
export declare class Harami {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MorningEveningStarNode = MorningEveningStar
export declare class MorningEveningStar {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThreeSoldiersOrCrowsNode = ThreeSoldiersOrCrows
export declare class ThreeSoldiersOrCrows {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PiercingDarkCloudNode = PiercingDarkCloud
export declare class PiercingDarkCloud {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MarubozuNode = Marubozu
export declare class Marubozu {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TweezerNode = Tweezer
export declare class Tweezer {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SpinningTopNode = SpinningTop
export declare class SpinningTop {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThreeInsideNode = ThreeInside
export declare class ThreeInside {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThreeOutsideNode = ThreeOutside
export declare class ThreeOutside {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TwoCrowsNode = TwoCrows
export declare class TwoCrows {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type UpsideGapTwoCrowsNode = UpsideGapTwoCrows
export declare class UpsideGapTwoCrows {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type IdenticalThreeCrowsNode = IdenticalThreeCrows
export declare class IdenticalThreeCrows {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThreeLineStrikeNode = ThreeLineStrike
export declare class ThreeLineStrike {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThreeStarsInSouthNode = ThreeStarsInSouth
export declare class ThreeStarsInSouth {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AbandonedBabyNode = AbandonedBaby
export declare class AbandonedBaby {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AdvanceBlockNode = AdvanceBlock
export declare class AdvanceBlock {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BeltHoldNode = BeltHold
export declare class BeltHold {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type BreakawayNode = Breakaway
export declare class Breakaway {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CounterattackNode = Counterattack
export declare class Counterattack {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DojiStarNode = DojiStar
export declare class DojiStar {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DragonflyDojiNode = DragonflyDoji
export declare class DragonflyDoji {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type GravestoneDojiNode = GravestoneDoji
export declare class GravestoneDoji {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LongLeggedDojiNode = LongLeggedDoji
export declare class LongLeggedDoji {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RickshawManNode = RickshawMan
export declare class RickshawMan {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EveningDojiStarNode = EveningDojiStar
export declare class EveningDojiStar {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MorningDojiStarNode = MorningDojiStar
export declare class MorningDojiStar {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type GapSideBySideWhiteNode = GapSideBySideWhite
export declare class GapSideBySideWhite {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HighWaveNode = HighWave
export declare class HighWave {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HikkakeNode = Hikkake
export declare class Hikkake {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HikkakeModifiedNode = HikkakeModified
export declare class HikkakeModified {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type HomingPigeonNode = HomingPigeon
export declare class HomingPigeon {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OnNeckNode = OnNeck
export declare class OnNeck {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type InNeckNode = InNeck
export declare class InNeck {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ThrustingNode = Thrusting
export declare class Thrusting {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SeparatingLinesNode = SeparatingLines
export declare class SeparatingLines {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KickingNode = Kicking
export declare class Kicking {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KickingByLengthNode = KickingByLength
export declare class KickingByLength {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LadderBottomNode = LadderBottom
export declare class LadderBottom {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MatHoldNode = MatHold
export declare class MatHold {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MatchingLowNode = MatchingLow
export declare class MatchingLow {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LongLineNode = LongLine
export declare class LongLine {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ShortLineNode = ShortLine
export declare class ShortLine {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RisingThreeMethodsNode = RisingThreeMethods
export declare class RisingThreeMethods {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FallingThreeMethodsNode = FallingThreeMethods
export declare class FallingThreeMethods {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type UpsideGapThreeMethodsNode = UpsideGapThreeMethods
export declare class UpsideGapThreeMethods {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DownsideGapThreeMethodsNode = DownsideGapThreeMethods
export declare class DownsideGapThreeMethods {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StalledPatternNode = StalledPattern
export declare class StalledPattern {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type StickSandwichNode = StickSandwich
export declare class StickSandwich {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TakuriNode = Takuri
export declare class Takuri {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ClosingMarubozuNode = ClosingMarubozu
export declare class ClosingMarubozu {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OpeningMarubozuNode = OpeningMarubozu
export declare class OpeningMarubozu {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TasukiGapNode = TasukiGap
export declare class TasukiGap {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type UniqueThreeRiverNode = UniqueThreeRiver
export declare class UniqueThreeRiver {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ConcealingBabySwallowNode = ConcealingBabySwallow
export declare class ConcealingBabySwallow {
constructor()
update(open: number, high: number, low: number, close: number): number | null
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OrderBookImbalanceTop1Node = OrderBookImbalanceTop1
export declare class OrderBookImbalanceTop1 {
constructor()
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OrderBookImbalanceFullNode = OrderBookImbalanceFull
export declare class OrderBookImbalanceFull {
constructor()
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MicropriceNode = Microprice
export declare class Microprice {
constructor()
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type QuotedSpreadNode = QuotedSpread
export declare class QuotedSpread {
constructor()
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DepthSlopeNode = DepthSlope
export declare class DepthSlope {
constructor()
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OrderBookImbalanceTopNNode = OrderBookImbalanceTopN
export declare class OrderBookImbalanceTopN {
constructor(levels: number)
update(bidPx: Array<number>, bidSz: Array<number>, askPx: Array<number>, askSz: Array<number>): number | null
batch(snapshots: Array<ObSnapshot>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SignedVolumeNode = SignedVolume
export declare class SignedVolume {
constructor()
update(price: number, size: number, isBuy: boolean): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CumulativeVolumeDeltaNode = CumulativeVolumeDelta
export declare class CumulativeVolumeDelta {
constructor()
update(price: number, size: number, isBuy: boolean): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TradeImbalanceNode = TradeImbalance
export declare class TradeImbalance {
constructor(window: number)
update(price: number, size: number, isBuy: boolean): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type EffectiveSpreadNode = EffectiveSpread
export declare class EffectiveSpread {
constructor()
update(price: number, size: number, isBuy: boolean, mid: number): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>, mid: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RealizedSpreadNode = RealizedSpread
export declare class RealizedSpread {
constructor(horizon: number)
update(price: number, size: number, isBuy: boolean, mid: number): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>, mid: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KylesLambdaNode = KylesLambda
export declare class KylesLambda {
constructor(window: number)
update(price: number, size: number, isBuy: boolean, mid: number): number | null
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>, mid: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FootprintNode = Footprint
export declare class Footprint {
constructor(tickSize: number)
update(price: number, size: number, isBuy: boolean): Array<FootprintLevelValue>
batch(price: Array<number>, size: Array<number>, isBuy: Array<boolean>): Array<Array<FootprintLevelValue>>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FundingRateNode = FundingRate
export declare class FundingRate {
constructor()
update(fundingRate: number): number | null
batch(fundingRate: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FundingRateMeanNode = FundingRateMean
export declare class FundingRateMean {
constructor(window: number)
update(fundingRate: number): number | null
batch(fundingRate: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FundingRateZScoreNode = FundingRateZScore
export declare class FundingRateZScore {
constructor(window: number)
update(fundingRate: number): number | null
batch(fundingRate: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type FundingBasisNode = FundingBasis
export declare class FundingBasis {
constructor()
update(markPrice: number, indexPrice: number): number | null
batch(markPrice: Array<number>, indexPrice: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OpenInterestDeltaNode = OpenInterestDelta
export declare class OpenInterestDelta {
constructor()
update(openInterest: number): number | null
batch(openInterest: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OIPriceDivergenceNode = OIPriceDivergence
export declare class OIPriceDivergence {
constructor(window: number)
update(openInterest: number, markPrice: number): number | null
batch(openInterest: Array<number>, markPrice: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OIWeightedNode = OIWeighted
export declare class OIWeighted {
constructor()
update(markPrice: number, openInterest: number): number | null
batch(markPrice: Array<number>, openInterest: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LongShortRatioNode = LongShortRatio
export declare class LongShortRatio {
constructor()
update(longSize: number, shortSize: number): number | null
batch(longSize: Array<number>, shortSize: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TakerBuySellRatioNode = TakerBuySellRatio
export declare class TakerBuySellRatio {
constructor()
update(takerBuyVolume: number, takerSellVolume: number): number | null
batch(takerBuyVolume: Array<number>, takerSellVolume: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type LiquidationFeaturesNode = LiquidationFeatures
export declare class LiquidationFeatures {
constructor()
update(longLiquidation: number, shortLiquidation: number): LiquidationFeaturesValue | null
batch(longLiquidation: Array<number>, shortLiquidation: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TermStructureBasisNode = TermStructureBasis
export declare class TermStructureBasis {
constructor()
update(futuresPrice: number, indexPrice: number): number | null
batch(futuresPrice: Array<number>, indexPrice: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CalendarSpreadNode = CalendarSpread
export declare class CalendarSpread {
constructor()
update(futuresPrice: number, markPrice: number): number | null
batch(futuresPrice: Array<number>, markPrice: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SharpeRatioNode = SharpeRatio
export declare class SharpeRatio {
constructor(period: number, riskFree: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type SortinoRatioNode = SortinoRatio
export declare class SortinoRatio {
constructor(period: number, mar: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type CalmarRatioNode = CalmarRatio
export declare class CalmarRatio {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type OmegaRatioNode = OmegaRatio
export declare class OmegaRatio {
constructor(period: number, threshold: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type MaxDrawdownNode = MaxDrawdown
export declare class MaxDrawdown {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AverageDrawdownNode = AverageDrawdown
export declare class AverageDrawdown {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type DrawdownDurationNode = DrawdownDuration
export declare class DrawdownDuration {
constructor()
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type PainIndexNode = PainIndex
export declare class PainIndex {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ValueAtRiskNode = ValueAtRisk
export declare class ValueAtRisk {
constructor(period: number, confidence: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ConditionalValueAtRiskNode = ConditionalValueAtRisk
export declare class ConditionalValueAtRisk {
constructor(period: number, confidence: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type ProfitFactorNode = ProfitFactor
export declare class ProfitFactor {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type GainLossRatioNode = GainLossRatio
export declare class GainLossRatio {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type RecoveryFactorNode = RecoveryFactor
export declare class RecoveryFactor {
constructor()
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type KellyCriterionNode = KellyCriterion
export declare class KellyCriterion {
constructor(period: number)
update(value: number): number | null
batch(prices: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type TreynorRatioNode = TreynorRatio
export declare class TreynorRatio {
constructor(period: number, riskFree: number)
update(asset: number, benchmark: number): number | null
batch(asset: Array<number>, benchmark: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type InformationRatioNode = InformationRatio
export declare class InformationRatio {
constructor(period: number)
update(asset: number, benchmark: number): number | null
batch(asset: Array<number>, benchmark: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}
export type AlphaNode = Alpha
export declare class Alpha {
constructor(period: number, riskFree: number)
update(asset: number, benchmark: number): number | null
batch(asset: Array<number>, benchmark: Array<number>): Array<number>
reset(): void
isReady(): boolean
warmupPeriod(): number
}