diff --git a/Cargo.lock b/Cargo.lock index 4a1a0593..6ce6d82a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "convert_case" -version = "0.6.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +checksum = "affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49" dependencies = [ "unicode-segmentation", ] @@ -329,13 +329,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.2.9" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" -dependencies = [ - "quote", - "syn", -] +checksum = "01334b89b69ff726750c5ce5073fc8bd860e99aa9a8fc5ca11b04730e3aee97a" [[package]] name = "data-encoding" @@ -428,12 +424,54 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "futures" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + [[package]] name = "futures-core" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + [[package]] name = "futures-macro" version = "0.3.32" @@ -463,10 +501,13 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ + "futures-channel", "futures-core", + "futures-io", "futures-macro", "futures-sink", "futures-task", + "memchr", "pin-project-lite", "slab", ] @@ -690,9 +731,9 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libloading" -version = "0.8.9" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", "windows-link", @@ -751,15 +792,17 @@ dependencies = [ [[package]] name = "napi" -version = "2.16.17" +version = "3.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55740c4ae1d8696773c78fdafd5d0e5fe9bc9f1b071c7ba493ba5c413a9184f3" +checksum = "b41bda2ac390efb5e8d22025d925ccc3f3807d8c1bea6d19b36127247c4b8f83" dependencies = [ "bitflags", "ctor", - "napi-derive", + "futures", + "napi-build", "napi-sys", - "once_cell", + "nohash-hasher", + "rustc-hash", ] [[package]] @@ -770,12 +813,12 @@ checksum = "c9c366d2c8c60b86fa632df75f745509b52f9128f91a6bad4c796e44abb505e1" [[package]] name = "napi-derive" -version = "2.16.13" +version = "3.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cbe2585d8ac223f7d34f13701434b9d5f4eb9c332cccce8dee57ea18ab8ab0c" +checksum = "61d66f70256ad5aef58659966064471d0ad90e2897bc36a5a5e0389c85aabc1e" dependencies = [ - "cfg-if", "convert_case", + "ctor", "napi-derive-backend", "proc-macro2", "quote", @@ -784,24 +827,22 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "1.0.75" +version = "5.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1639aaa9eeb76e91c6ae66da8ce3e89e921cd3885e99ec85f4abacae72fc91bf" +checksum = "81b4b08f15eed7a2a20c3f4c6314013fc3ac890a3afa9892b594485299ebdb2d" dependencies = [ "convert_case", - "once_cell", "proc-macro2", "quote", - "regex", "semver", "syn", ] [[package]] name = "napi-sys" -version = "2.4.0" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3" +checksum = "1f5bcdf71abd3a50d00b49c1c2c75251cb3c913777d6139cd37dabc093a5e400" dependencies = [ "libloading", ] @@ -823,6 +864,12 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -1211,6 +1258,12 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +[[package]] +name = "rustc-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" + [[package]] name = "rustix" version = "1.1.4" diff --git a/bindings/node/Cargo.toml b/bindings/node/Cargo.toml index 320cda0a..7864fee6 100644 --- a/bindings/node/Cargo.toml +++ b/bindings/node/Cargo.toml @@ -20,14 +20,35 @@ publish = false [lib] crate-type = ["cdylib"] -[lints] -workspace = true +# Mirrors [workspace.lints] (the source of truth) EXCEPT `unsafe_code`, which is +# relaxed from the workspace `forbid` to `deny`: the napi-rs 3 derive macros emit +# `#[allow(unsafe_code)]`, which `forbid` cannot permit. `deny` still fails the +# build on any unguarded unsafe in our own code. Keep this list in sync with the +# workspace if its lints change. +[lints.rust] +unsafe_code = "deny" +missing_debug_implementations = "warn" +unreachable_pub = "warn" +unused_must_use = "deny" + +[lints.clippy] +all = { level = "warn", priority = -1 } +pedantic = { level = "warn", priority = -1 } +module_name_repetitions = "allow" +must_use_candidate = "allow" +missing_errors_doc = "allow" +missing_panics_doc = "allow" +cast_precision_loss = "allow" +cast_possible_truncation = "allow" +cast_sign_loss = "allow" +similar_names = "allow" +float_cmp = "allow" [dependencies] wickra-core = { workspace = true } wickra-data = { workspace = true, features = ["live-binance"] } -napi = { version = "2.16", features = ["napi8"] } -napi-derive = "2.16" +napi = { version = "3.9", features = ["napi8"] } +napi-derive = "3.5" # Drives the async Binance feed behind the blocking poll. tokio = { version = "1", features = ["rt", "net", "time"] } diff --git a/bindings/node/index.d.ts b/bindings/node/index.d.ts index b49b82cc..84295b4b 100644 --- a/bindings/node/index.d.ts +++ b/bindings/node/index.d.ts @@ -1,2003 +1,17 @@ -/* tslint:disable */ -/* eslint-disable */ - /* auto-generated by NAPI-RS */ +/* eslint-disable */ +export declare class AbandonedBaby { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AbandonedBabyNode = AbandonedBaby -/** Library version (matches the Rust crate version). */ -export declare function version(): string -/** - * Volatility-cone result: current realized volatility and its lookback - * envelope (min / median / max) plus the percentile rank of `current`. - */ -export interface VolatilityConeValue { - current: number - min: number - median: number - max: number - percentile: number -} -/** 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 { - /** Engle–Granger hedge ratio (OLS slope of `a` on `b`). */ - hedgeRatio: number - /** Current spread (regression residual) `a - (alpha + beta*b)`. */ - spread: number - /** - * Augmented Dickey–Fuller 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 -} -/** Kalman hedge-ratio result: dynamic hedge ratio, intercept, and spread. */ -export interface KalmanHedgeRatioValue { - /** Current hedge ratio (filtered slope of `a` on `b`). */ - hedgeRatio: number - /** Current intercept (filtered level offset). */ - intercept: number - /** Forecast error `a - (intercept + hedgeRatio*b)` — the spread signal. */ - spread: number -} -/** Spread Bollinger-bands result: middle, upper and lower bands plus `%b`. */ -export interface SpreadBollingerBandsValue { - /** Middle band: the rolling mean of the spread. */ - middle: number - /** Upper band. */ - upper: number - /** Lower band. */ - lower: number - /** `%b`: where the spread sits across the band (`0` lower, `1` upper). */ - percentB: 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 HtPhasorValue { - inphase: number - quadrature: number -} -export interface QqeValue { - rsiMa: number - trailingLine: number -} -export interface ElderRayValue { - bullPower: number - bearPower: number -} -export interface GatorOscillatorValue { - upper: number - lower: number -} -export interface KasePermissionStochasticValue { - fast: number - slow: 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 -} -export interface KaseDevStopValue { - value: number - direction: number -} -export interface ElderSafeZoneValue { - value: number - direction: number -} -export interface AtrRatchetValue { - value: number - direction: number -} -export interface NrtrValue { - value: number - direction: number -} -export interface ModifiedMaStopValue { - value: number - direction: 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 QuartileBandsValue { - upper: number - middle: number - lower: number -} -export interface BomarBandsValue { - upper: number - middle: number - lower: number -} -export interface MedianChannelValue { - upper: number - middle: number - lower: number -} -export interface ProjectionBandsValue { - upper: number - middle: number - lower: number -} -export interface CentralPivotRangeValue { - pivot: number - tc: number - bc: number -} -export interface MurreyMathLinesValue { - mm8_8: number - mm7_8: number - mm6_8: number - mm5_8: number - mm4_8: number - mm3_8: number - mm2_8: number - mm1_8: number - mm0_8: number -} -export interface AndrewsPitchforkValue { - median: number - upper: number - lower: number -} -export interface VolumeWeightedSrValue { - support: number - resistance: 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 -} -export interface TdMovingAverageValue { - st1: number - st2: 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 SmoothedHeikinAshiValue { - open: number - high: number - low: number - close: number -} -export interface EquivolumeValue { - height: number - width: number -} -export interface CandleVolumeValue { - body: number - width: number -} -export interface ValueAreaValue { - poc: number - vah: number - val: number -} -export interface VolumeProfileValue { - priceLow: number - priceHigh: number - bins: Array -} -export interface HighLowVolumeNodesValue { - hvn: number - lvn: number -} -export interface CompositeProfileValue { - poc: number - vah: number - val: number -} -export interface TpoProfileValue { - priceLow: number - priceHigh: number - counts: Array -} -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 - bidSz: Array - askPx: Array - askSz: Array -} -/** 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 interface RenkoBrickValue { - open: number - close: number - direction: number -} -export interface KagiSegmentValue { - start: number - end: number - direction: number -} -export interface PnfColumnValue { - direction: number - high: number - low: number -} -export interface RangeBarValue { - open: number - close: number - direction: number -} -export interface TickBarValue { - open: number - high: number - low: number - close: number - volume: number -} -export interface VolumeBarValue { - open: number - high: number - low: number - close: number - volume: number -} -export interface DollarBarValue { - open: number - high: number - low: number - close: number - volume: number - dollar: number -} -export interface ImbalanceBarValue { - open: number - high: number - low: number - close: number - imbalance: number - direction: number -} -export interface RunBarValue { - open: number - high: number - low: number - close: number - length: number - direction: number -} -export interface LineBreakBarValue { - open: number - close: number - direction: number -} -export interface SessionHighLowValue { - high: number - low: number -} -export interface SessionRangeValue { - asia: number - eu: number - us: number -} -export interface OvernightIntradayReturnValue { - overnight: number - intraday: number -} -export interface FibRetracementValue { - level0: number - level236: number - level382: number - level500: number - level618: number - level786: number - level1000: number -} -export interface FibExtensionValue { - level1272: number - level1414: number - level1618: number - level2000: number - level2618: number -} -export interface FibProjectionValue { - level618: number - level1000: number - level1618: number - level2618: number -} -export interface AutoFibValue { - level0: number - level236: number - level382: number - level500: number - level618: number - level786: number - level1000: number -} -export interface GoldenPocketValue { - low: number - mid: number - high: number -} -export interface FibConfluenceValue { - price: number - strength: number -} -export interface FibFanValue { - fan382: number - fan500: number - fan618: number -} -export interface FibArcsValue { - arc382: number - arc500: number - arc618: number -} -export interface FibChannelValue { - base: number - level618: number - level1000: number - level1618: number -} -export interface FibTimeZonesValue { - onZone: number - barsToNext: number -} -export interface VolumeWeightedMacdValue { - macd: number - signal: number - histogram: number -} -/** One aggregated OHLCV candle emitted by [`TickAggregatorNode`]. */ -export interface CandleValue { - open: number - high: number - low: number - close: number - volume: number - timestamp: number -} -/** One event from the live Binance feed. */ -export interface KlineEvent { - symbol: string - open: number - high: number - low: number - close: number - volume: number - openTime: number - isClosed: boolean -} -/** - * Fetch historical klines from Binance's REST endpoint. `symbol` is the trading - * pair (case-insensitive, e.g. `"BTCUSDT"`), `interval` the code `0..=15` (the - * `Interval` declaration order), and `limit` the number of candles to request - * (`1..=1000`). `startMs`/`endMs` are optional inclusive Unix-millisecond - * bounds; `baseUrl` overrides the host (omit for production). This is a blocking - * call — run it on a Worker thread to keep the event loop responsive. - */ -export declare function fetchBinanceKlines(symbol: string, interval: number, limit: number, startMs?: number | undefined | null, endMs?: number | undefined | null, baseUrl?: string | undefined | null): Array -export type SmaNode = SMA -export declare class SMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EmaNode = EMA -export declare class EMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WmaNode = WMA -export declare class WMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RsiNode = RSI -export declare class RSI { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DemaNode = DEMA -export declare class DEMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TemaNode = TEMA -export declare class TEMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HmaNode = HMA -export declare class HMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RocNode = ROC -export declare class ROC { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrixNode = TRIX -export declare class TRIX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SmmaNode = SMMA -export declare class SMMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrimaNode = TRIMA -export declare class TRIMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ZlemaNode = ZLEMA -export declare class ZLEMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MomNode = MOM -export declare class MOM { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CmoNode = CMO -export declare class CMO { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DpoNode = DPO -export declare class DPO { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type StdDevNode = StdDev -export declare class StdDev { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type UlcerIndexNode = UlcerIndex -export declare class UlcerIndex { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VerticalHorizontalFilterNode = VerticalHorizontalFilter -export declare class VerticalHorizontalFilter { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ZScoreNode = ZScore -export declare class ZScore { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type McGinleyDynamicNode = McGinleyDynamic -export declare class McGinleyDynamic { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FramaNode = FRAMA -export declare class FRAMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SuperSmootherNode = SuperSmoother -export declare class SuperSmoother { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FisherTransformNode = FisherTransform -export declare class FisherTransform { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DecyclerNode = Decycler -export declare class Decycler { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CenterOfGravityNode = CenterOfGravity -export declare class CenterOfGravity { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CyberneticCycleNode = CyberneticCycle -export declare class CyberneticCycle { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type InstantaneousTrendlineNode = InstantaneousTrendline -export declare class InstantaneousTrendline { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EhlersStochasticNode = EhlersStochastic -export declare class EhlersStochastic { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RviVolatilityNode = RVIVolatility -export declare class RVIVolatility { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VarianceNode = Variance -export declare class Variance { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CoefficientOfVariationNode = CoefficientOfVariation -export declare class CoefficientOfVariation { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SkewnessNode = Skewness -export declare class Skewness { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KurtosisNode = Kurtosis -export declare class Kurtosis { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type StandardErrorNode = StandardError -export declare class StandardError { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DetrendedStdDevNode = DetrendedStdDev -export declare class DetrendedStdDev { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RSquaredNode = RSquared -export declare class RSquared { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MedianAbsoluteDeviationNode = MedianAbsoluteDeviation -export declare class MedianAbsoluteDeviation { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MidPointNode = MIDPOINT -export declare class MIDPOINT { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RocpNode = ROCP -export declare class ROCP { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RocrNode = ROCR -export declare class ROCR { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type Rocr100Node = ROCR100 -export declare class ROCR100 { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LinRegInterceptNode = LINEARREG_INTERCEPT -export declare class LINEARREG_INTERCEPT { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TsfNode = TSF -export declare class TSF { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LogReturnNode = LogReturn -export declare class LogReturn { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RealizedVolatilityNode = RealizedVolatility -export declare class RealizedVolatility { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingIqrNode = RollingIqr -export declare class RollingIqr { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingPercentileRankNode = RollingPercentileRank -export declare class RollingPercentileRank { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrendLabelNode = TrendLabel -export declare class TrendLabel { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WinRateNode = WinRate -export declare class WinRate { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ExpectancyNode = Expectancy -export declare class Expectancy { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SineWeightedMaNode = SWMA -export declare class SWMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GeometricMaNode = GMA -export declare class GMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EhmaNode = EHMA -export declare class EHMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MedianMaNode = MedianMA -export declare class MedianMA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdaptiveLaguerreFilterNode = AdaptiveLaguerre -export declare class AdaptiveLaguerre { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DisparityIndexNode = DisparityIndex -export declare class DisparityIndex { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FisherRsiNode = FisherRSI -export declare class FisherRSI { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RsxNode = RSX -export declare class RSX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DynamicMomentumIndexNode = DynamicMomentumIndex -export declare class DynamicMomentumIndex { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrendStrengthIndexNode = TREND_STRENGTH_INDEX -export declare class TREND_STRENGTH_INDEX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TsfOscillatorNode = TsfOscillator -export declare class TsfOscillator { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BipowerVariationNode = BipowerVariation -export declare class BipowerVariation { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type JarqueBeraNode = JARQUEBERA -export declare class JARQUEBERA { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingMinMaxScalerNode = ROLLINGMINMAX -export declare class ROLLINGMINMAX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HighpassFilterNode = HIGHPASS -export declare class HIGHPASS { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ReflexNode = REFLEX -export declare class REFLEX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrendflexNode = TRENDFLEX -export declare class TRENDFLEX { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CorrelationTrendIndicatorNode = CTI -export declare class CTI { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdaptiveRsiNode = ADAPTIVERSI -export declare class ADAPTIVERSI { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type UniversalOscillatorNode = UNIVERSALOSC -export declare class UNIVERSALOSC { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SterlingRatioNode = SterlingRatio -export declare class SterlingRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BurkeRatioNode = BurkeRatio -export declare class BurkeRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MartinRatioNode = MartinRatio -export declare class MartinRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TailRatioNode = TailRatio -export declare class TailRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KRatioNode = KRatio -export declare class KRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CommonSenseRatioNode = CommonSenseRatio -export declare class CommonSenseRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GainToPainRatioNode = GainToPainRatio -export declare class GainToPainRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type UpsidePotentialRatioNode = UpsidePotentialRatio -export declare class UpsidePotentialRatio { - constructor(period: number, mar: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type M2MeasureNode = M2Measure -export declare class M2Measure { - constructor(period: number, riskFree: number, benchmarkStddev: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BandpassFilterNode = BANDPASS -export declare class BANDPASS { - constructor(period: number, bandwidth: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EvenBetterSinewaveNode = EVENBETTERSINE -export declare class EVENBETTERSINE { - constructor(hpPeriod: number, ssfLength: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AutocorrelationPeriodogramNode = AUTOCORRPGRAM -export declare class AUTOCORRPGRAM { - constructor(minPeriod: number, maxPeriod: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ShannonEntropyNode = SHANNONENT -export declare class SHANNONENT { - constructor(period: number, bins: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SampleEntropyNode = SAMPLEENT -export declare class SAMPLEENT { - constructor(period: number, m: number, rFactor: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EwmaVolatilityNode = EwmaVolatility -export declare class EwmaVolatility { - constructor(lambda: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type Garch11Node = Garch11 -export declare class Garch11 { - constructor(omega: number, alpha: number, beta: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolatilityOfVolatilityNode = VolatilityOfVolatility -export declare class VolatilityOfVolatility { - constructor(volWindow: number, vovWindow: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolatilityConeNode = VolatilityCone -export declare class VolatilityCone { - constructor(window: number, lookback: number) - update(high: number, low: number, close: number): VolatilityConeValue | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type JumpIndicatorNode = JumpIndicator -export declare class JumpIndicator { - constructor(period: number, threshold: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RegimeLabelNode = RegimeLabel -export declare class RegimeLabel { - constructor(volPeriod: number, lookback: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingQuantileNode = RollingQuantile -export declare class RollingQuantile { - constructor(period: number, quantile: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, y: Array): Array - reset(): void - name(): string - 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, y: Array): Array - reset(): void - name(): string - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SpreadAr1CoefficientNode = SpreadAr1Coefficient -export declare class SpreadAr1Coefficient { - 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, y: Array): Array - reset(): void - name(): string - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingCorrelationNode = RollingCorrelation -export declare class RollingCorrelation { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollingCovarianceNode = RollingCovariance -export declare class RollingCovariance { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OuHalfLifeNode = OuHalfLife -export declare class OuHalfLife { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SpreadHurstNode = SpreadHurst -export declare class SpreadHurst { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DistanceSsdNode = DistanceSsd -export declare class DistanceSsd { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KendallTauNode = KendallTau -export declare class KendallTau { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BetaNeutralSpreadNode = BetaNeutralSpread -export declare class BetaNeutralSpread { - 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, y: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HasbrouckInformationShareNode = HasbrouckInformationShare -export declare class HasbrouckInformationShare { - 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, y: Array): Array - reset(): void - name(): string - 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, b: Array): Array - reset(): void - name(): string - 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, b: Array): Array - reset(): void - name(): string - 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, b: Array): Array - reset(): void - name(): string - 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, b: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VarianceRatioNode = VarianceRatio -/** - * Lo–MacKinlay variance ratio: two ctor params (`period`, `q`), one `(a, b)` - * pair per update, a single ratio out. - */ -export declare class VarianceRatio { - constructor(period: number, q: number) - update(a: number, b: number): number | null - /** - * Batch over two equally-sized arrays. Returns a length-`n` array with - * `NaN` for warmup positions. - */ - batch(a: Array, b: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GrangerCausalityNode = GrangerCausality -/** - * Granger causality F-statistic: two ctor params (`period`, `lag`), one - * `(a, b)` pair per update, a single F-statistic out. - */ -export declare class GrangerCausality { - constructor(period: number, lag: number) - update(a: number, b: number): number | null - /** - * Batch over two equally-sized arrays. Returns a length-`n` array with - * `NaN` for warmup positions. - */ - batch(a: Array, b: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KalmanHedgeRatioNode = KalmanHedgeRatio -export declare class KalmanHedgeRatio { - constructor(delta: number, observationVar: number) - update(a: number, b: number): KalmanHedgeRatioValue | null - /** - * Batch over two equally-sized arrays. Returns a flat array of length - * `3 * n`, interleaved per row as `[hedgeRatio0, intercept0, spread0, ...]`. - * Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`. - */ - batch(a: Array, b: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SpreadBollingerBandsNode = SpreadBollingerBands -export declare class SpreadBollingerBands { - constructor(period: number, numStd: number) - update(a: number, b: number): SpreadBollingerBandsValue | null - /** - * Batch over two equally-sized arrays. Returns a flat array of length - * `4 * n`, interleaved per row as `[middle0, upper0, lower0, percentB0, ...]`. - * Read column `j` of row `i` as `result[i * 4 + j]`. Warmup rows are `NaN`. - */ - batch(a: Array, b: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MacdFixNode = MACDFIX -export declare class MACDFIX { - constructor(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, ...]`. - */ - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MacdExtNode = MACDEXT -export declare class MACDEXT { - /** - * Moving-average types are TA-Lib `MA_Type` codes `0..=5` - * (SMA, EMA, WMA, DEMA, TEMA, TRIMA). - */ - constructor(fast: number, fastMatype: number, slow: number, slowMatype: number, signal: number, signalMatype: 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, ...]`. - */ - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PlusDmNode = PLUS_DM -export declare class PLUS_DM { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MinusDmNode = MINUS_DM -export declare class MINUS_DM { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PlusDiNode = PLUS_DI -export declare class PLUS_DI { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MinusDiNode = MINUS_DI -export declare class MINUS_DI { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DxNode = DX -export declare class DX { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MidPriceNode = MIDPRICE -export declare class MIDPRICE { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AvgPriceNode = AVGPRICE -export declare class AVGPRICE { +export declare class Abcd { constructor() update(open: number, high: number, low: number, close: number): number | null batch(open: Array, high: Array, low: Array, close: Array): Array @@ -2006,201 +20,41 @@ export declare class AVGPRICE { isReady(): boolean warmupPeriod(): number } -export type SarExtNode = SAREXT -export declare class SAREXT { - constructor(startValue: number, offsetOnReverse: number, accelInitLong: number, accelLong: number, accelMaxLong: number, accelInitShort: number, accelShort: number, accelMaxShort: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HtPhasorNode = HT_PHASOR -export declare class HT_PHASOR { +export type AbcdNode = Abcd + +export declare class AbsoluteBreadthIndex { constructor() - update(value: number): HtPhasorValue | null - /** - * Batch over a price array. Returns a flat array of length `2 * n`, - * interleaved per row as `[inphase0, quadrature0, inphase1, ...]`. - */ - batch(prices: Array): Array + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type CloseVsOpenNode = CloseVsOpen -export declare class CloseVsOpen { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BodySizePctNode = BodySizePct -export declare class BodySizePct { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WickRatioNode = WickRatio -export declare class WickRatio { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HighLowRangeNode = HighLowRange -export declare class HighLowRange { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type StochasticCciNode = StochasticCCI -export declare class StochasticCCI { - constructor(period: number) - update(high: number, low: number, close: number): number | null +export type AbsoluteBreadthIndexNode = AbsoluteBreadthIndex + +export declare class AccelerationBands { + constructor(period: number, factor: number) + update(high: number, low: number, close: number): AccelerationBandsValue | null batch(high: Array, low: Array, close: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type ImiNode = IMI -export declare class IMI { - constructor(period: number) - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array +export type AccelerationBandsNode = AccelerationBands + +export declare class AcceleratorOscillator { + constructor(aoFast: number, aoSlow: number, signalPeriod: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type QqeNode = QQE -export declare class QQE { - constructor(rsiPeriod: number, smoothing: number, factor: number) - update(value: number): QqeValue | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ElderRayNode = ElderRay -export declare class ElderRay { - constructor(period: number) - update(high: number, low: number, close: number): ElderRayValue | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TtmTrendNode = TTM_TREND -export declare class TTM_TREND { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type QstickNode = Qstick -export declare class Qstick { - constructor(period: number) - update(open: number, close: number): number | null - batch(open: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PolarizedFractalEfficiencyNode = POLARIZED_FRACTAL_EFFICIENCY -export declare class POLARIZED_FRACTAL_EFFICIENCY { - constructor(period: number, smoothing: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WavePmNode = WAVE_PM -export declare class WAVE_PM { - constructor(length: number, smoothing: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GatorOscillatorNode = GatorOscillator -export declare class GatorOscillator { - constructor(jawPeriod: number, teethPeriod: number, lipsPeriod: number) - update(high: number, low: number, close: number): GatorOscillatorValue | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KasePermissionStochasticNode = KasePermissionStochastic -export declare class KasePermissionStochastic { - constructor(length: number, smooth: number) - update(high: number, low: number, close: number): KasePermissionStochasticValue | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolatilityRatioNode = VolatilityRatio -export declare class VolatilityRatio { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ProjectionOscillatorNode = ProjectionOscillator -export declare class ProjectionOscillator { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TimeBasedStopNode = TimeBasedStop -export declare class TimeBasedStop { - constructor(maxBars: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdaptiveCciNode = ADAPTIVECCI +export type AcceleratorOscillatorNode = AcceleratorOscillator + export declare class ADAPTIVECCI { constructor(period: number) update(high: number, low: number, close: number): number | null @@ -2210,160 +64,10 @@ export declare class ADAPTIVECCI { 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ObvNode = OBV -export declare class OBV { +export type AdaptiveCciNode = ADAPTIVECCI + +export declare class AdaptiveCycle { constructor() - update(close: number, volume: number): number | null - batch(close: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CciNode = CCI -export declare class CCI { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array -} -export type WilliamsRNode = WilliamsR -export declare class WilliamsR { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array -} -export type MfiNode = MFI -export declare class MFI { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array -} -export type PsarNode = PSAR -export declare class PSAR { - constructor(afStart: number, afStep: number, afMax: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array -} -export type KeltnerNode = Keltner -export declare class Keltner { - constructor(emaPeriod: number, atrPeriod: number, multiplier: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number): KeltnerValue | null - batch(high: Array, low: Array, close: Array): Array -} -export type DonchianNode = Donchian -export declare class Donchian { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number): DonchianValue | null - batch(high: Array, low: Array): Array -} -export type VwapNode = VWAP -export declare class VWAP { - constructor() - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array -} -export type RollingVwapNode = RollingVWAP -export declare class RollingVWAP { - constructor(period: number) - get period(): number - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array -} -export type AoNode = AwesomeOscillator -export declare class AwesomeOscillator { - constructor(fast: number, slow: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number): number | null - batch(high: Array, low: Array): Array -} -export type AroonNode = Aroon -export declare class Aroon { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number): AroonValue | null - batch(high: Array, low: Array): Array -} -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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array reset(): void @@ -2371,99 +75,9 @@ export declare class ConnorsRSI { isReady(): boolean warmupPeriod(): number } -export type LaguerreRsiNode = LaguerreRSI -export declare class LaguerreRSI { - constructor(gamma: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CfoNode = CFO -export declare class CFO { +export type AdaptiveCycleNode = AdaptiveCycle + +export declare class AdaptiveLaguerre { constructor(period: number) update(value: number): number | null batch(prices: Array): Array @@ -2472,79 +86,10 @@ export declare class CFO { 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KamaNode = KAMA -export declare class KAMA { - constructor(erPeriod: number, fast: number, slow: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(value: number): number | null - batch(prices: Array): Array -} -export type EvwmaNode = EVWMA -export declare class EVWMA { +export type AdaptiveLaguerreFilterNode = AdaptiveLaguerre + +export declare class ADAPTIVERSI { constructor(period: number) - update(close: number, volume: number): number | null - batch(close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AlligatorNode = Alligator -export declare class Alligator { - constructor(jaw: number, teeth: number, lips: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number): AlligatorValue | null - batch(high: Array, low: Array): Array -} -export type JmaNode = JMA -export declare class JMA { - constructor(period: number, phase: number, power: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(value: number): number | null - batch(prices: Array): Array -} -export type VidyaNode = VIDYA -export declare class VIDYA { - constructor(period: number, cmoPeriod: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(value: number): number | null - batch(prices: Array): Array -} -export type AlmaNode = ALMA -export declare class ALMA { - constructor(period: number, offset: number, sigma: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(value: number): number | null - batch(prices: Array): Array -} -export type T3Node = T3 -export declare class T3 { - constructor(period: number, v: number) update(value: number): number | null batch(prices: Array): Array reset(): void @@ -2552,97 +97,8 @@ export declare class T3 { isReady(): boolean warmupPeriod(): number } -export type GeneralizedDemaNode = GD -export declare class GD { - constructor(period: number, v: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HoltWintersNode = HoltWinters -export declare class HoltWinters { - constructor(alpha: number, beta: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RmiNode = RMI -export declare class RMI { - constructor(period: number, momentum: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DerivativeOscillatorNode = DerivativeOscillator -export declare class DerivativeOscillator { - constructor(rsiPeriod: number, smooth1: number, smooth2: number, signalPeriod: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MacdHistogramNode = MacdHistogram -export declare class MacdHistogram { - constructor(fast: number, slow: number, signal: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PpoHistogramNode = PpoHistogram -export declare class PpoHistogram { - constructor(fast: number, slow: number, signal: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdlNode = ADL +export type AdaptiveRsiNode = ADAPTIVERSI + export declare class ADL { constructor() update(high: number, low: number, close: number, volume: number): number | null @@ -2652,87 +108,8 @@ export declare class ADL { isReady(): boolean warmupPeriod(): number } -export type VolumePriceTrendNode = VolumePriceTrend -export declare class VolumePriceTrend { - constructor() - update(close: number, volume: number): number | null - batch(close: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdOscillatorNode = ADOSC +export type AdlNode = ADL + export declare class ADOSC { constructor() update(high: number, low: number, close: number): number | null @@ -2742,7 +119,118 @@ export declare class ADOSC { isReady(): boolean warmupPeriod(): number } -export type AnchoredRsiNode = AnchoredRSI +export type AdOscillatorNode = ADOSC + +export declare class AdvanceBlock { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdvanceBlockNode = AdvanceBlock + +export declare class AdvanceDecline { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdvanceDeclineNode = AdvanceDecline + +export declare class AdvanceDeclineRatio { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdvanceDeclineRatioNode = AdvanceDeclineRatio + +export declare class AdVolumeLine { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdVolumeLineNode = AdVolumeLine + +export declare class ADX { + constructor(period: number) + update(high: number, low: number, close: number): AdxValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdxNode = ADX + +export declare class ADXR { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AdxrNode = ADXR + +export declare class Alligator { + constructor(jaw: number, teeth: number, lips: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number): AlligatorValue | null + batch(high: Array, low: Array): Array +} +export type AlligatorNode = Alligator + +export declare class ALMA { + constructor(period: number, offset: number, sigma: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(value: number): number | null + batch(prices: Array): Array +} +export type AlmaNode = ALMA + +export declare class Alpha { + constructor(period: number, riskFree: number) + update(asset: number, benchmark: number): number | null + batch(asset: Array, benchmark: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AlphaNode = Alpha + +export declare class AmihudIlliquidity { + constructor(period: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AmihudIlliquidityNode = AmihudIlliquidity + export declare class AnchoredRSI { constructor() setAnchor(): void @@ -2753,7 +241,8 @@ export declare class AnchoredRSI { isReady(): boolean warmupPeriod(): number } -export type AnchoredVwapNode = AnchoredVWAP +export type AnchoredRsiNode = AnchoredRSI + export declare class AnchoredVWAP { constructor() setAnchor(): void @@ -2764,156 +253,21 @@ export declare class AnchoredVWAP { 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, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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, low: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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`. - */ +export type AnchoredVwapNode = AnchoredVWAP + +export declare class AndrewsPitchfork { + constructor(strength: number) + update(high: number, low: number): AndrewsPitchforkValue | null batch(high: Array, low: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type PercentageTrailingStopNode = PercentageTrailingStop -export declare class PercentageTrailingStop { - constructor(percent: number) +export type AndrewsPitchforkNode = AndrewsPitchfork + +export declare class APO { + constructor(fast: number, slow: number) update(value: number): number | null batch(prices: Array): Array reset(): void @@ -2921,55 +275,52 @@ export declare class PercentageTrailingStop { isReady(): boolean warmupPeriod(): number } -export type StepTrailingStopNode = StepTrailingStop -export declare class StepTrailingStop { - constructor(stepSize: number) - update(value: number): number | null - batch(prices: Array): Array +export type ApoNode = APO + +export declare class Aroon { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number): AroonValue | null + batch(high: Array, low: Array): Array +} +export type AroonNode = Aroon + +export declare class AroonOscillator { + constructor(period: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type RenkoTrailingStopNode = RenkoTrailingStop -export declare class RenkoTrailingStop { - constructor(blockSize: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KaseDevStopNode = KaseDevStop -export declare class KaseDevStop { - constructor(period: number, dev: number) - update(high: number, low: number, close: number): KaseDevStopValue | null - /** - * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. - * Warmup positions are `NaN`. - */ +export type AroonOscillatorNode = AroonOscillator + +export declare class ATR { + constructor(period: number) + update(high: number, low: number, close: number): number | null batch(high: Array, low: Array, close: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type ElderSafeZoneNode = ElderSafeZone -export declare class ElderSafeZone { - constructor(period: number, coeff: number) - update(high: number, low: number, close: number): ElderSafeZoneValue | null - /** - * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. - * Warmup positions are `NaN`. - */ +export type AtrNode = ATR + +export declare class AtrBands { + constructor(period: number, multiplier: number) + update(high: number, low: number, close: number): AtrBandsValue | null batch(high: Array, low: Array, close: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type AtrRatchetNode = AtrRatchet +export type AtrBandsNode = AtrBands + export declare class AtrRatchet { constructor(atrPeriod: number, startMult: number, increment: number) update(high: number, low: number, close: number): AtrRatchetValue | null @@ -2983,37 +334,10 @@ export declare class AtrRatchet { isReady(): boolean warmupPeriod(): number } -export type NrtrNode = Nrtr -export declare class Nrtr { - constructor(pct: number) - update(high: number, low: number, close: number): NrtrValue | null - /** - * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. - * Warmup positions are `NaN`. - */ - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ModifiedMaStopNode = ModifiedMaStop -export declare class ModifiedMaStop { - constructor(period: number) - update(high: number, low: number, close: number): ModifiedMaStopValue | null - /** - * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. - * Warmup positions are `NaN`. - */ - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TypicalPriceNode = TypicalPrice -export declare class TypicalPrice { - constructor() +export type AtrRatchetNode = AtrRatchet + +export declare class AtrTrailingStop { + constructor(atrPeriod: number, multiplier: number) update(high: number, low: number, close: number): number | null batch(high: Array, low: Array, close: Array): Array reset(): void @@ -3021,29 +345,10 @@ export declare class TypicalPrice { isReady(): boolean warmupPeriod(): number } -export type MedianPriceNode = MedianPrice -export declare class MedianPrice { - constructor() - update(high: number, low: number): number | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LinearRegressionNode = LinearRegression -export declare class LinearRegression { - constructor(period: number) +export type AtrTrailingStopNode = AtrTrailingStop + +export declare class Autocorrelation { + constructor(period: number, lag: number) update(value: number): number | null batch(prices: Array): Array reset(): void @@ -3051,9 +356,10 @@ export declare class LinearRegression { isReady(): boolean warmupPeriod(): number } -export type LinRegSlopeNode = LinRegSlope -export declare class LinRegSlope { - constructor(period: number) +export type AutocorrelationNode = Autocorrelation + +export declare class AUTOCORRPGRAM { + constructor(minPeriod: number, maxPeriod: number) update(value: number): number | null batch(prices: Array): Array reset(): void @@ -3061,2761 +367,8 @@ export declare class LinRegSlope { 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, low: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LinRegAngleNode = LinRegAngle -export declare class LinRegAngle { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, volume: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type QuartileBandsNode = QuartileBands -export declare class QuartileBands { - constructor(period: number) - update(value: number): QuartileBandsValue | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BomarBandsNode = BomarBands -export declare class BomarBands { - constructor(period: number, coverage: number) - update(value: number): BomarBandsValue | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MedianChannelNode = MedianChannel -export declare class MedianChannel { - constructor(period: number, multiplier: number) - update(value: number): MedianChannelValue | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ProjectionBandsNode = ProjectionBands -export declare class ProjectionBands { - constructor(period: number) - update(high: number, low: number): ProjectionBandsValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CentralPivotRangeNode = CentralPivotRange -export declare class CentralPivotRange { - constructor() - update(high: number, low: number, close: number): CentralPivotRangeValue | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MurreyMathLinesNode = MurreyMathLines -export declare class MurreyMathLines { - constructor(period: number) - update(high: number, low: number): MurreyMathLinesValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AndrewsPitchforkNode = AndrewsPitchfork -export declare class AndrewsPitchfork { - constructor(strength: number) - update(high: number, low: number): AndrewsPitchforkValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolumeWeightedSrNode = VolumeWeightedSr -export declare class VolumeWeightedSr { - constructor(period: number) - update(high: number, low: number, volume: number): VolumeWeightedSrValue | null - batch(high: Array, low: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PivotReversalNode = PivotReversal -export declare class PivotReversal { - constructor(left: number, right: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WilliamsFractalsNode = WilliamsFractals -export declare class WilliamsFractals { - constructor() - update(high: number, low: number): WilliamsFractalsValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - 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, low: Array): Array - get threshold(): number - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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, low: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdDWaveNode = TDDWave -export declare class TDDWave { - constructor(strength: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdMovingAverageNode = TDMovingAverage -export declare class TDMovingAverage { - constructor(periodSt1: number, periodSt2: number) - update(high: number, low: number): TdMovingAverageValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type InverseFisherTransformNode = InverseFisherTransform -export declare class InverseFisherTransform { - constructor(scale: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HtDcPhaseNode = HT_DCPHASE -export declare class HT_DCPHASE { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HtTrendModeNode = HT_TRENDMODE -export declare class HT_TRENDMODE { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HilbertDominantCycleNode = HilbertDominantCycle -export declare class HilbertDominantCycle { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdaptiveCycleNode = AdaptiveCycle -export declare class AdaptiveCycle { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SineWaveNode = SineWave -export declare class SineWave { - constructor() - update(value: number): number | null - batch(prices: Array): Array - lead(): number - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HeikinAshiOscillatorNode = HeikinAshiOscillator -export declare class HeikinAshiOscillator { - constructor(period: number) - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ThreeLineBreakNode = ThreeLineBreak -export declare class ThreeLineBreak { - constructor(lines: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SmoothedHeikinAshiNode = SmoothedHeikinAshi -export declare class SmoothedHeikinAshi { - constructor(period: number) - update(open: number, high: number, low: number, close: number): SmoothedHeikinAshiValue | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EquivolumeNode = Equivolume -export declare class Equivolume { - constructor(period: number) - update(high: number, low: number, volume: number): EquivolumeValue | null - batch(high: Array, low: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CandleVolumeNode = CandleVolume -export declare class CandleVolume { - constructor(period: number) - update(open: number, close: number, volume: number): CandleVolumeValue | null - batch(open: Array, close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FryPanBottomNode = FryPanBottom -export declare class FryPanBottom { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DumplingTopNode = DumplingTop -export declare class DumplingTop { - constructor(period: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type NewPriceLinesNode = NewPriceLines -export declare class NewPriceLines { - constructor(count: number) - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ValueAreaNode = ValueArea -export declare class ValueArea { - constructor(period: number, binCount: number, valueAreaPct: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, volume: number): ValueAreaValue | null - batch(high: Array, low: Array, volume: Array): Array -} -export type NakedPocNode = NakedPoc -export declare class NakedPoc { - constructor(sessionLen: number, binCount: number) - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SinglePrintsNode = SinglePrints -export declare class SinglePrints { - constructor(period: number, binCount: number) - update(high: number, low: number): number | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ProfileShapeNode = ProfileShape -export declare class ProfileShape { - constructor(period: number, binCount: number) - update(high: number, low: number, volume: number): number | null - batch(high: Array, low: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HighLowVolumeNodesNode = HighLowVolumeNodes -export declare class HighLowVolumeNodes { - constructor(period: number, binCount: number) - update(high: number, low: number, volume: number): HighLowVolumeNodesValue | null - batch(high: Array, low: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CompositeProfileNode = CompositeProfile -export declare class CompositeProfile { - constructor(period: number, binCount: number, valueAreaPct: number) - update(high: number, low: number, volume: number): CompositeProfileValue | null - batch(high: Array, low: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolumeProfileNode = VolumeProfile -export declare class VolumeProfile { - constructor(period: number, binCount: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number, volume: number): VolumeProfileValue | null - batch(high: Array, low: Array, volume: Array): Array -} -export type TpoProfileNode = TpoProfile -export declare class TpoProfile { - constructor(period: number, binCount: number) - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - update(high: number, low: number): TpoProfileValue | null - batch(high: Array, low: Array): Array -} -export type InitialBalanceNode = InitialBalance -export declare class InitialBalance { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - isLocked(): boolean - warmupPeriod(): number - update(high: number, low: number): InitialBalanceValue | null - batch(high: Array, low: Array): Array -} -export type OpeningRangeNode = OpeningRange -export declare class OpeningRange { - constructor(period: number) - reset(): void - name(): string - isReady(): boolean - isLocked(): boolean - warmupPeriod(): number - update(high: number, low: number, close: number): OpeningRangeValue | null - batch(high: Array, low: Array, close: Array): Array -} -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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - 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, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DoubleTopBottomNode = DoubleTopBottom -export declare class DoubleTopBottom { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TripleTopBottomNode = TripleTopBottom -export declare class TripleTopBottom { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HeadAndShouldersNode = HeadAndShoulders -export declare class HeadAndShoulders { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TriangleNode = Triangle -export declare class Triangle { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type WedgeNode = Wedge -export declare class Wedge { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FlagPennantNode = FlagPennant -export declare class FlagPennant { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RectangleRangeNode = RectangleRange -export declare class RectangleRange { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CupAndHandleNode = CupAndHandle -export declare class CupAndHandle { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AbcdNode = Abcd -export declare class Abcd { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GartleyNode = Gartley -export declare class Gartley { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ButterflyNode = Butterfly -export declare class Butterfly { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BatNode = Bat -export declare class Bat { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CrabNode = Crab -export declare class Crab { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SharkNode = Shark -export declare class Shark { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CypherNode = Cypher -export declare class Cypher { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ThreeDrivesNode = ThreeDrives -export declare class ThreeDrives { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdCamouflageNode = TDCamouflage -export declare class TDCamouflage { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdClopNode = TDClop -export declare class TDClop { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdClopwinNode = TDClopwin -export declare class TDClopwin { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdPropulsionNode = TDPropulsion -export declare class TDPropulsion { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TdTrapNode = TDTrap -export declare class TDTrap { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TristarNode = Tristar -export declare class Tristar { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HaramiCrossNode = HaramiCross -export declare class HaramiCross { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TowerTopBottomNode = TowerTopBottom -export declare class TowerTopBottom { - constructor() - update(open: number, high: number, low: number, close: number): number | null - batch(open: Array, high: Array, low: Array, close: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OrderBookImbalanceTop1Node = OrderBookImbalanceTop1 -export declare class OrderBookImbalanceTop1 { - constructor() - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OrderBookImbalanceFullNode = OrderBookImbalanceFull -export declare class OrderBookImbalanceFull { - constructor() - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MicropriceNode = Microprice -export declare class Microprice { - constructor() - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type QuotedSpreadNode = QuotedSpread -export declare class QuotedSpread { - constructor() - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DepthSlopeNode = DepthSlope -export declare class DepthSlope { - constructor() - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OrderBookImbalanceTopNNode = OrderBookImbalanceTopN -export declare class OrderBookImbalanceTopN { - constructor(levels: number) - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TradeSignAutocorrelationNode = TradeSignAutocorrelation -export declare class TradeSignAutocorrelation { - constructor(period: number) - update(price: number, size: number, isBuy: boolean): number | null - batch(price: Array, size: Array, isBuy: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PinNode = Pin -export declare class Pin { - constructor(window: number) - update(price: number, size: number, isBuy: boolean): number | null - batch(price: Array, size: Array, isBuy: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OrderFlowImbalanceNode = OrderFlowImbalance -export declare class OrderFlowImbalance { - constructor(period: number) - update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null - batch(snapshots: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VpinNode = Vpin -export declare class Vpin { - constructor(bucketVolume: number, numBuckets: number) - update(price: number, size: number, isBuy: boolean): number | null - batch(price: Array, size: Array, isBuy: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AmihudIlliquidityNode = AmihudIlliquidity -export declare class AmihudIlliquidity { - constructor(period: number) - update(price: number, size: number, isBuy: boolean): number | null - batch(price: Array, size: Array, isBuy: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RollMeasureNode = RollMeasure -export declare class RollMeasure { - constructor(period: number) - update(price: number, size: number, isBuy: boolean): number | null - batch(price: Array, size: Array, isBuy: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array, mid: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array, mid: Array): Array - reset(): void - name(): string - 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, size: Array, isBuy: Array, mid: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FootprintNode = Footprint -export declare class Footprint { - constructor(tickSize: number) - update(price: number, size: number, isBuy: boolean): Array - batch(price: Array, size: Array, isBuy: Array): Array> - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FundingRateNode = FundingRate -export declare class FundingRate { - constructor() - update(fundingRate: number): number | null - batch(fundingRate: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FundingRateMeanNode = FundingRateMean -export declare class FundingRateMean { - constructor(window: number) - update(fundingRate: number): number | null - batch(fundingRate: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FundingRateZScoreNode = FundingRateZScore -export declare class FundingRateZScore { - constructor(window: number) - update(fundingRate: number): number | null - batch(fundingRate: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FundingBasisNode = FundingBasis -export declare class FundingBasis { - constructor() - update(markPrice: number, indexPrice: number): number | null - batch(markPrice: Array, indexPrice: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OpenInterestDeltaNode = OpenInterestDelta -export declare class OpenInterestDelta { - constructor() - update(openInterest: number): number | null - batch(openInterest: Array): Array - reset(): void - name(): string - 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, markPrice: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OIWeightedNode = OIWeighted -export declare class OIWeighted { - constructor() - update(markPrice: number, openInterest: number): number | null - batch(markPrice: Array, openInterest: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LongShortRatioNode = LongShortRatio -export declare class LongShortRatio { - constructor() - update(longSize: number, shortSize: number): number | null - batch(longSize: Array, shortSize: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TakerBuySellRatioNode = TakerBuySellRatio -export declare class TakerBuySellRatio { - constructor() - update(takerBuyVolume: number, takerSellVolume: number): number | null - batch(takerBuyVolume: Array, takerSellVolume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type LiquidationFeaturesNode = LiquidationFeatures -export declare class LiquidationFeatures { - constructor() - update(longLiquidation: number, shortLiquidation: number): LiquidationFeaturesValue | null - batch(longLiquidation: Array, shortLiquidation: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TermStructureBasisNode = TermStructureBasis -export declare class TermStructureBasis { - constructor() - update(futuresPrice: number, indexPrice: number): number | null - batch(futuresPrice: Array, indexPrice: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CalendarSpreadNode = CalendarSpread -export declare class CalendarSpread { - constructor() - update(futuresPrice: number, markPrice: number): number | null - batch(futuresPrice: Array, markPrice: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type EstimatedLeverageRatioNode = EstimatedLeverageRatio -export declare class EstimatedLeverageRatio { - constructor() - update(openInterest: number, longSize: number, shortSize: number): number | null - batch(openInterest: Array, longSize: Array, shortSize: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OiToVolumeRatioNode = OiToVolumeRatio -export declare class OiToVolumeRatio { - constructor() - update(openInterest: number, takerBuyVolume: number, takerSellVolume: number): number | null - batch(openInterest: Array, takerBuyVolume: Array, takerSellVolume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PerpetualPremiumIndexNode = PerpetualPremiumIndex -export declare class PerpetualPremiumIndex { - constructor() - update(markPrice: number, indexPrice: number): number | null - batch(markPrice: Array, indexPrice: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FundingImpliedAprNode = FundingImpliedApr -export declare class FundingImpliedApr { - constructor(intervalsPerYear: number) - update(fundingRate: number): number | null - batch(fundingRate: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OpenInterestMomentumNode = OpenInterestMomentum -export declare class OpenInterestMomentum { - constructor(period: number) - update(openInterest: number): number | null - batch(openInterest: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdvanceDeclineNode = AdvanceDecline -export declare class AdvanceDecline { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdvanceDeclineRatioNode = AdvanceDeclineRatio -export declare class AdvanceDeclineRatio { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AdVolumeLineNode = AdVolumeLine -export declare class AdVolumeLine { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type McClellanOscillatorNode = McClellanOscillator -export declare class McClellanOscillator { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type McClellanSummationIndexNode = McClellanSummationIndex -export declare class McClellanSummationIndex { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TrinNode = Trin -export declare class Trin { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BreadthThrustNode = BreadthThrust -export declare class BreadthThrust { - constructor(period: number) - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type NewHighsNewLowsNode = NewHighsNewLows -export declare class NewHighsNewLows { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type HighLowIndexNode = HighLowIndex -export declare class HighLowIndex { - constructor(period: number) - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PercentAboveMaNode = PercentAboveMa -export declare class PercentAboveMa { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array, aboveMa: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>, aboveMa: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type UpDownVolumeRatioNode = UpDownVolumeRatio -export declare class UpDownVolumeRatio { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BullishPercentIndexNode = BullishPercentIndex -export declare class BullishPercentIndex { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array, onBuySignal: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>, onBuySignal: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CumulativeVolumeIndexNode = CumulativeVolumeIndex -export declare class CumulativeVolumeIndex { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AbsoluteBreadthIndexNode = AbsoluteBreadthIndex -export declare class AbsoluteBreadthIndex { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TickIndexNode = TickIndex -export declare class TickIndex { - constructor() - update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null - batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type CalmarRatioNode = CalmarRatio -export declare class CalmarRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type MaxDrawdownNode = MaxDrawdown -export declare class MaxDrawdown { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AverageDrawdownNode = AverageDrawdown -export declare class AverageDrawdown { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type DrawdownDurationNode = DrawdownDuration -export declare class DrawdownDuration { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type PainIndexNode = PainIndex -export declare class PainIndex { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - 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): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type ProfitFactorNode = ProfitFactor -export declare class ProfitFactor { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type GainLossRatioNode = GainLossRatio -export declare class GainLossRatio { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RecoveryFactorNode = RecoveryFactor -export declare class RecoveryFactor { - constructor() - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type KellyCriterionNode = KellyCriterion -export declare class KellyCriterion { - constructor(period: number) - update(value: number): number | null - batch(prices: Array): Array - reset(): void - name(): string - 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, benchmark: Array): Array - reset(): void - name(): string - 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, benchmark: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type RenkoBarsNode = RenkoBars -export declare class RenkoBars { - constructor(boxSize: number) - update(close: number): Array - batch(close: Array): Array - boxSize(): number - reset(): void - name(): string -} -export type KagiBarsNode = KagiBars -export declare class KagiBars { - constructor(reversal: number) - update(close: number): Array - batch(close: Array): Array - reversal(): number - reset(): void - name(): string -} -export type PointAndFigureBarsNode = PointAndFigureBars -export declare class PointAndFigureBars { - constructor(boxSize: number, reversal: number) - update(close: number): Array - batch(close: Array): Array - boxSize(): number - reversal(): number - reset(): void - name(): string -} -export type RangeBarsNode = RangeBars -export declare class RangeBars { - constructor(range: number) - update(close: number): Array - batch(close: Array): Array - range(): number - reset(): void - name(): string -} -export type TickBarsNode = TickBars -export declare class TickBars { - constructor(ticks: number) - update(open: number, high: number, low: number, close: number, volume: number): Array - batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array - ticks(): number - reset(): void - name(): string -} -export type VolumeBarsNode = VolumeBars -export declare class VolumeBars { - constructor(volumePerBar: number) - update(open: number, high: number, low: number, close: number, volume: number): Array - batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array - volumePerBar(): number - reset(): void - name(): string -} -export type DollarBarsNode = DollarBars -export declare class DollarBars { - constructor(dollarPerBar: number) - update(open: number, high: number, low: number, close: number, volume: number): Array - batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array - dollarPerBar(): number - reset(): void - name(): string -} -export type ImbalanceBarsNode = ImbalanceBars -export declare class ImbalanceBars { - constructor(threshold: number) - update(open: number, high: number, low: number, close: number): Array - batch(open: Array, high: Array, low: Array, close: Array): Array - threshold(): number - reset(): void - name(): string -} -export type RunBarsNode = RunBars -export declare class RunBars { - constructor(runLength: number) - update(open: number, high: number, low: number, close: number): Array - batch(open: Array, high: Array, low: Array, close: Array): Array - runLength(): number - reset(): void - name(): string -} -export type ThreeLineBreakBarsNode = ThreeLineBreakBars -export declare class ThreeLineBreakBars { - constructor(lines: number) - update(close: number): Array - batch(close: Array): Array - lines(): number - reset(): void - name(): string -} -export type AlphaNode = Alpha -export declare class Alpha { - constructor(period: number, riskFree: number) - update(asset: number, benchmark: number): number | null - batch(asset: Array, benchmark: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SessionVwapNode = SessionVwap -export declare class SessionVwap { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - utcOffsetMinutes(): number -} -export type OvernightGapNode = OvernightGap -export declare class OvernightGap { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - utcOffsetMinutes(): number -} -export type SeasonalZScoreNode = SeasonalZScore -export declare class SeasonalZScore { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - utcOffsetMinutes(): number -} -export type TimeOfDayReturnProfileNode = TimeOfDayReturnProfile -export declare class TimeOfDayReturnProfile { - constructor(buckets: number, utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - buckets(): number - utcOffsetMinutes(): number -} -export type IntradayVolatilityProfileNode = IntradayVolatilityProfile -export declare class IntradayVolatilityProfile { - constructor(buckets: number, utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - buckets(): number - utcOffsetMinutes(): number -} -export type VolumeByTimeProfileNode = VolumeByTimeProfile -export declare class VolumeByTimeProfile { - constructor(buckets: number, utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - buckets(): number - utcOffsetMinutes(): number -} -export type DayOfWeekProfileNode = DayOfWeekProfile -export declare class DayOfWeekProfile { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number - utcOffsetMinutes(): number -} -export type AverageDailyRangeNode = AverageDailyRange -export declare class AverageDailyRange { - constructor(period: number, utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type TurnOfMonthNode = TurnOfMonth -export declare class TurnOfMonth { - constructor(nFirst: number, nLast: number, utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SessionHighLowNode = SessionHighLow -export declare class SessionHighLow { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): SessionHighLowValue | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type SessionRangeNode = SessionRange -export declare class SessionRange { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): SessionRangeValue | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type OvernightIntradayReturnNode = OvernightIntradayReturn -export declare class OvernightIntradayReturn { - constructor(utcOffsetMinutes: number) - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): OvernightIntradayReturnValue | null - batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibRetracementNode = FibRetracement -export declare class FibRetracement { - constructor() - update(high: number, low: number): FibRetracementValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibExtensionNode = FibExtension -export declare class FibExtension { - constructor() - update(high: number, low: number): FibExtensionValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibProjectionNode = FibProjection -export declare class FibProjection { - constructor() - update(high: number, low: number): FibProjectionValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type AutoFibNode = AutoFib +export type AutocorrelationPeriodogramNode = AUTOCORRPGRAM + export declare class AutoFib { constructor() update(high: number, low: number): AutoFibValue | null @@ -5825,117 +378,137 @@ export declare class AutoFib { isReady(): boolean warmupPeriod(): number } -export type GoldenPocketNode = GoldenPocket -export declare class GoldenPocket { - constructor() - update(high: number, low: number): GoldenPocketValue | null - batch(high: Array, low: Array): Array +export type AutoFibNode = AutoFib + +export declare class AverageDailyRange { + constructor(period: number, utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type FibConfluenceNode = FibConfluence -export declare class FibConfluence { - constructor() - update(high: number, low: number): FibConfluenceValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibFanNode = FibFan -export declare class FibFan { - constructor() - update(high: number, low: number): FibFanValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibArcsNode = FibArcs -export declare class FibArcs { - constructor() - update(high: number, low: number): FibArcsValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibChannelNode = FibChannel -export declare class FibChannel { - constructor() - update(high: number, low: number): FibChannelValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type FibTimeZonesNode = FibTimeZones -export declare class FibTimeZones { - constructor() - update(high: number, low: number): FibTimeZonesValue | null - batch(high: Array, low: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type VolumeRsiNode = VolumeRsi -export declare class VolumeRsi { +export type AverageDailyRangeNode = AverageDailyRange + +export declare class AverageDrawdown { constructor(period: number) - update(close: number, volume: number): number | null - batch(close: Array, volume: Array): Array + update(value: number): number | null + batch(prices: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type WadNode = Wad -export declare class Wad { +export type AverageDrawdownNode = AverageDrawdown + +export declare class AVGPRICE { constructor() - update(high: number, low: number, close: number): number | null - batch(high: Array, low: Array, close: Array): Array + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type TwiggsMoneyFlowNode = TwiggsMoneyFlow -export declare class TwiggsMoneyFlow { +export type AvgPriceNode = AVGPRICE + +export declare class AwesomeOscillator { + constructor(fast: number, slow: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array +} +export type AoNode = AwesomeOscillator + +export declare class AwesomeOscillatorHistogram { + constructor(fast: number, slow: number, smaPeriod: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type AwesomeOscillatorHistogramNode = AwesomeOscillatorHistogram + +export declare class BalanceOfPower { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BalanceOfPowerNode = BalanceOfPower + +export declare class BANDPASS { + constructor(period: number, bandwidth: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BandpassFilterNode = BANDPASS + +export declare class Bat { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BatNode = Bat + +export declare class BeltHold { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BeltHoldNode = BeltHold + +export declare class Beta { constructor(period: number) - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array + 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, y: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type TradeVolumeIndexNode = TradeVolumeIndex -export declare class TradeVolumeIndex { - constructor(minTick: number) - update(close: number, volume: number): number | null - batch(close: Array, volume: Array): Array +export type BetaNode = Beta + +export declare class BetaNeutralSpread { + 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, y: Array): Array reset(): void name(): string isReady(): boolean warmupPeriod(): number } -export type IntradayIntensityNode = IntradayIntensity -export declare class IntradayIntensity { - constructor() - update(high: number, low: number, close: number, volume: number): number | null - batch(high: Array, low: Array, close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BetterVolumeNode = BetterVolume +export type BetaNeutralSpreadNode = BetaNeutralSpread + export declare class BetterVolume { constructor(period: number) update(high: number, low: number, close: number, volume: number): number | null @@ -5945,21 +518,8 @@ export declare class BetterVolume { isReady(): boolean warmupPeriod(): number } -export type VolumeWeightedMacdNode = VolumeWeightedMacd -export declare class VolumeWeightedMacd { - constructor(fast: number, slow: number, signal: number) - update(close: number, volume: number): VolumeWeightedMacdValue | null - /** - * Returns `[macd0, signal0, histogram0, macd1, ...]`, length `3 * n`. - * Warmup positions are `NaN`. - */ - batch(close: Array, volume: Array): Array - reset(): void - name(): string - isReady(): boolean - warmupPeriod(): number -} -export type BinanceFeedNode = BinanceFeed +export type BetterVolumeNode = BetterVolume + /** * A live Binance kline feed. `next` is a blocking poll (it waits up to the * timeout on the calling thread) driving the mock-server-tested wickra-data @@ -5983,7 +543,4456 @@ export declare class BinanceFeed { /** Close the stream; subsequent `next` calls throw. */ close(): void } -export type TickAggregatorNode = TickAggregator +export type BinanceFeedNode = BinanceFeed + +export declare class BipowerVariation { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BipowerVariationNode = BipowerVariation + +export declare class BodySizePct { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BodySizePctNode = BodySizePct + +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): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BollingerNode = BollingerBands + +export declare class BollingerBandwidth { + constructor(period: number, multiplier: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BollingerBandwidthNode = BollingerBandwidth + +export declare class BomarBands { + constructor(period: number, coverage: number) + update(value: number): BomarBandsValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BomarBandsNode = BomarBands + +export declare class BreadthThrust { + constructor(period: number) + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BreadthThrustNode = BreadthThrust + +export declare class Breakaway { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BreakawayNode = Breakaway + +export declare class BullishPercentIndex { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array, onBuySignal: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>, onBuySignal: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BullishPercentIndexNode = BullishPercentIndex + +export declare class BurkeRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type BurkeRatioNode = BurkeRatio + +export declare class Butterfly { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ButterflyNode = Butterfly + +export declare class CalendarSpread { + constructor() + update(futuresPrice: number, markPrice: number): number | null + batch(futuresPrice: Array, markPrice: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CalendarSpreadNode = CalendarSpread + +export declare class CalmarRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CalmarRatioNode = CalmarRatio + +export declare class Camarilla { + constructor() + update(high: number, low: number, close: number): CamarillaValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CamarillaNode = Camarilla + +/** + * Parse OHLCV candles from a CSV string (header `timestamp,open,high,low,close, + * volume`; a leading UTF-8 BOM is stripped). + */ +export declare class CandleReader { + /** Parse the whole CSV up front; throws on a malformed header or row. */ + constructor(csv: string) + /** Return every parsed candle as `{ open, high, low, close, volume, timestamp }`. */ + read(): Array +} +export type CandleReaderNode = CandleReader + +export declare class CandleVolume { + constructor(period: number) + update(open: number, close: number, volume: number): CandleVolumeValue | null + batch(open: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CandleVolumeNode = CandleVolume + +export declare class CCI { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array +} +export type CciNode = CCI + +export declare class CenterOfGravity { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CenterOfGravityNode = CenterOfGravity + +export declare class CentralPivotRange { + constructor() + update(high: number, low: number, close: number): CentralPivotRangeValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CentralPivotRangeNode = CentralPivotRange + +export declare class CFO { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CfoNode = CFO + +export declare class ChaikinMoneyFlow { + constructor(period: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChaikinMoneyFlowNode = ChaikinMoneyFlow + +export declare class ChaikinOscillator { + constructor(fast: number, slow: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChaikinOscillatorNode = ChaikinOscillator + +export declare class ChaikinVolatility { + constructor(emaPeriod: number, rocPeriod: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChaikinVolatilityNode = ChaikinVolatility + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChandeKrollStopNode = ChandeKrollStop + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChandelierExitNode = ChandelierExit + +export declare class ChoppinessIndex { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ChoppinessIndexNode = ChoppinessIndex + +export declare class ClassicPivots { + constructor() + update(high: number, low: number, close: number): ClassicPivotsValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ClassicPivotsNode = ClassicPivots + +export declare class CloseVsOpen { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CloseVsOpenNode = CloseVsOpen + +export declare class ClosingMarubozu { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ClosingMarubozuNode = ClosingMarubozu + +export declare class CMO { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CmoNode = CMO + +export declare class CoefficientOfVariation { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CoefficientOfVariationNode = CoefficientOfVariation + +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, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CointegrationNode = Cointegration + +export declare class CommonSenseRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CommonSenseRatioNode = CommonSenseRatio + +export declare class CompositeProfile { + constructor(period: number, binCount: number, valueAreaPct: number) + update(high: number, low: number, volume: number): CompositeProfileValue | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CompositeProfileNode = CompositeProfile + +export declare class ConcealingBabySwallow { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ConcealingBabySwallowNode = ConcealingBabySwallow + +export declare class ConditionalValueAtRisk { + constructor(period: number, confidence: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ConditionalValueAtRiskNode = ConditionalValueAtRisk + +export declare class ConnorsRSI { + constructor(periodRsi: number, periodStreak: number, periodRank: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ConnorsRsiNode = ConnorsRSI + +export declare class Coppock { + constructor(rocLong: number, rocShort: number, wmaPeriod: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CoppockNode = Coppock + +export declare class Counterattack { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CounterattackNode = Counterattack + +export declare class Crab { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CrabNode = Crab + +export declare class CTI { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CorrelationTrendIndicatorNode = CTI + +export declare class CumulativeVolumeDelta { + constructor() + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CumulativeVolumeDeltaNode = CumulativeVolumeDelta + +export declare class CumulativeVolumeIndex { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CumulativeVolumeIndexNode = CumulativeVolumeIndex + +export declare class CupAndHandle { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CupAndHandleNode = CupAndHandle + +export declare class CyberneticCycle { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CyberneticCycleNode = CyberneticCycle + +export declare class Cypher { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type CypherNode = Cypher + +export declare class DayOfWeekProfile { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + utcOffsetMinutes(): number +} +export type DayOfWeekProfileNode = DayOfWeekProfile + +export declare class Decycler { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DecyclerNode = Decycler + +export declare class DecyclerOscillator { + constructor(fast: number, slow: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DecyclerOscillatorNode = DecyclerOscillator + +export declare class DEMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DemaNode = DEMA + +export declare class DemandIndex { + constructor(period: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DemandIndexNode = DemandIndex + +export declare class DemarkPivots { + constructor() + update(open: number, high: number, low: number, close: number): DemarkPivotsValue | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DemarkPivotsNode = DemarkPivots + +export declare class DepthSlope { + constructor() + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DepthSlopeNode = DepthSlope + +export declare class DerivativeOscillator { + constructor(rsiPeriod: number, smooth1: number, smooth2: number, signalPeriod: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DerivativeOscillatorNode = DerivativeOscillator + +export declare class DetrendedStdDev { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DetrendedStdDevNode = DetrendedStdDev + +export declare class DisparityIndex { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DisparityIndexNode = DisparityIndex + +export declare class DistanceSsd { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DistanceSsdNode = DistanceSsd + +export declare class Doji { + constructor(signed?: boolean | undefined | null) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + isSigned(): boolean +} +export type DojiNode = Doji + +export declare class DojiStar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DojiStarNode = DojiStar + +export declare class DollarBars { + constructor(dollarPerBar: number) + update(open: number, high: number, low: number, close: number, volume: number): Array + batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array + dollarPerBar(): number + reset(): void + name(): string +} +export type DollarBarsNode = DollarBars + +export declare class Donchian { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number): DonchianValue | null + batch(high: Array, low: Array): Array +} +export type DonchianNode = Donchian + +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, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DonchianStopNode = DonchianStop + +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): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DoubleBollingerNode = DoubleBollinger + +export declare class DoubleTopBottom { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DoubleTopBottomNode = DoubleTopBottom + +export declare class DownsideGapThreeMethods { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DownsideGapThreeMethodsNode = DownsideGapThreeMethods + +export declare class DPO { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DpoNode = DPO + +export declare class DragonflyDoji { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DragonflyDojiNode = DragonflyDoji + +export declare class DrawdownDuration { + constructor() + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DrawdownDurationNode = DrawdownDuration + +export declare class DumplingTop { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DumplingTopNode = DumplingTop + +export declare class DX { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DxNode = DX + +export declare class DynamicMomentumIndex { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type DynamicMomentumIndexNode = DynamicMomentumIndex + +export declare class EaseOfMovement { + constructor(period: number, divisor: number) + update(high: number, low: number, volume: number): number | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EaseOfMovementNode = EaseOfMovement + +export declare class EffectiveSpread { + constructor() + update(price: number, size: number, isBuy: boolean, mid: number): number | null + batch(price: Array, size: Array, isBuy: Array, mid: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EffectiveSpreadNode = EffectiveSpread + +export declare class EhlersStochastic { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EhlersStochasticNode = EhlersStochastic + +export declare class EHMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EhmaNode = EHMA + +export declare class ElderImpulse { + constructor(emaPeriod: number, macdFast: number, macdSlow: number, macdSignal: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ElderImpulseNode = ElderImpulse + +export declare class ElderRay { + constructor(period: number) + update(high: number, low: number, close: number): ElderRayValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ElderRayNode = ElderRay + +export declare class ElderSafeZone { + constructor(period: number, coeff: number) + update(high: number, low: number, close: number): ElderSafeZoneValue | null + /** + * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. + * Warmup positions are `NaN`. + */ + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ElderSafeZoneNode = ElderSafeZone + +export declare class EMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EmaNode = EMA + +export declare class EmpiricalModeDecomposition { + constructor(period: number, fraction: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EmpiricalModeDecompositionNode = EmpiricalModeDecomposition + +export declare class Engulfing { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EngulfingNode = Engulfing + +export declare class Equivolume { + constructor(period: number) + update(high: number, low: number, volume: number): EquivolumeValue | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EquivolumeNode = Equivolume + +export declare class EstimatedLeverageRatio { + constructor() + update(openInterest: number, longSize: number, shortSize: number): number | null + batch(openInterest: Array, longSize: Array, shortSize: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EstimatedLeverageRatioNode = EstimatedLeverageRatio + +export declare class EVENBETTERSINE { + constructor(hpPeriod: number, ssfLength: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EvenBetterSinewaveNode = EVENBETTERSINE + +export declare class EveningDojiStar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EveningDojiStarNode = EveningDojiStar + +export declare class EVWMA { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EvwmaNode = EVWMA + +export declare class EwmaVolatility { + constructor(lambda: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type EwmaVolatilityNode = EwmaVolatility + +export declare class Expectancy { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ExpectancyNode = Expectancy + +export declare class FallingThreeMethods { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FallingThreeMethodsNode = FallingThreeMethods + +export declare class FAMA { + constructor(fastLimit: number, slowLimit: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FamaNode = FAMA + +export declare class FibArcs { + constructor() + update(high: number, low: number): FibArcsValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibArcsNode = FibArcs + +export declare class FibChannel { + constructor() + update(high: number, low: number): FibChannelValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibChannelNode = FibChannel + +export declare class FibConfluence { + constructor() + update(high: number, low: number): FibConfluenceValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibConfluenceNode = FibConfluence + +export declare class FibExtension { + constructor() + update(high: number, low: number): FibExtensionValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibExtensionNode = FibExtension + +export declare class FibFan { + constructor() + update(high: number, low: number): FibFanValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibFanNode = FibFan + +export declare class FibonacciPivots { + constructor() + update(high: number, low: number, close: number): FibonacciPivotsValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibonacciPivotsNode = FibonacciPivots + +export declare class FibProjection { + constructor() + update(high: number, low: number): FibProjectionValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibProjectionNode = FibProjection + +export declare class FibRetracement { + constructor() + update(high: number, low: number): FibRetracementValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibRetracementNode = FibRetracement + +export declare class FibTimeZones { + constructor() + update(high: number, low: number): FibTimeZonesValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FibTimeZonesNode = FibTimeZones + +export declare class FisherRSI { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FisherRsiNode = FisherRSI + +export declare class FisherTransform { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FisherTransformNode = FisherTransform + +export declare class FlagPennant { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FlagPennantNode = FlagPennant + +export declare class Footprint { + constructor(tickSize: number) + update(price: number, size: number, isBuy: boolean): Array + batch(price: Array, size: Array, isBuy: Array): Array> + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FootprintNode = Footprint + +export declare class ForceIndex { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ForceIndexNode = ForceIndex + +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, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FractalChaosBandsNode = FractalChaosBands + +export declare class FRAMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FramaNode = FRAMA + +export declare class FryPanBottom { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FryPanBottomNode = FryPanBottom + +export declare class FundingBasis { + constructor() + update(markPrice: number, indexPrice: number): number | null + batch(markPrice: Array, indexPrice: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FundingBasisNode = FundingBasis + +export declare class FundingImpliedApr { + constructor(intervalsPerYear: number) + update(fundingRate: number): number | null + batch(fundingRate: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FundingImpliedAprNode = FundingImpliedApr + +export declare class FundingRate { + constructor() + update(fundingRate: number): number | null + batch(fundingRate: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FundingRateNode = FundingRate + +export declare class FundingRateMean { + constructor(window: number) + update(fundingRate: number): number | null + batch(fundingRate: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FundingRateMeanNode = FundingRateMean + +export declare class FundingRateZScore { + constructor(window: number) + update(fundingRate: number): number | null + batch(fundingRate: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type FundingRateZScoreNode = FundingRateZScore + +export declare class GainLossRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GainLossRatioNode = GainLossRatio + +export declare class GainToPainRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GainToPainRatioNode = GainToPainRatio + +export declare class GapSideBySideWhite { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GapSideBySideWhiteNode = GapSideBySideWhite + +export declare class Garch11 { + constructor(omega: number, alpha: number, beta: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type Garch11Node = Garch11 + +export declare class GarmanKlassVolatility { + constructor(period: number, tradingPeriods: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GarmanKlassVolatilityNode = GarmanKlassVolatility + +export declare class Gartley { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GartleyNode = Gartley + +export declare class GatorOscillator { + constructor(jawPeriod: number, teethPeriod: number, lipsPeriod: number) + update(high: number, low: number, close: number): GatorOscillatorValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GatorOscillatorNode = GatorOscillator + +export declare class GD { + constructor(period: number, v: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GeneralizedDemaNode = GD + +export declare class GMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GeometricMaNode = GMA + +export declare class GoldenPocket { + constructor() + update(high: number, low: number): GoldenPocketValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GoldenPocketNode = GoldenPocket + +/** + * Granger causality F-statistic: two ctor params (`period`, `lag`), one + * `(a, b)` pair per update, a single F-statistic out. + */ +export declare class GrangerCausality { + constructor(period: number, lag: number) + update(a: number, b: number): number | null + /** + * Batch over two equally-sized arrays. Returns a length-`n` array with + * `NaN` for warmup positions. + */ + batch(a: Array, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GrangerCausalityNode = GrangerCausality + +export declare class GravestoneDoji { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type GravestoneDojiNode = GravestoneDoji + +export declare class Hammer { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HammerNode = Hammer + +export declare class HangingMan { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HangingManNode = HangingMan + +export declare class Harami { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HaramiNode = Harami + +export declare class HaramiCross { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HaramiCrossNode = HaramiCross + +export declare class HasbrouckInformationShare { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HasbrouckInformationShareNode = HasbrouckInformationShare + +export declare class HeadAndShoulders { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HeadAndShouldersNode = HeadAndShoulders + +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, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HeikinAshiNode = HeikinAshi + +export declare class HeikinAshiOscillator { + constructor(period: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HeikinAshiOscillatorNode = HeikinAshiOscillator + +export declare class HighLowIndex { + constructor(period: number) + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HighLowIndexNode = HighLowIndex + +export declare class HighLowRange { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HighLowRangeNode = HighLowRange + +export declare class HighLowVolumeNodes { + constructor(period: number, binCount: number) + update(high: number, low: number, volume: number): HighLowVolumeNodesValue | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HighLowVolumeNodesNode = HighLowVolumeNodes + +export declare class HIGHPASS { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HighpassFilterNode = HIGHPASS + +export declare class HighWave { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HighWaveNode = HighWave + +export declare class Hikkake { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HikkakeNode = Hikkake + +export declare class HikkakeModified { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HikkakeModifiedNode = HikkakeModified + +export declare class HilbertDominantCycle { + constructor() + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HilbertDominantCycleNode = HilbertDominantCycle + +export declare class HiLoActivator { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HiLoActivatorNode = HiLoActivator + +export declare class HistoricalVolatility { + constructor(period: number, tradingPeriods: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HistoricalVolatilityNode = HistoricalVolatility + +export declare class HMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HmaNode = HMA + +export declare class HoltWinters { + constructor(alpha: number, beta: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HoltWintersNode = HoltWinters + +export declare class HomingPigeon { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HomingPigeonNode = HomingPigeon + +export declare class HT_DCPHASE { + constructor() + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HtDcPhaseNode = HT_DCPHASE + +export declare class HT_PHASOR { + constructor() + update(value: number): HtPhasorValue | null + /** + * Batch over a price array. Returns a flat array of length `2 * n`, + * interleaved per row as `[inphase0, quadrature0, inphase1, ...]`. + */ + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HtPhasorNode = HT_PHASOR + +export declare class HT_TRENDMODE { + constructor() + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HtTrendModeNode = HT_TRENDMODE + +export declare class HurstChannel { + constructor(period: number, multiplier: number) + update(high: number, low: number, close: number): HurstChannelValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HurstChannelNode = HurstChannel + +export declare class HurstExponent { + constructor(period: number, chunks: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type HurstExponentNode = HurstExponent + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type IchimokuNode = Ichimoku + +export declare class IdenticalThreeCrows { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type IdenticalThreeCrowsNode = IdenticalThreeCrows + +export declare class ImbalanceBars { + constructor(threshold: number) + update(open: number, high: number, low: number, close: number): Array + batch(open: Array, high: Array, low: Array, close: Array): Array + threshold(): number + reset(): void + name(): string +} +export type ImbalanceBarsNode = ImbalanceBars + +export declare class IMI { + constructor(period: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ImiNode = IMI + +export declare class Inertia { + constructor(rviPeriod: number, linregPeriod: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InertiaNode = Inertia + +export declare class InformationRatio { + constructor(period: number) + update(asset: number, benchmark: number): number | null + batch(asset: Array, benchmark: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InformationRatioNode = InformationRatio + +export declare class InitialBalance { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + isLocked(): boolean + warmupPeriod(): number + update(high: number, low: number): InitialBalanceValue | null + batch(high: Array, low: Array): Array +} +export type InitialBalanceNode = InitialBalance + +export declare class InNeck { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InNeckNode = InNeck + +export declare class InstantaneousTrendline { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InstantaneousTrendlineNode = InstantaneousTrendline + +export declare class IntradayIntensity { + constructor() + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type IntradayIntensityNode = IntradayIntensity + +export declare class IntradayVolatilityProfile { + constructor(buckets: number, utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + buckets(): number + utcOffsetMinutes(): number +} +export type IntradayVolatilityProfileNode = IntradayVolatilityProfile + +export declare class InverseFisherTransform { + constructor(scale: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InverseFisherTransformNode = InverseFisherTransform + +export declare class InvertedHammer { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type InvertedHammerNode = InvertedHammer + +export declare class JARQUEBERA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type JarqueBeraNode = JARQUEBERA + +export declare class JMA { + constructor(period: number, phase: number, power: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(value: number): number | null + batch(prices: Array): Array +} +export type JmaNode = JMA + +export declare class JumpIndicator { + constructor(period: number, threshold: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type JumpIndicatorNode = JumpIndicator + +export declare class KagiBars { + constructor(reversal: number) + update(close: number): Array + batch(close: Array): Array + reversal(): number + reset(): void + name(): string +} +export type KagiBarsNode = KagiBars + +export declare class KalmanHedgeRatio { + constructor(delta: number, observationVar: number) + update(a: number, b: number): KalmanHedgeRatioValue | null + /** + * Batch over two equally-sized arrays. Returns a flat array of length + * `3 * n`, interleaved per row as `[hedgeRatio0, intercept0, spread0, ...]`. + * Read column `j` of row `i` as `result[i * 3 + j]`. Warmup rows are `NaN`. + */ + batch(a: Array, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KalmanHedgeRatioNode = KalmanHedgeRatio + +export declare class KAMA { + constructor(erPeriod: number, fast: number, slow: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(value: number): number | null + batch(prices: Array): Array +} +export type KamaNode = KAMA + +export declare class KaseDevStop { + constructor(period: number, dev: number) + update(high: number, low: number, close: number): KaseDevStopValue | null + /** + * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. + * Warmup positions are `NaN`. + */ + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KaseDevStopNode = KaseDevStop + +export declare class KasePermissionStochastic { + constructor(length: number, smooth: number) + update(high: number, low: number, close: number): KasePermissionStochasticValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KasePermissionStochasticNode = KasePermissionStochastic + +export declare class KellyCriterion { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KellyCriterionNode = KellyCriterion + +export declare class Keltner { + constructor(emaPeriod: number, atrPeriod: number, multiplier: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number): KeltnerValue | null + batch(high: Array, low: Array, close: Array): Array +} +export type KeltnerNode = Keltner + +export declare class KendallTau { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KendallTauNode = KendallTau + +export declare class Kicking { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KickingNode = Kicking + +export declare class KickingByLength { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KickingByLengthNode = KickingByLength + +export declare class KRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KRatioNode = KRatio + +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(): KST + update(value: number): KstValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KstNode = KST + +export declare class Kurtosis { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KurtosisNode = Kurtosis + +export declare class KVO { + constructor(fast: number, slow: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KvoNode = KVO + +export declare class KylesLambda { + constructor(window: number) + update(price: number, size: number, isBuy: boolean, mid: number): number | null + batch(price: Array, size: Array, isBuy: Array, mid: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type KylesLambdaNode = KylesLambda + +export declare class LadderBottom { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LadderBottomNode = LadderBottom + +export declare class LaguerreRSI { + constructor(gamma: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LaguerreRsiNode = LaguerreRSI + +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, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LeadLagCrossCorrelationNode = LeadLagCrossCorrelation + +export declare class LINEARREG_INTERCEPT { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LinRegInterceptNode = LINEARREG_INTERCEPT + +export declare class LinearRegression { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LinearRegressionNode = LinearRegression + +export declare class LinRegAngle { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LinRegAngleNode = LinRegAngle + +export declare class LinRegChannel { + constructor(period: number, multiplier: number) + update(value: number): LinRegChannelValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LinRegChannelNode = LinRegChannel + +export declare class LinRegSlope { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LinRegSlopeNode = LinRegSlope + +export declare class LiquidationFeatures { + constructor() + update(longLiquidation: number, shortLiquidation: number): LiquidationFeaturesValue | null + batch(longLiquidation: Array, shortLiquidation: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LiquidationFeaturesNode = LiquidationFeatures + +export declare class LogReturn { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LogReturnNode = LogReturn + +export declare class LongLeggedDoji { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LongLeggedDojiNode = LongLeggedDoji + +export declare class LongLine { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LongLineNode = LongLine + +export declare class LongShortRatio { + constructor() + update(longSize: number, shortSize: number): number | null + batch(longSize: Array, shortSize: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type LongShortRatioNode = LongShortRatio + +export declare class M2Measure { + constructor(period: number, riskFree: number, benchmarkStddev: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type M2MeasureNode = M2Measure + +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): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MacdNode = MACD + +export declare class MACDEXT { + /** + * Moving-average types are TA-Lib `MA_Type` codes `0..=5` + * (SMA, EMA, WMA, DEMA, TEMA, TRIMA). + */ + constructor(fast: number, fastMatype: number, slow: number, slowMatype: number, signal: number, signalMatype: 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, ...]`. + */ + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MacdExtNode = MACDEXT + +export declare class MACDFIX { + constructor(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, ...]`. + */ + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MacdFixNode = MACDFIX + +export declare class MacdHistogram { + constructor(fast: number, slow: number, signal: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MacdHistogramNode = MacdHistogram + +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): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MaEnvelopeNode = MaEnvelope + +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): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MamaNode = MAMA + +export declare class MarketFacilitationIndex { + constructor() + update(high: number, low: number, volume: number): number | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MarketFacilitationIndexNode = MarketFacilitationIndex + +export declare class MartinRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MartinRatioNode = MartinRatio + +export declare class Marubozu { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MarubozuNode = Marubozu + +export declare class MassIndex { + constructor(emaPeriod: number, sumPeriod: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MassIndexNode = MassIndex + +export declare class MatchingLow { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MatchingLowNode = MatchingLow + +export declare class MatHold { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MatHoldNode = MatHold + +export declare class MaxDrawdown { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MaxDrawdownNode = MaxDrawdown + +export declare class McClellanOscillator { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type McClellanOscillatorNode = McClellanOscillator + +export declare class McClellanSummationIndex { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type McClellanSummationIndexNode = McClellanSummationIndex + +export declare class McGinleyDynamic { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type McGinleyDynamicNode = McGinleyDynamic + +export declare class MedianAbsoluteDeviation { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MedianAbsoluteDeviationNode = MedianAbsoluteDeviation + +export declare class MedianChannel { + constructor(period: number, multiplier: number) + update(value: number): MedianChannelValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MedianChannelNode = MedianChannel + +export declare class MedianMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MedianMaNode = MedianMA + +export declare class MedianPrice { + constructor() + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MedianPriceNode = MedianPrice + +export declare class MFI { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array +} +export type MfiNode = MFI + +export declare class Microprice { + constructor() + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MicropriceNode = Microprice + +export declare class MIDPOINT { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MidPointNode = MIDPOINT + +export declare class MIDPRICE { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MidPriceNode = MIDPRICE + +export declare class MINUS_DI { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MinusDiNode = MINUS_DI + +export declare class MINUS_DM { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MinusDmNode = MINUS_DM + +export declare class ModifiedMaStop { + constructor(period: number) + update(high: number, low: number, close: number): ModifiedMaStopValue | null + /** + * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. + * Warmup positions are `NaN`. + */ + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ModifiedMaStopNode = ModifiedMaStop + +export declare class MOM { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MomNode = MOM + +export declare class MorningDojiStar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MorningDojiStarNode = MorningDojiStar + +export declare class MorningEveningStar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MorningEveningStarNode = MorningEveningStar + +export declare class MurreyMathLines { + constructor(period: number) + update(high: number, low: number): MurreyMathLinesValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type MurreyMathLinesNode = MurreyMathLines + +export declare class NakedPoc { + constructor(sessionLen: number, binCount: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NakedPocNode = NakedPoc + +export declare class NATR { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NatrNode = NATR + +export declare class NewHighsNewLows { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NewHighsNewLowsNode = NewHighsNewLows + +export declare class NewPriceLines { + constructor(count: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NewPriceLinesNode = NewPriceLines + +export declare class Nrtr { + constructor(pct: number) + update(high: number, low: number, close: number): NrtrValue | null + /** + * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`. + * Warmup positions are `NaN`. + */ + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NrtrNode = Nrtr + +export declare class NVI { + constructor(baseline?: number | undefined | null) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type NviNode = NVI + +export declare class OBV { + constructor() + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ObvNode = OBV + +export declare class OIPriceDivergence { + constructor(window: number) + update(openInterest: number, markPrice: number): number | null + batch(openInterest: Array, markPrice: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OIPriceDivergenceNode = OIPriceDivergence + +export declare class OiToVolumeRatio { + constructor() + update(openInterest: number, takerBuyVolume: number, takerSellVolume: number): number | null + batch(openInterest: Array, takerBuyVolume: Array, takerSellVolume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OiToVolumeRatioNode = OiToVolumeRatio + +export declare class OIWeighted { + constructor() + update(markPrice: number, openInterest: number): number | null + batch(markPrice: Array, openInterest: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OIWeightedNode = OIWeighted + +export declare class OmegaRatio { + constructor(period: number, threshold: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OmegaRatioNode = OmegaRatio + +export declare class OnNeck { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OnNeckNode = OnNeck + +export declare class OpeningMarubozu { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OpeningMarubozuNode = OpeningMarubozu + +export declare class OpeningRange { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + isLocked(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number): OpeningRangeValue | null + batch(high: Array, low: Array, close: Array): Array +} +export type OpeningRangeNode = OpeningRange + +export declare class OpenInterestDelta { + constructor() + update(openInterest: number): number | null + batch(openInterest: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OpenInterestDeltaNode = OpenInterestDelta + +export declare class OpenInterestMomentum { + constructor(period: number) + update(openInterest: number): number | null + batch(openInterest: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OpenInterestMomentumNode = OpenInterestMomentum + +export declare class OrderBookImbalanceFull { + constructor() + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OrderBookImbalanceFullNode = OrderBookImbalanceFull + +export declare class OrderBookImbalanceTop1 { + constructor() + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OrderBookImbalanceTop1Node = OrderBookImbalanceTop1 + +export declare class OrderBookImbalanceTopN { + constructor(levels: number) + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OrderBookImbalanceTopNNode = OrderBookImbalanceTopN + +export declare class OrderFlowImbalance { + constructor(period: number) + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OrderFlowImbalanceNode = OrderFlowImbalance + +export declare class OuHalfLife { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OuHalfLifeNode = OuHalfLife + +export declare class OvernightGap { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + utcOffsetMinutes(): number +} +export type OvernightGapNode = OvernightGap + +export declare class OvernightIntradayReturn { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): OvernightIntradayReturnValue | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type OvernightIntradayReturnNode = OvernightIntradayReturn + +export declare class PainIndex { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PainIndexNode = PainIndex + +/** + * 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, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PairSpreadZScoreNode = PairSpreadZScore + +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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PairwiseBetaNode = PairwiseBeta + +export declare class ParkinsonVolatility { + constructor(period: number, tradingPeriods: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ParkinsonVolatilityNode = ParkinsonVolatility + +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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PearsonCorrelationNode = PearsonCorrelation + +export declare class PercentAboveMa { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array, aboveMa: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>, aboveMa: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PercentAboveMaNode = PercentAboveMa + +export declare class PercentageTrailingStop { + constructor(percent: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PercentageTrailingStopNode = PercentageTrailingStop + +export declare class PercentB { + constructor(period: number, multiplier: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PercentBNode = PercentB + +export declare class PerpetualPremiumIndex { + constructor() + update(markPrice: number, indexPrice: number): number | null + batch(markPrice: Array, indexPrice: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PerpetualPremiumIndexNode = PerpetualPremiumIndex + +export declare class PGO { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PgoNode = PGO + +export declare class PiercingDarkCloud { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PiercingDarkCloudNode = PiercingDarkCloud + +export declare class Pin { + constructor(window: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PinNode = Pin + +export declare class PivotReversal { + constructor(left: number, right: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PivotReversalNode = PivotReversal + +export declare class PLUS_DI { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PlusDiNode = PLUS_DI + +export declare class PLUS_DM { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PlusDmNode = PLUS_DM + +export declare class PMO { + constructor(smoothing1: number, smoothing2: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PmoNode = PMO + +export declare class PointAndFigureBars { + constructor(boxSize: number, reversal: number) + update(close: number): Array + batch(close: Array): Array + boxSize(): number + reversal(): number + reset(): void + name(): string +} +export type PointAndFigureBarsNode = PointAndFigureBars + +export declare class POLARIZED_FRACTAL_EFFICIENCY { + constructor(period: number, smoothing: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PolarizedFractalEfficiencyNode = POLARIZED_FRACTAL_EFFICIENCY + +export declare class PPO { + constructor(fast: number, slow: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PpoNode = PPO + +export declare class PpoHistogram { + constructor(fast: number, slow: number, signal: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PpoHistogramNode = PpoHistogram + +export declare class ProfileShape { + constructor(period: number, binCount: number) + update(high: number, low: number, volume: number): number | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ProfileShapeNode = ProfileShape + +export declare class ProfitFactor { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ProfitFactorNode = ProfitFactor + +export declare class ProjectionBands { + constructor(period: number) + update(high: number, low: number): ProjectionBandsValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ProjectionBandsNode = ProjectionBands + +export declare class ProjectionOscillator { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ProjectionOscillatorNode = ProjectionOscillator + +export declare class PSAR { + constructor(afStart: number, afStep: number, afMax: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array +} +export type PsarNode = PSAR + +export declare class PVI { + constructor(baseline?: number | undefined | null) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type PviNode = PVI + +export declare class QQE { + constructor(rsiPeriod: number, smoothing: number, factor: number) + update(value: number): QqeValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type QqeNode = QQE + +export declare class Qstick { + constructor(period: number) + update(open: number, close: number): number | null + batch(open: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type QstickNode = Qstick + +export declare class QuartileBands { + constructor(period: number) + update(value: number): QuartileBandsValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type QuartileBandsNode = QuartileBands + +export declare class QuotedSpread { + constructor() + update(bidPx: Array, bidSz: Array, askPx: Array, askSz: Array): number | null + batch(snapshots: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type QuotedSpreadNode = QuotedSpread + +export declare class RangeBars { + constructor(range: number) + update(close: number): Array + batch(close: Array): Array + range(): number + reset(): void + name(): string +} +export type RangeBarsNode = RangeBars + +export declare class RealizedSpread { + constructor(horizon: number) + update(price: number, size: number, isBuy: boolean, mid: number): number | null + batch(price: Array, size: Array, isBuy: Array, mid: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RealizedSpreadNode = RealizedSpread + +export declare class RealizedVolatility { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RealizedVolatilityNode = RealizedVolatility + +export declare class RecoveryFactor { + constructor() + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RecoveryFactorNode = RecoveryFactor + +export declare class RectangleRange { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RectangleRangeNode = RectangleRange + +export declare class REFLEX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ReflexNode = REFLEX + +export declare class RegimeLabel { + constructor(volPeriod: number, lookback: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RegimeLabelNode = RegimeLabel + +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, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RelativeStrengthABNode = RelativeStrengthAB + +export declare class RenkoBars { + constructor(boxSize: number) + update(close: number): Array + batch(close: Array): Array + boxSize(): number + reset(): void + name(): string +} +export type RenkoBarsNode = RenkoBars + +export declare class RenkoTrailingStop { + constructor(blockSize: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RenkoTrailingStopNode = RenkoTrailingStop + +/** Resample candles into a higher timeframe (e.g. 1m -> 5m). */ +export declare class Resampler { + /** + * Construct a resampler that aggregates inputs into `timeframe`-sized + * candles (same unit as the candle timestamps). + */ + constructor(timeframe: number) + /** + * Push one candle; returns the completed higher-timeframe candle when a + * bucket boundary is crossed, otherwise `null`. + */ + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): CandleValue | null + /** Emit the final, still-open candle (or `null` if none is pending). */ + flush(): CandleValue | null +} +export type ResamplerNode = Resampler + +export declare class RickshawMan { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RickshawManNode = RickshawMan + +export declare class RisingThreeMethods { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RisingThreeMethodsNode = RisingThreeMethods + +export declare class RMI { + constructor(period: number, momentum: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RmiNode = RMI + +export declare class ROC { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RocNode = ROC + +export declare class ROCP { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RocpNode = ROCP + +export declare class ROCR { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RocrNode = ROCR + +export declare class ROCR100 { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type Rocr100Node = ROCR100 + +export declare class RogersSatchellVolatility { + constructor(period: number, tradingPeriods: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RogersSatchellVolatilityNode = RogersSatchellVolatility + +export declare class RollingCorrelation { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingCorrelationNode = RollingCorrelation + +export declare class RollingCovariance { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingCovarianceNode = RollingCovariance + +export declare class RollingIqr { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingIqrNode = RollingIqr + +export declare class ROLLINGMINMAX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingMinMaxScalerNode = ROLLINGMINMAX + +export declare class RollingPercentileRank { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingPercentileRankNode = RollingPercentileRank + +export declare class RollingQuantile { + constructor(period: number, quantile: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollingQuantileNode = RollingQuantile + +export declare class RollingVWAP { + constructor(period: number) + get period(): number + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array +} +export type RollingVwapNode = RollingVWAP + +export declare class RollMeasure { + constructor(period: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RollMeasureNode = RollMeasure + +export declare class RoofingFilter { + constructor(lpPeriod: number, hpPeriod: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RoofingFilterNode = RoofingFilter + +export declare class RSI { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RsiNode = RSI + +export declare class RSquared { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RSquaredNode = RSquared + +export declare class RSX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RsxNode = RSX + +export declare class RunBars { + constructor(runLength: number) + update(open: number, high: number, low: number, close: number): Array + batch(open: Array, high: Array, low: Array, close: Array): Array + runLength(): number + reset(): void + name(): string +} +export type RunBarsNode = RunBars + +export declare class RVI { + constructor(period: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RviNode = RVI + +export declare class RVIVolatility { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RviVolatilityNode = RVIVolatility + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type RwiNode = RWI + +export declare class SAMPLEENT { + constructor(period: number, m: number, rFactor: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SampleEntropyNode = SAMPLEENT + +export declare class SAREXT { + constructor(startValue: number, offsetOnReverse: number, accelInitLong: number, accelLong: number, accelMaxLong: number, accelInitShort: number, accelShort: number, accelMaxShort: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SarExtNode = SAREXT + +export declare class SeasonalZScore { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + utcOffsetMinutes(): number +} +export type SeasonalZScoreNode = SeasonalZScore + +export declare class SeparatingLines { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SeparatingLinesNode = SeparatingLines + +export declare class SessionHighLow { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): SessionHighLowValue | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SessionHighLowNode = SessionHighLow + +export declare class SessionRange { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): SessionRangeValue | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SessionRangeNode = SessionRange + +export declare class SessionVwap { + constructor(utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + utcOffsetMinutes(): number +} +export type SessionVwapNode = SessionVwap + +export declare class SHANNONENT { + constructor(period: number, bins: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ShannonEntropyNode = SHANNONENT + +export declare class Shark { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SharkNode = Shark + +export declare class SharpeRatio { + constructor(period: number, riskFree: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SharpeRatioNode = SharpeRatio + +export declare class ShootingStar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ShootingStarNode = ShootingStar + +export declare class ShortLine { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ShortLineNode = ShortLine + +export declare class SignedVolume { + constructor() + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SignedVolumeNode = SignedVolume + +export declare class SineWave { + constructor() + update(value: number): number | null + batch(prices: Array): Array + lead(): number + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SineWaveNode = SineWave + +export declare class SinglePrints { + constructor(period: number, binCount: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SinglePrintsNode = SinglePrints + +export declare class Skewness { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SkewnessNode = Skewness + +export declare class SMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SmaNode = SMA + +export declare class SMI { + constructor(period: number, dPeriod: number, d2Period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SmiNode = SMI + +export declare class SMMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SmmaNode = SMMA + +export declare class SmoothedHeikinAshi { + constructor(period: number) + update(open: number, high: number, low: number, close: number): SmoothedHeikinAshiValue | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SmoothedHeikinAshiNode = SmoothedHeikinAshi + +export declare class SortinoRatio { + constructor(period: number, mar: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SortinoRatioNode = SortinoRatio + +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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SpearmanCorrelationNode = SpearmanCorrelation + +export declare class SpinningTop { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SpinningTopNode = SpinningTop + +export declare class SpreadAr1Coefficient { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SpreadAr1CoefficientNode = SpreadAr1Coefficient + +export declare class SpreadBollingerBands { + constructor(period: number, numStd: number) + update(a: number, b: number): SpreadBollingerBandsValue | null + /** + * Batch over two equally-sized arrays. Returns a flat array of length + * `4 * n`, interleaved per row as `[middle0, upper0, lower0, percentB0, ...]`. + * Read column `j` of row `i` as `result[i * 4 + j]`. Warmup rows are `NaN`. + */ + batch(a: Array, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SpreadBollingerBandsNode = SpreadBollingerBands + +export declare class SpreadHurst { + 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, y: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SpreadHurstNode = SpreadHurst + +export declare class StalledPattern { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StalledPatternNode = StalledPattern + +export declare class StandardError { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StandardErrorNode = StandardError + +export declare class StandardErrorBands { + constructor(period: number, multiplier: number) + update(value: number): StandardErrorBandsValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StandardErrorBandsNode = StandardErrorBands + +export declare class StarcBands { + constructor(smaPeriod: number, atrPeriod: number, multiplier: number) + update(high: number, low: number, close: number): StarcBandsValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StarcBandsNode = StarcBands + +export declare class STC { + constructor(fast: number, slow: number, schaffPeriod: number, factor: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StcNode = STC + +export declare class StdDev { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StdDevNode = StdDev + +export declare class StepTrailingStop { + constructor(stepSize: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StepTrailingStopNode = StepTrailingStop + +export declare class SterlingRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SterlingRatioNode = SterlingRatio + +export declare class StickSandwich { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StickSandwichNode = StickSandwich + +export declare class Stochastic { + constructor(kPeriod: number, dPeriod: number) + update(high: number, low: number, close: number): StochValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StochNode = Stochastic + +export declare class StochasticCCI { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StochasticCciNode = StochasticCCI + +export declare class StochRSI { + constructor(rsiPeriod: number, stochPeriod: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type StochRsiNode = StochRSI + +export declare class SuperSmoother { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SuperSmootherNode = SuperSmoother + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SuperTrendNode = SuperTrend + +export declare class SWMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type SineWeightedMaNode = SWMA + +export declare class T3 { + constructor(period: number, v: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type T3Node = T3 + +export declare class TailRatio { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TailRatioNode = TailRatio + +export declare class TakerBuySellRatio { + constructor() + update(takerBuyVolume: number, takerSellVolume: number): number | null + batch(takerBuyVolume: Array, takerSellVolume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TakerBuySellRatioNode = TakerBuySellRatio + +export declare class Takuri { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TakuriNode = Takuri + +export declare class TasukiGap { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TasukiGapNode = TasukiGap + +export declare class TDCamouflage { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdCamouflageNode = TDCamouflage + +export declare class TDClop { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdClopNode = TDClop + +export declare class TDClopwin { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdClopwinNode = TDClopwin + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdComboNode = TDCombo + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdCountdownNode = TDCountdown + +export declare class TDDeMarker { + constructor(period: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdDeMarkerNode = TDDeMarker + +export declare class TDDifferential { + constructor() + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdDifferentialNode = TDDifferential + +export declare class TDDWave { + constructor(strength: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdDWaveNode = TDDWave + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdLinesNode = TDLines + +export declare class TDMovingAverage { + constructor(periodSt1: number, periodSt2: number) + update(high: number, low: number): TdMovingAverageValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdMovingAverageNode = TDMovingAverage + +export declare class TDOpen { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdOpenNode = TDOpen + +export declare class TDPressure { + constructor(period: number) + update(open: number, high: number, low: number, close: number, volume: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdPressureNode = TDPressure + +export declare class TDPropulsion { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdPropulsionNode = TDPropulsion + +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, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdRangeProjectionNode = TDRangeProjection + +export declare class TDREI { + constructor(period: number) + update(high: number, low: number): number | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdReiNode = TDREI + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdRiskLevelNode = TDRiskLevel + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdSequentialNode = TDSequential + +export declare class TDSetup { + constructor(lookback: number, target: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdSetupNode = TDSetup + +export declare class TDTrap { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TdTrapNode = TDTrap + +export declare class TEMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TemaNode = TEMA + +export declare class TermStructureBasis { + constructor() + update(futuresPrice: number, indexPrice: number): number | null + batch(futuresPrice: Array, indexPrice: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TermStructureBasisNode = TermStructureBasis + +export declare class ThreeDrives { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeDrivesNode = ThreeDrives + +export declare class ThreeInside { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeInsideNode = ThreeInside + +export declare class ThreeLineBreak { + constructor(lines: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeLineBreakNode = ThreeLineBreak + +export declare class ThreeLineBreakBars { + constructor(lines: number) + update(close: number): Array + batch(close: Array): Array + lines(): number + reset(): void + name(): string +} +export type ThreeLineBreakBarsNode = ThreeLineBreakBars + +export declare class ThreeLineStrike { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeLineStrikeNode = ThreeLineStrike + +export declare class ThreeOutside { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeOutsideNode = ThreeOutside + +export declare class ThreeSoldiersOrCrows { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeSoldiersOrCrowsNode = ThreeSoldiersOrCrows + +export declare class ThreeStarsInSouth { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThreeStarsInSouthNode = ThreeStarsInSouth + +export declare class Thrusting { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ThrustingNode = Thrusting + /** Roll trade ticks up into fixed-timeframe OHLCV candles. */ export declare class TickAggregator { /** @@ -6001,30 +5010,1643 @@ export declare class TickAggregator { /** Whether gap filling is enabled. */ fillsGaps(): boolean } -export type ResamplerNode = Resampler -/** Resample candles into a higher timeframe (e.g. 1m -> 5m). */ -export declare class Resampler { - /** - * Construct a resampler that aggregates inputs into `timeframe`-sized - * candles (same unit as the candle timestamps). - */ - constructor(timeframe: number) - /** - * Push one candle; returns the completed higher-timeframe candle when a - * bucket boundary is crossed, otherwise `null`. - */ - update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): CandleValue | null - /** Emit the final, still-open candle (or `null` if none is pending). */ - flush(): CandleValue | null +export type TickAggregatorNode = TickAggregator + +export declare class TickBars { + constructor(ticks: number) + update(open: number, high: number, low: number, close: number, volume: number): Array + batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array + ticks(): number + reset(): void + name(): string } -export type CandleReaderNode = CandleReader +export type TickBarsNode = TickBars + +export declare class TickIndex { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TickIndexNode = TickIndex + +export declare class TII { + constructor(smaPeriod: number, devPeriod: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TiiNode = TII + +export declare class TimeBasedStop { + constructor(maxBars: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TimeBasedStopNode = TimeBasedStop + +export declare class TimeOfDayReturnProfile { + constructor(buckets: number, utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + buckets(): number + utcOffsetMinutes(): number +} +export type TimeOfDayReturnProfileNode = TimeOfDayReturnProfile + +export declare class TowerTopBottom { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TowerTopBottomNode = TowerTopBottom + +export declare class TpoProfile { + constructor(period: number, binCount: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number): TpoProfileValue | null + batch(high: Array, low: Array): Array +} +export type TpoProfileNode = TpoProfile + +export declare class TradeImbalance { + constructor(window: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TradeImbalanceNode = TradeImbalance + +export declare class TradeSignAutocorrelation { + constructor(period: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TradeSignAutocorrelationNode = TradeSignAutocorrelation + +export declare class TradeVolumeIndex { + constructor(minTick: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TradeVolumeIndexNode = TradeVolumeIndex + +export declare class TREND_STRENGTH_INDEX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrendStrengthIndexNode = TREND_STRENGTH_INDEX + +export declare class TRENDFLEX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrendflexNode = TRENDFLEX + +export declare class TrendLabel { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrendLabelNode = TrendLabel + +export declare class TreynorRatio { + constructor(period: number, riskFree: number) + update(asset: number, benchmark: number): number | null + batch(asset: Array, benchmark: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TreynorRatioNode = TreynorRatio + +export declare class Triangle { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TriangleNode = Triangle + +export declare class TRIMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrimaNode = TRIMA + +export declare class Trin { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrinNode = Trin + +export declare class TripleTopBottom { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TripleTopBottomNode = TripleTopBottom + +export declare class Tristar { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TristarNode = Tristar + +export declare class TRIX { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrixNode = TRIX + +export declare class TrueRange { + constructor() + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TrueRangeNode = TrueRange + +export declare class TSF { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TsfNode = TSF + +export declare class TsfOscillator { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TsfOscillatorNode = TsfOscillator + +export declare class TSI { + constructor(long: number, short: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TsiNode = TSI + +export declare class TSV { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TsvNode = TSV + +export declare class TTM_TREND { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TtmTrendNode = TTM_TREND + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TtmSqueezeNode = TtmSqueeze + +export declare class TurnOfMonth { + constructor(nFirst: number, nLast: number, utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): number | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TurnOfMonthNode = TurnOfMonth + +export declare class Tweezer { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TweezerNode = Tweezer + +export declare class TwiggsMoneyFlow { + constructor(period: number) + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TwiggsMoneyFlowNode = TwiggsMoneyFlow + +export declare class TwoCrows { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TwoCrowsNode = TwoCrows + +export declare class TypicalPrice { + constructor() + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type TypicalPriceNode = TypicalPrice + +export declare class UlcerIndex { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UlcerIndexNode = UlcerIndex + +export declare class UltimateOscillator { + constructor(short: number, mid: number, long: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UltimateOscillatorNode = UltimateOscillator + +export declare class UniqueThreeRiver { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UniqueThreeRiverNode = UniqueThreeRiver + +export declare class UNIVERSALOSC { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UniversalOscillatorNode = UNIVERSALOSC + +export declare class UpDownVolumeRatio { + constructor() + update(change: Array, volume: Array, newHigh: Array, newLow: Array): number | null + batch(change: Array>, volume: Array>, newHigh: Array>, newLow: Array>): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UpDownVolumeRatioNode = UpDownVolumeRatio + +export declare class UpsideGapThreeMethods { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UpsideGapThreeMethodsNode = UpsideGapThreeMethods + +export declare class UpsideGapTwoCrows { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UpsideGapTwoCrowsNode = UpsideGapTwoCrows + +export declare class UpsidePotentialRatio { + constructor(period: number, mar: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type UpsidePotentialRatioNode = UpsidePotentialRatio + +export declare class ValueArea { + constructor(period: number, binCount: number, valueAreaPct: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, volume: number): ValueAreaValue | null + batch(high: Array, low: Array, volume: Array): Array +} +export type ValueAreaNode = ValueArea + +export declare class ValueAtRisk { + constructor(period: number, confidence: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ValueAtRiskNode = ValueAtRisk + +export declare class Variance { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VarianceNode = Variance + /** - * Parse OHLCV candles from a CSV string (header `timestamp,open,high,low,close, - * volume`; a leading UTF-8 BOM is stripped). + * Lo–MacKinlay variance ratio: two ctor params (`period`, `q`), one `(a, b)` + * pair per update, a single ratio out. */ -export declare class CandleReader { - /** Parse the whole CSV up front; throws on a malformed header or row. */ - constructor(csv: string) - /** Return every parsed candle as `{ open, high, low, close, volume, timestamp }`. */ - read(): Array +export declare class VarianceRatio { + constructor(period: number, q: number) + update(a: number, b: number): number | null + /** + * Batch over two equally-sized arrays. Returns a length-`n` array with + * `NaN` for warmup positions. + */ + batch(a: Array, b: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VarianceRatioNode = VarianceRatio + +export declare class VerticalHorizontalFilter { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VerticalHorizontalFilterNode = VerticalHorizontalFilter + +export declare class VIDYA { + constructor(period: number, cmoPeriod: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(value: number): number | null + batch(prices: Array): Array +} +export type VidyaNode = VIDYA + +export declare class VolatilityCone { + constructor(window: number, lookback: number) + update(high: number, low: number, close: number): VolatilityConeValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolatilityConeNode = VolatilityCone + +export declare class VolatilityOfVolatility { + constructor(volWindow: number, vovWindow: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolatilityOfVolatilityNode = VolatilityOfVolatility + +export declare class VolatilityRatio { + constructor(period: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolatilityRatioNode = VolatilityRatio + +export declare class VoltyStop { + constructor(atrPeriod: number, multiplier: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VoltyStopNode = VoltyStop + +export declare class VolumeBars { + constructor(volumePerBar: number) + update(open: number, high: number, low: number, close: number, volume: number): Array + batch(open: Array, high: Array, low: Array, close: Array, volume: Array): Array + volumePerBar(): number + reset(): void + name(): string +} +export type VolumeBarsNode = VolumeBars + +export declare class VolumeByTimeProfile { + constructor(buckets: number, utcOffsetMinutes: number) + update(open: number, high: number, low: number, close: number, volume: number, timestamp: number): Array | null + batch(open: Array, high: Array, low: Array, close: Array, volume: Array, timestamp: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + buckets(): number + utcOffsetMinutes(): number +} +export type VolumeByTimeProfileNode = VolumeByTimeProfile + +export declare class VolumeOscillator { + constructor(fast: number, slow: number) + update(volume: number): number | null + batch(volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolumeOscillatorNode = VolumeOscillator + +export declare class VolumePriceTrend { + constructor() + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolumePriceTrendNode = VolumePriceTrend + +export declare class VolumeProfile { + constructor(period: number, binCount: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, volume: number): VolumeProfileValue | null + batch(high: Array, low: Array, volume: Array): Array +} +export type VolumeProfileNode = VolumeProfile + +export declare class VolumeRsi { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolumeRsiNode = VolumeRsi + +export declare class VolumeWeightedMacd { + constructor(fast: number, slow: number, signal: number) + update(close: number, volume: number): VolumeWeightedMacdValue | null + /** + * Returns `[macd0, signal0, histogram0, macd1, ...]`, length `3 * n`. + * Warmup positions are `NaN`. + */ + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolumeWeightedMacdNode = VolumeWeightedMacd + +export declare class VolumeWeightedSr { + constructor(period: number) + update(high: number, low: number, volume: number): VolumeWeightedSrValue | null + batch(high: Array, low: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VolumeWeightedSrNode = VolumeWeightedSr + +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, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VortexNode = Vortex + +export declare class Vpin { + constructor(bucketVolume: number, numBuckets: number) + update(price: number, size: number, isBuy: boolean): number | null + batch(price: Array, size: Array, isBuy: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VpinNode = Vpin + +export declare class VWAP { + constructor() + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number, volume: number): number | null + batch(high: Array, low: Array, close: Array, volume: Array): Array +} +export type VwapNode = VWAP + +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, low: Array, close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VwapStdDevBandsNode = VwapStdDevBands + +export declare class VWMA { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VwmaNode = VWMA + +export declare class VZO { + constructor(period: number) + update(close: number, volume: number): number | null + batch(close: Array, volume: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type VzoNode = VZO + +export declare class Wad { + constructor() + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WadNode = Wad + +export declare class WAVE_PM { + constructor(length: number, smoothing: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WavePmNode = WAVE_PM + +export declare class WaveTrend { + constructor(channelPeriod: number, averagePeriod: number, signalPeriod: number) + static classic(): WaveTrend + update(high: number, low: number, close: number): WaveTrendValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WaveTrendNode = WaveTrend + +export declare class Wedge { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WedgeNode = Wedge + +export declare class WeightedClose { + constructor() + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WeightedCloseNode = WeightedClose + +export declare class WickRatio { + constructor() + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WickRatioNode = WickRatio + +export declare class WilliamsFractals { + constructor() + update(high: number, low: number): WilliamsFractalsValue | null + batch(high: Array, low: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WilliamsFractalsNode = WilliamsFractals + +export declare class WilliamsR { + constructor(period: number) + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array +} +export type WilliamsRNode = WilliamsR + +export declare class WinRate { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WinRateNode = WinRate + +export declare class WMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WmaNode = WMA + +export declare class WoodiePivots { + constructor() + update(high: number, low: number, close: number): WoodiePivotsValue | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type WoodiePivotsNode = WoodiePivots + +export declare class YangZhangVolatility { + constructor(period: number, tradingPeriods: number) + update(open: number, high: number, low: number, close: number): number | null + batch(open: Array, high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type YangZhangVolatilityNode = YangZhangVolatility + +export declare class YoyoExit { + constructor(atrPeriod: number, multiplier: number) + update(high: number, low: number, close: number): number | null + batch(high: Array, low: Array, close: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number + inTrade(): boolean +} +export type YoyoExitNode = YoyoExit + +export declare class ZeroLagMACD { + constructor(fast: number, slow: number, signal: number) + update(value: number): ZeroLagMacdValue | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ZeroLagMacdNode = ZeroLagMACD + +export declare class ZigZag { + constructor(threshold: number) + update(high: number, low: number): ZigZagValue | null + batch(high: Array, low: Array): Array + get threshold(): number + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ZigZagNode = ZigZag + +export declare class ZLEMA { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ZlemaNode = ZLEMA + +export declare class ZScore { + constructor(period: number) + update(value: number): number | null + batch(prices: Array): Array + reset(): void + name(): string + isReady(): boolean + warmupPeriod(): number +} +export type ZScoreNode = ZScore + +export interface AccelerationBandsValue { + upper: number + middle: number + lower: number +} + +export interface AdxValue { + plusDi: number + minusDi: number + adx: number +} + +export interface AlligatorValue { + jaw: number + teeth: number + lips: number +} + +export interface AndrewsPitchforkValue { + median: number + upper: number + lower: number +} + +export interface AroonValue { + up: number + down: number +} + +export interface AtrBandsValue { + upper: number + middle: number + lower: number +} + +export interface AtrRatchetValue { + value: number + direction: number +} + +export interface AutoFibValue { + level0: number + level236: number + level382: number + level500: number + level618: number + level786: number + level1000: number +} + +export interface BollingerValue { + upper: number + middle: number + lower: number + stddev: number +} + +export interface BomarBandsValue { + upper: number + middle: number + lower: number +} + +export interface CamarillaValue { + pp: number + r1: number + r2: number + r3: number + r4: number + s1: number + s2: number + s3: number + s4: number +} + +/** One aggregated OHLCV candle emitted by [`TickAggregatorNode`]. */ +export interface CandleValue { + open: number + high: number + low: number + close: number + volume: number + timestamp: number +} + +export interface CandleVolumeValue { + body: number + width: number +} + +export interface CentralPivotRangeValue { + pivot: number + tc: number + bc: number +} + +export interface ChandeKrollStopValue { + stopLong: number + stopShort: number +} + +export interface ChandelierExitValue { + longStop: number + shortStop: number +} + +export interface ClassicPivotsValue { + pp: number + r1: number + r2: number + r3: number + s1: number + s2: number + s3: number +} + +/** Cointegration result: hedge ratio, current spread, and the ADF statistic. */ +export interface CointegrationValue { + /** Engle–Granger hedge ratio (OLS slope of `a` on `b`). */ + hedgeRatio: number + /** Current spread (regression residual) `a - (alpha + beta*b)`. */ + spread: number + /** + * Augmented Dickey–Fuller statistic on the spread; more negative ⇒ more + * strongly mean-reverting. + */ + adfStat: number +} + +export interface CompositeProfileValue { + poc: number + vah: number + val: number +} + +export interface DemarkPivotsValue { + pp: number + r1: number + s1: number +} + +export interface DollarBarValue { + open: number + high: number + low: number + close: number + volume: number + dollar: number +} + +export interface DonchianStopValue { + stopLong: number + stopShort: number +} + +export interface DonchianValue { + upper: number + middle: number + lower: number +} + +export interface DoubleBollingerValue { + upperOuter: number + upperInner: number + middle: number + lowerInner: number + lowerOuter: number +} + +export interface ElderRayValue { + bullPower: number + bearPower: number +} + +export interface ElderSafeZoneValue { + value: number + direction: number +} + +export interface EquivolumeValue { + height: number + width: number +} + +/** + * Fetch historical klines from Binance's REST endpoint. `symbol` is the trading + * pair (case-insensitive, e.g. `"BTCUSDT"`), `interval` the code `0..=15` (the + * `Interval` declaration order), and `limit` the number of candles to request + * (`1..=1000`). `startMs`/`endMs` are optional inclusive Unix-millisecond + * bounds; `baseUrl` overrides the host (omit for production). This is a blocking + * call — run it on a Worker thread to keep the event loop responsive. + */ +export declare function fetchBinanceKlines(symbol: string, interval: number, limit: number, startMs?: number | undefined | null, endMs?: number | undefined | null, baseUrl?: string | undefined | null): Array + +export interface FibArcsValue { + arc382: number + arc500: number + arc618: number +} + +export interface FibChannelValue { + base: number + level618: number + level1000: number + level1618: number +} + +export interface FibConfluenceValue { + price: number + strength: number +} + +export interface FibExtensionValue { + level1272: number + level1414: number + level1618: number + level2000: number + level2618: number +} + +export interface FibFanValue { + fan382: number + fan500: number + fan618: number +} + +export interface FibonacciPivotsValue { + pp: number + r1: number + r2: number + r3: number + s1: number + s2: number + s3: number +} + +export interface FibProjectionValue { + level618: number + level1000: number + level1618: number + level2618: number +} + +export interface FibRetracementValue { + level0: number + level236: number + level382: number + level500: number + level618: number + level786: number + level1000: number +} + +export interface FibTimeZonesValue { + onZone: number + barsToNext: number +} + +/** One price bucket of a footprint. */ +export interface FootprintLevelValue { + price: number + bidVol: number + askVol: number +} + +export interface FractalChaosBandsValue { + upper: number + lower: number +} + +export interface GatorOscillatorValue { + upper: number + lower: number +} + +export interface GoldenPocketValue { + low: number + mid: number + high: number +} + +export interface HeikinAshiValue { + open: number + high: number + low: number + close: number +} + +export interface HighLowVolumeNodesValue { + hvn: number + lvn: number +} + +export interface HtPhasorValue { + inphase: number + quadrature: number +} + +export interface HurstChannelValue { + upper: number + middle: number + lower: 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 ImbalanceBarValue { + open: number + high: number + low: number + close: number + imbalance: number + direction: number +} + +export interface InitialBalanceValue { + high: number + low: number +} + +export interface KagiSegmentValue { + start: number + end: number + direction: number +} + +/** Kalman hedge-ratio result: dynamic hedge ratio, intercept, and spread. */ +export interface KalmanHedgeRatioValue { + /** Current hedge ratio (filtered slope of `a` on `b`). */ + hedgeRatio: number + /** Current intercept (filtered level offset). */ + intercept: number + /** Forecast error `a - (intercept + hedgeRatio*b)` — the spread signal. */ + spread: number +} + +export interface KaseDevStopValue { + value: number + direction: number +} + +export interface KasePermissionStochasticValue { + fast: number + slow: number +} + +export interface KeltnerValue { + upper: number + middle: number + lower: number +} + +/** One event from the live Binance feed. */ +export interface KlineEvent { + symbol: string + open: number + high: number + low: number + close: number + volume: number + openTime: number + isClosed: boolean +} + +export interface KstValue { + kst: number + signal: number +} + +/** 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 +} + +export interface LineBreakBarValue { + open: number + close: number + direction: number +} + +export interface LinRegChannelValue { + upper: number + middle: number + lower: number +} + +/** The liquidation feature vector for one tick. */ +export interface LiquidationFeaturesValue { + long: number + short: number + net: number + total: number + imbalance: number +} + +/** MACD triple: macd line, signal line, histogram. */ +export interface MacdValue { + macd: number + signal: number + histogram: number +} + +export interface MaEnvelopeValue { + upper: number + middle: number + lower: number +} + +export interface MamaValue { + mama: number + fama: number +} + +export interface MedianChannelValue { + upper: number + middle: number + lower: number +} + +export interface ModifiedMaStopValue { + value: number + direction: number +} + +export interface MurreyMathLinesValue { + mm8_8: number + mm7_8: number + mm6_8: number + mm5_8: number + mm4_8: number + mm3_8: number + mm2_8: number + mm1_8: number + mm0_8: number +} + +export interface NrtrValue { + value: number + direction: number +} + +/** One order-book depth snapshot for batch evaluation. */ +export interface ObSnapshot { + bidPx: Array + bidSz: Array + askPx: Array + askSz: Array +} + +export interface OpeningRangeValue { + high: number + low: number + breakoutDistance: number +} + +export interface OvernightIntradayReturnValue { + overnight: number + intraday: number +} + +export interface PnfColumnValue { + direction: number + high: number + low: number +} + +export interface ProjectionBandsValue { + upper: number + middle: number + lower: number +} + +export interface QqeValue { + rsiMa: number + trailingLine: number +} + +export interface QuartileBandsValue { + upper: number + middle: number + lower: number +} + +export interface RangeBarValue { + open: number + close: number + direction: 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 +} + +export interface RenkoBrickValue { + open: number + close: number + direction: number +} + +export interface RunBarValue { + open: number + high: number + low: number + close: number + length: number + direction: number +} + +/** Random Walk Index pair: `RWI_High` and `RWI_Low`. */ +export interface RwiValue { + high: number + low: number +} + +export interface SessionHighLowValue { + high: number + low: number +} + +export interface SessionRangeValue { + asia: number + eu: number + us: number +} + +export interface SmoothedHeikinAshiValue { + open: number + high: number + low: number + close: number +} + +/** Spread Bollinger-bands result: middle, upper and lower bands plus `%b`. */ +export interface SpreadBollingerBandsValue { + /** Middle band: the rolling mean of the spread. */ + middle: number + /** Upper band. */ + upper: number + /** Lower band. */ + lower: number + /** `%b`: where the spread sits across the band (`0` lower, `1` upper). */ + percentB: number +} + +export interface StandardErrorBandsValue { + upper: number + middle: number + lower: number +} + +export interface StarcBandsValue { + upper: number + middle: number + lower: number +} + +export interface StochValue { + k: number + d: number +} + +export interface SuperTrendValue { + value: number + direction: number +} + +/** TD Lines output pair: latest TDST resistance / support (NaN if unset). */ +export interface TdLinesValue { + resistance: number + support: number +} + +export interface TdMovingAverageValue { + st1: number + st2: 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 +} + +/** TD Sequential output triple: setup count, countdown count, direction. */ +export interface TdSequentialValue { + setup: number + countdown: number + direction: number +} + +export interface TickBarValue { + open: number + high: number + low: number + close: number + volume: number +} + +export interface TpoProfileValue { + priceLow: number + priceHigh: number + counts: Array +} + +export interface TtmSqueezeValue { + squeeze: number + momentum: number +} + +export interface ValueAreaValue { + poc: number + vah: number + val: number +} + +/** Library version (matches the Rust crate version). */ +export declare function version(): string + +/** + * Volatility-cone result: current realized volatility and its lookback + * envelope (min / median / max) plus the percentile rank of `current`. + */ +export interface VolatilityConeValue { + current: number + min: number + median: number + max: number + percentile: number +} + +export interface VolumeBarValue { + open: number + high: number + low: number + close: number + volume: number +} + +export interface VolumeProfileValue { + priceLow: number + priceHigh: number + bins: Array +} + +export interface VolumeWeightedMacdValue { + macd: number + signal: number + histogram: number +} + +export interface VolumeWeightedSrValue { + support: number + resistance: number +} + +/** Vortex Indicator pair: `VI+` and `VI-`. */ +export interface VortexValue { + plus: number + minus: number +} + +export interface VwapStdDevBandsValue { + upper: number + middle: number + lower: number + stddev: number +} + +/** Wave Trend Oscillator pair: `wt1` (channel index) and `wt2` (signal SMA). */ +export interface WaveTrendValue { + wt1: number + wt2: 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 WoodiePivotsValue { + pp: number + r1: number + r2: number + s1: number + s2: number +} + +export interface ZeroLagMacdValue { + macd: number + signal: number + histogram: number +} + +export interface ZigZagValue { + swing: number + direction: number } diff --git a/bindings/node/index.js b/bindings/node/index.js index 532b98ee..46eb1978 100644 --- a/bindings/node/index.js +++ b/bindings/node/index.js @@ -1,834 +1,1627 @@ -/* tslint:disable */ +// prettier-ignore /* eslint-disable */ -/* prettier-ignore */ - +// @ts-nocheck /* auto-generated by NAPI-RS */ -const { existsSync, readFileSync } = require('fs') -const { join } = require('path') - -const { platform, arch } = process - +const { readFileSync } = require('fs') let nativeBinding = null -let localFileExisted = false -let loadError = null +const loadErrors = [] -function isMusl() { - // For Node 10 - if (!process.report || typeof process.report.getReport !== 'function') { - try { - const lddPath = require('child_process').execSync('which ldd').toString().trim() - return readFileSync(lddPath, 'utf8').includes('musl') - } catch (e) { - return true +const isMusl = () => { + let musl = false + if (process.platform === 'linux') { + musl = isMuslFromFilesystem() + if (musl === null) { + musl = isMuslFromReport() } - } else { - const { glibcVersionRuntime } = process.report.getReport().header - return !glibcVersionRuntime + if (musl === null) { + musl = isMuslFromChildProcess() + } + } + return musl +} + +const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-') + +const isMuslFromFilesystem = () => { + try { + return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl') + } catch { + return null } } -switch (platform) { - case 'android': - switch (arch) { - case 'arm64': - localFileExisted = existsSync(join(__dirname, 'wickra.android-arm64.node')) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.android-arm64.node') - } else { - nativeBinding = require('wickra-android-arm64') - } - } catch (e) { - loadError = e - } - break - case 'arm': - localFileExisted = existsSync(join(__dirname, 'wickra.android-arm-eabi.node')) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.android-arm-eabi.node') - } else { - nativeBinding = require('wickra-android-arm-eabi') - } - } catch (e) { - loadError = e - } - break - default: - throw new Error(`Unsupported architecture on Android ${arch}`) +const isMuslFromReport = () => { + let report = null + if (process.report && typeof process.report.getReport === 'function') { + process.report.excludeNetwork = true + report = process.report.getReport() + } + if (!report) { + return null + } + if (report.header && report.header.glibcVersionRuntime) { + return false + } + if (Array.isArray(report.sharedObjects)) { + if (report.sharedObjects.some(isFileMusl)) { + return true } - break - case 'win32': - switch (arch) { - case 'x64': - localFileExisted = existsSync( - join(__dirname, 'wickra.win32-x64-msvc.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.win32-x64-msvc.node') - } else { - nativeBinding = require('wickra-win32-x64-msvc') - } - } catch (e) { - loadError = e - } - break - case 'ia32': - localFileExisted = existsSync( - join(__dirname, 'wickra.win32-ia32-msvc.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.win32-ia32-msvc.node') - } else { - nativeBinding = require('wickra-win32-ia32-msvc') - } - } catch (e) { - loadError = e - } - break - case 'arm64': - localFileExisted = existsSync( - join(__dirname, 'wickra.win32-arm64-msvc.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.win32-arm64-msvc.node') - } else { - nativeBinding = require('wickra-win32-arm64-msvc') - } - } catch (e) { - loadError = e - } - break - default: - throw new Error(`Unsupported architecture on Windows: ${arch}`) - } - break - case 'darwin': - localFileExisted = existsSync(join(__dirname, 'wickra.darwin-universal.node')) + } + return false +} + +const isMuslFromChildProcess = () => { + try { + return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl') + } catch (e) { + // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false + return false + } +} + +function requireNative() { + if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) { try { - if (localFileExisted) { - nativeBinding = require('./wickra.darwin-universal.node') - } else { - nativeBinding = require('wickra-darwin-universal') + return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH); + } catch (err) { + loadErrors.push(err) + } + } else if (process.platform === 'android') { + if (process.arch === 'arm64') { + try { + return require('./wickra.android-arm64.node') + } catch (e) { + loadErrors.push(e) } - break - } catch {} - switch (arch) { - case 'x64': - localFileExisted = existsSync(join(__dirname, 'wickra.darwin-x64.node')) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.darwin-x64.node') - } else { - nativeBinding = require('wickra-darwin-x64') - } - } catch (e) { - loadError = e + try { + const binding = require('wickra-android-arm64') + const bindingPackageVersion = require('wickra-android-arm64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - case 'arm64': - localFileExisted = existsSync( - join(__dirname, 'wickra.darwin-arm64.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.darwin-arm64.node') - } else { - nativeBinding = require('wickra-darwin-arm64') - } - } catch (e) { - loadError = e + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm') { + try { + return require('./wickra.android-arm-eabi.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-android-arm-eabi') + const bindingPackageVersion = require('wickra-android-arm-eabi/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - default: - throw new Error(`Unsupported architecture on macOS: ${arch}`) + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`)) } - break - case 'freebsd': - if (arch !== 'x64') { - throw new Error(`Unsupported architecture on FreeBSD: ${arch}`) + } else if (process.platform === 'win32') { + if (process.arch === 'x64') { + if ((process.config && process.config.variables && process.config.variables.shlib_suffix === 'dll.a') || (process.config && process.config.variables && process.config.variables.node_target_type === 'shared_library')) { + try { + return require('./wickra.win32-x64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-win32-x64-gnu') + const bindingPackageVersion = require('wickra-win32-x64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.win32-x64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-win32-x64-msvc') + const bindingPackageVersion = require('wickra-win32-x64-msvc/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'ia32') { + try { + return require('./wickra.win32-ia32-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-win32-ia32-msvc') + const bindingPackageVersion = require('wickra-win32-ia32-msvc/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./wickra.win32-arm64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-win32-arm64-msvc') + const bindingPackageVersion = require('wickra-win32-arm64-msvc/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`)) } - localFileExisted = existsSync(join(__dirname, 'wickra.freebsd-x64.node')) + } else if (process.platform === 'darwin') { try { - if (localFileExisted) { - nativeBinding = require('./wickra.freebsd-x64.node') - } else { - nativeBinding = require('wickra-freebsd-x64') - } + return require('./wickra.darwin-universal.node') } catch (e) { - loadError = e + loadErrors.push(e) } - break - case 'linux': - switch (arch) { - case 'x64': - if (isMusl()) { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-x64-musl.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-x64-musl.node') - } else { - nativeBinding = require('wickra-linux-x64-musl') - } - } catch (e) { - loadError = e - } - } else { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-x64-gnu.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-x64-gnu.node') - } else { - nativeBinding = require('wickra-linux-x64-gnu') - } - } catch (e) { - loadError = e - } + try { + const binding = require('wickra-darwin-universal') + const bindingPackageVersion = require('wickra-darwin-universal/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + if (process.arch === 'x64') { + try { + return require('./wickra.darwin-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-darwin-x64') + const bindingPackageVersion = require('wickra-darwin-x64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - case 'arm64': - if (isMusl()) { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-arm64-musl.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-arm64-musl.node') - } else { - nativeBinding = require('wickra-linux-arm64-musl') - } - } catch (e) { - loadError = e - } - } else { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-arm64-gnu.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-arm64-gnu.node') - } else { - nativeBinding = require('wickra-linux-arm64-gnu') - } - } catch (e) { - loadError = e - } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./wickra.darwin-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-darwin-arm64') + const bindingPackageVersion = require('wickra-darwin-arm64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - case 'arm': - if (isMusl()) { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-arm-musleabihf.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-arm-musleabihf.node') - } else { - nativeBinding = require('wickra-linux-arm-musleabihf') - } - } catch (e) { - loadError = e - } - } else { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-arm-gnueabihf.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-arm-gnueabihf.node') - } else { - nativeBinding = require('wickra-linux-arm-gnueabihf') - } - } catch (e) { - loadError = e - } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`)) + } + } else if (process.platform === 'freebsd') { + if (process.arch === 'x64') { + try { + return require('./wickra.freebsd-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-freebsd-x64') + const bindingPackageVersion = require('wickra-freebsd-x64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - case 'riscv64': - if (isMusl()) { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-riscv64-musl.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-riscv64-musl.node') - } else { - nativeBinding = require('wickra-linux-riscv64-musl') - } - } catch (e) { - loadError = e - } - } else { - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-riscv64-gnu.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-riscv64-gnu.node') - } else { - nativeBinding = require('wickra-linux-riscv64-gnu') - } - } catch (e) { - loadError = e - } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./wickra.freebsd-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-freebsd-arm64') + const bindingPackageVersion = require('wickra-freebsd-arm64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) } - break - case 's390x': - localFileExisted = existsSync( - join(__dirname, 'wickra.linux-s390x-gnu.node') - ) + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`)) + } + } else if (process.platform === 'linux') { + if (process.arch === 'x64') { + if (isMusl()) { try { - if (localFileExisted) { - nativeBinding = require('./wickra.linux-s390x-gnu.node') - } else { - nativeBinding = require('wickra-linux-s390x-gnu') - } + return require('./wickra.linux-x64-musl.node') } catch (e) { - loadError = e + loadErrors.push(e) } - break - default: - throw new Error(`Unsupported architecture on Linux: ${arch}`) + try { + const binding = require('wickra-linux-x64-musl') + const bindingPackageVersion = require('wickra-linux-x64-musl/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.linux-x64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-x64-gnu') + const bindingPackageVersion = require('wickra-linux-x64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'arm64') { + if (isMusl()) { + try { + return require('./wickra.linux-arm64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-arm64-musl') + const bindingPackageVersion = require('wickra-linux-arm64-musl/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.linux-arm64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-arm64-gnu') + const bindingPackageVersion = require('wickra-linux-arm64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'arm') { + if (isMusl()) { + try { + return require('./wickra.linux-arm-musleabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-arm-musleabihf') + const bindingPackageVersion = require('wickra-linux-arm-musleabihf/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.linux-arm-gnueabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-arm-gnueabihf') + const bindingPackageVersion = require('wickra-linux-arm-gnueabihf/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'loong64') { + if (isMusl()) { + try { + return require('./wickra.linux-loong64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-loong64-musl') + const bindingPackageVersion = require('wickra-linux-loong64-musl/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.linux-loong64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-loong64-gnu') + const bindingPackageVersion = require('wickra-linux-loong64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'riscv64') { + if (isMusl()) { + try { + return require('./wickra.linux-riscv64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-riscv64-musl') + const bindingPackageVersion = require('wickra-linux-riscv64-musl/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./wickra.linux-riscv64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-riscv64-gnu') + const bindingPackageVersion = require('wickra-linux-riscv64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'ppc64') { + try { + return require('./wickra.linux-ppc64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-ppc64-gnu') + const bindingPackageVersion = require('wickra-linux-ppc64-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 's390x') { + try { + return require('./wickra.linux-s390x-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-linux-s390x-gnu') + const bindingPackageVersion = require('wickra-linux-s390x-gnu/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`)) } - break - default: - throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`) + } else if (process.platform === 'openharmony') { + if (process.arch === 'arm64') { + try { + return require('./wickra.openharmony-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-openharmony-arm64') + const bindingPackageVersion = require('wickra-openharmony-arm64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'x64') { + try { + return require('./wickra.openharmony-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-openharmony-x64') + const bindingPackageVersion = require('wickra-openharmony-x64/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm') { + try { + return require('./wickra.openharmony-arm.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('wickra-openharmony-arm') + const bindingPackageVersion = require('wickra-openharmony-arm/package.json').version + if (bindingPackageVersion !== '0.9.7' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 0.9.7 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`)) + } + } else { + loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`)) + } +} + +nativeBinding = requireNative() + +// NAPI_RS_FORCE_WASI is a tri-state flag: +// unset / any other value → native binding preferred, WASI is only a fallback +// 'true' → force WASI fallback even if native loaded +// 'error' → force WASI and throw if no WASI binding is found +// Treating any non-empty string as truthy (the historical behavior) meant +// NAPI_RS_FORCE_WASI=false, NAPI_RS_FORCE_WASI=0, etc. inadvertently triggered +// the WASI path, causing ENOENT for packages shipped without a .wasi.cjs file. +const forceWasi = + process.env.NAPI_RS_FORCE_WASI === 'true' || process.env.NAPI_RS_FORCE_WASI === 'error' + +if (!nativeBinding || forceWasi) { + let wasiBinding = null + let wasiBindingError = null + try { + wasiBinding = require('./wickra.wasi.cjs') + nativeBinding = wasiBinding + } catch (err) { + if (forceWasi) { + wasiBindingError = err + } + } + if (!nativeBinding || forceWasi) { + try { + wasiBinding = require('wickra-wasm32-wasi') + nativeBinding = wasiBinding + } catch (err) { + if (forceWasi) { + if (!wasiBindingError) { + wasiBindingError = err + } else { + wasiBindingError.cause = err + } + loadErrors.push(err) + } + } + } + if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) { + const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error') + error.cause = wasiBindingError + throw error + } } if (!nativeBinding) { - if (loadError) { - throw loadError + if (loadErrors.length > 0) { + const error = new Error( + `Cannot find native binding. ` + + `npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` + + 'Please try `npm i` again after removing both package-lock.json and node_modules directory.', + ) + // assign instead of the `new Error(message, { cause })` options form, + // which Node < 16.9 silently ignores + error.cause = loadErrors.reduce((err, cur) => { + cur.cause = err + return cur + }) + throw error } throw new Error(`Failed to load native binding`) } -const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, McGinleyDynamic, FRAMA, SuperSmoother, FisherTransform, Decycler, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, RVIVolatility, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, MIDPOINT, ROCP, ROCR, ROCR100, LINEARREG_INTERCEPT, TSF, LogReturn, RealizedVolatility, RollingIqr, RollingPercentileRank, TrendLabel, WinRate, Expectancy, SWMA, GMA, EHMA, MedianMA, AdaptiveLaguerre, DisparityIndex, FisherRSI, RSX, DynamicMomentumIndex, TREND_STRENGTH_INDEX, TsfOscillator, BipowerVariation, JARQUEBERA, ROLLINGMINMAX, HIGHPASS, REFLEX, TRENDFLEX, CTI, ADAPTIVERSI, UNIVERSALOSC, SterlingRatio, BurkeRatio, MartinRatio, TailRatio, KRatio, CommonSenseRatio, GainToPainRatio, UpsidePotentialRatio, M2Measure, BANDPASS, EVENBETTERSINE, AUTOCORRPGRAM, SHANNONENT, SAMPLEENT, EwmaVolatility, Garch11, VolatilityOfVolatility, VolatilityCone, JumpIndicator, RegimeLabel, RollingQuantile, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpreadAr1Coefficient, SpearmanCorrelation, RollingCorrelation, RollingCovariance, OuHalfLife, SpreadHurst, DistanceSsd, KendallTau, BetaNeutralSpread, HasbrouckInformationShare, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, VarianceRatio, GrangerCausality, KalmanHedgeRatio, SpreadBollingerBands, MACD, MACDFIX, MACDEXT, BollingerBands, ATR, PLUS_DM, MINUS_DM, PLUS_DI, MINUS_DI, DX, MIDPRICE, AVGPRICE, SAREXT, HT_PHASOR, CloseVsOpen, BodySizePct, WickRatio, HighLowRange, StochasticCCI, IMI, QQE, ElderRay, TTM_TREND, Qstick, POLARIZED_FRACTAL_EFFICIENCY, WAVE_PM, GatorOscillator, KasePermissionStochastic, VolatilityRatio, ProjectionOscillator, TimeBasedStop, ADAPTIVECCI, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, Inertia, ConnorsRSI, LaguerreRSI, SMI, KST, PGO, RVI, AwesomeOscillatorHistogram, STC, ElderImpulse, ZeroLagMACD, CFO, APO, KAMA, EVWMA, Alligator, JMA, VIDYA, ALMA, T3, GD, HoltWinters, RMI, DerivativeOscillator, MacdHistogram, PpoHistogram, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, NVI, PVI, VolumeOscillator, KVO, ADOSC, AnchoredRSI, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, EaseOfMovement, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, KaseDevStop, ElderSafeZone, AtrRatchet, Nrtr, ModifiedMaStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, YangZhangVolatility, RogersSatchellVolatility, GarmanKlassVolatility, ParkinsonVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, WaveTrend, RWI, Vortex, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, QuartileBands, BomarBands, MedianChannel, ProjectionBands, CentralPivotRange, MurreyMathLines, AndrewsPitchfork, VolumeWeightedSr, PivotReversal, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDDWave, TDMovingAverage, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, InverseFisherTransform, DecyclerOscillator, RoofingFilter, EmpiricalModeDecomposition, HT_DCPHASE, HT_TRENDMODE, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, HeikinAshiOscillator, ThreeLineBreak, SmoothedHeikinAshi, Equivolume, CandleVolume, FryPanBottom, DumplingTop, NewPriceLines, ValueArea, NakedPoc, SinglePrints, ProfileShape, HighLowVolumeNodes, CompositeProfile, VolumeProfile, TpoProfile, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, TwoCrows, UpsideGapTwoCrows, IdenticalThreeCrows, ThreeLineStrike, ThreeStarsInSouth, AbandonedBaby, AdvanceBlock, BeltHold, Breakaway, Counterattack, DojiStar, DragonflyDoji, GravestoneDoji, LongLeggedDoji, RickshawMan, EveningDojiStar, MorningDojiStar, GapSideBySideWhite, HighWave, Hikkake, HikkakeModified, HomingPigeon, OnNeck, InNeck, Thrusting, SeparatingLines, Kicking, KickingByLength, LadderBottom, MatHold, MatchingLow, LongLine, ShortLine, RisingThreeMethods, FallingThreeMethods, UpsideGapThreeMethods, DownsideGapThreeMethods, StalledPattern, StickSandwich, Takuri, ClosingMarubozu, OpeningMarubozu, TasukiGap, UniqueThreeRiver, ConcealingBabySwallow, DoubleTopBottom, TripleTopBottom, HeadAndShoulders, Triangle, Wedge, FlagPennant, RectangleRange, CupAndHandle, Abcd, Gartley, Butterfly, Bat, Crab, Shark, Cypher, ThreeDrives, TDCamouflage, TDClop, TDClopwin, TDPropulsion, TDTrap, Tristar, HaramiCross, TowerTopBottom, OrderBookImbalanceTop1, OrderBookImbalanceFull, Microprice, QuotedSpread, DepthSlope, OrderBookImbalanceTopN, SignedVolume, CumulativeVolumeDelta, TradeImbalance, TradeSignAutocorrelation, Pin, OrderFlowImbalance, Vpin, AmihudIlliquidity, RollMeasure, EffectiveSpread, RealizedSpread, KylesLambda, Footprint, FundingRate, FundingRateMean, FundingRateZScore, FundingBasis, OpenInterestDelta, OIPriceDivergence, OIWeighted, LongShortRatio, TakerBuySellRatio, LiquidationFeatures, TermStructureBasis, CalendarSpread, EstimatedLeverageRatio, OiToVolumeRatio, PerpetualPremiumIndex, FundingImpliedApr, OpenInterestMomentum, AdvanceDecline, AdvanceDeclineRatio, AdVolumeLine, McClellanOscillator, McClellanSummationIndex, Trin, BreadthThrust, NewHighsNewLows, HighLowIndex, PercentAboveMa, UpDownVolumeRatio, BullishPercentIndex, CumulativeVolumeIndex, AbsoluteBreadthIndex, TickIndex, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, RenkoBars, KagiBars, PointAndFigureBars, RangeBars, TickBars, VolumeBars, DollarBars, ImbalanceBars, RunBars, ThreeLineBreakBars, Alpha, SessionVwap, OvernightGap, SeasonalZScore, TimeOfDayReturnProfile, IntradayVolatilityProfile, VolumeByTimeProfile, DayOfWeekProfile, AverageDailyRange, TurnOfMonth, SessionHighLow, SessionRange, OvernightIntradayReturn, FibRetracement, FibExtension, FibProjection, AutoFib, GoldenPocket, FibConfluence, FibFan, FibArcs, FibChannel, FibTimeZones, VolumeRsi, Wad, TwiggsMoneyFlow, TradeVolumeIndex, IntradayIntensity, BetterVolume, VolumeWeightedMacd, BinanceFeed, fetchBinanceKlines, TickAggregator, Resampler, CandleReader } = nativeBinding - -module.exports.version = version -module.exports.SMA = SMA -module.exports.EMA = EMA -module.exports.WMA = WMA -module.exports.RSI = RSI -module.exports.DEMA = DEMA -module.exports.TEMA = TEMA -module.exports.HMA = HMA -module.exports.ROC = ROC -module.exports.TRIX = TRIX -module.exports.SMMA = SMMA -module.exports.TRIMA = TRIMA -module.exports.ZLEMA = ZLEMA -module.exports.MOM = MOM -module.exports.CMO = CMO -module.exports.DPO = DPO -module.exports.StdDev = StdDev -module.exports.UlcerIndex = UlcerIndex -module.exports.VerticalHorizontalFilter = VerticalHorizontalFilter -module.exports.ZScore = ZScore -module.exports.McGinleyDynamic = McGinleyDynamic -module.exports.FRAMA = FRAMA -module.exports.SuperSmoother = SuperSmoother -module.exports.FisherTransform = FisherTransform -module.exports.Decycler = Decycler -module.exports.CenterOfGravity = CenterOfGravity -module.exports.CyberneticCycle = CyberneticCycle -module.exports.InstantaneousTrendline = InstantaneousTrendline -module.exports.EhlersStochastic = EhlersStochastic -module.exports.RVIVolatility = RVIVolatility -module.exports.Variance = Variance -module.exports.CoefficientOfVariation = CoefficientOfVariation -module.exports.Skewness = Skewness -module.exports.Kurtosis = Kurtosis -module.exports.StandardError = StandardError -module.exports.DetrendedStdDev = DetrendedStdDev -module.exports.RSquared = RSquared -module.exports.MedianAbsoluteDeviation = MedianAbsoluteDeviation -module.exports.MIDPOINT = MIDPOINT -module.exports.ROCP = ROCP -module.exports.ROCR = ROCR -module.exports.ROCR100 = ROCR100 -module.exports.LINEARREG_INTERCEPT = LINEARREG_INTERCEPT -module.exports.TSF = TSF -module.exports.LogReturn = LogReturn -module.exports.RealizedVolatility = RealizedVolatility -module.exports.RollingIqr = RollingIqr -module.exports.RollingPercentileRank = RollingPercentileRank -module.exports.TrendLabel = TrendLabel -module.exports.WinRate = WinRate -module.exports.Expectancy = Expectancy -module.exports.SWMA = SWMA -module.exports.GMA = GMA -module.exports.EHMA = EHMA -module.exports.MedianMA = MedianMA -module.exports.AdaptiveLaguerre = AdaptiveLaguerre -module.exports.DisparityIndex = DisparityIndex -module.exports.FisherRSI = FisherRSI -module.exports.RSX = RSX -module.exports.DynamicMomentumIndex = DynamicMomentumIndex -module.exports.TREND_STRENGTH_INDEX = TREND_STRENGTH_INDEX -module.exports.TsfOscillator = TsfOscillator -module.exports.BipowerVariation = BipowerVariation -module.exports.JARQUEBERA = JARQUEBERA -module.exports.ROLLINGMINMAX = ROLLINGMINMAX -module.exports.HIGHPASS = HIGHPASS -module.exports.REFLEX = REFLEX -module.exports.TRENDFLEX = TRENDFLEX -module.exports.CTI = CTI -module.exports.ADAPTIVERSI = ADAPTIVERSI -module.exports.UNIVERSALOSC = UNIVERSALOSC -module.exports.SterlingRatio = SterlingRatio -module.exports.BurkeRatio = BurkeRatio -module.exports.MartinRatio = MartinRatio -module.exports.TailRatio = TailRatio -module.exports.KRatio = KRatio -module.exports.CommonSenseRatio = CommonSenseRatio -module.exports.GainToPainRatio = GainToPainRatio -module.exports.UpsidePotentialRatio = UpsidePotentialRatio -module.exports.M2Measure = M2Measure -module.exports.BANDPASS = BANDPASS -module.exports.EVENBETTERSINE = EVENBETTERSINE -module.exports.AUTOCORRPGRAM = AUTOCORRPGRAM -module.exports.SHANNONENT = SHANNONENT -module.exports.SAMPLEENT = SAMPLEENT -module.exports.EwmaVolatility = EwmaVolatility -module.exports.Garch11 = Garch11 -module.exports.VolatilityOfVolatility = VolatilityOfVolatility -module.exports.VolatilityCone = VolatilityCone -module.exports.JumpIndicator = JumpIndicator -module.exports.RegimeLabel = RegimeLabel -module.exports.RollingQuantile = RollingQuantile -module.exports.Autocorrelation = Autocorrelation -module.exports.HurstExponent = HurstExponent -module.exports.PearsonCorrelation = PearsonCorrelation -module.exports.Beta = Beta -module.exports.PairwiseBeta = PairwiseBeta -module.exports.SpreadAr1Coefficient = SpreadAr1Coefficient -module.exports.SpearmanCorrelation = SpearmanCorrelation -module.exports.RollingCorrelation = RollingCorrelation -module.exports.RollingCovariance = RollingCovariance -module.exports.OuHalfLife = OuHalfLife -module.exports.SpreadHurst = SpreadHurst -module.exports.DistanceSsd = DistanceSsd -module.exports.KendallTau = KendallTau -module.exports.BetaNeutralSpread = BetaNeutralSpread -module.exports.HasbrouckInformationShare = HasbrouckInformationShare -module.exports.PairSpreadZScore = PairSpreadZScore -module.exports.LeadLagCrossCorrelation = LeadLagCrossCorrelation -module.exports.Cointegration = Cointegration -module.exports.RelativeStrengthAB = RelativeStrengthAB -module.exports.VarianceRatio = VarianceRatio -module.exports.GrangerCausality = GrangerCausality -module.exports.KalmanHedgeRatio = KalmanHedgeRatio -module.exports.SpreadBollingerBands = SpreadBollingerBands -module.exports.MACD = MACD -module.exports.MACDFIX = MACDFIX -module.exports.MACDEXT = MACDEXT -module.exports.BollingerBands = BollingerBands -module.exports.ATR = ATR -module.exports.PLUS_DM = PLUS_DM -module.exports.MINUS_DM = MINUS_DM -module.exports.PLUS_DI = PLUS_DI -module.exports.MINUS_DI = MINUS_DI -module.exports.DX = DX -module.exports.MIDPRICE = MIDPRICE -module.exports.AVGPRICE = AVGPRICE -module.exports.SAREXT = SAREXT -module.exports.HT_PHASOR = HT_PHASOR -module.exports.CloseVsOpen = CloseVsOpen -module.exports.BodySizePct = BodySizePct -module.exports.WickRatio = WickRatio -module.exports.HighLowRange = HighLowRange -module.exports.StochasticCCI = StochasticCCI -module.exports.IMI = IMI -module.exports.QQE = QQE -module.exports.ElderRay = ElderRay -module.exports.TTM_TREND = TTM_TREND -module.exports.Qstick = Qstick -module.exports.POLARIZED_FRACTAL_EFFICIENCY = POLARIZED_FRACTAL_EFFICIENCY -module.exports.WAVE_PM = WAVE_PM -module.exports.GatorOscillator = GatorOscillator -module.exports.KasePermissionStochastic = KasePermissionStochastic -module.exports.VolatilityRatio = VolatilityRatio -module.exports.ProjectionOscillator = ProjectionOscillator -module.exports.TimeBasedStop = TimeBasedStop -module.exports.ADAPTIVECCI = ADAPTIVECCI -module.exports.Stochastic = Stochastic -module.exports.OBV = OBV -module.exports.ADX = ADX -module.exports.ADXR = ADXR -module.exports.CCI = CCI -module.exports.WilliamsR = WilliamsR -module.exports.MFI = MFI -module.exports.PSAR = PSAR -module.exports.Keltner = Keltner -module.exports.Donchian = Donchian -module.exports.VWAP = VWAP -module.exports.RollingVWAP = RollingVWAP -module.exports.AwesomeOscillator = AwesomeOscillator -module.exports.Aroon = Aroon -module.exports.Inertia = Inertia -module.exports.ConnorsRSI = ConnorsRSI -module.exports.LaguerreRSI = LaguerreRSI -module.exports.SMI = SMI -module.exports.KST = KST -module.exports.PGO = PGO -module.exports.RVI = RVI -module.exports.AwesomeOscillatorHistogram = AwesomeOscillatorHistogram -module.exports.STC = STC -module.exports.ElderImpulse = ElderImpulse -module.exports.ZeroLagMACD = ZeroLagMACD -module.exports.CFO = CFO -module.exports.APO = APO -module.exports.KAMA = KAMA -module.exports.EVWMA = EVWMA -module.exports.Alligator = Alligator -module.exports.JMA = JMA -module.exports.VIDYA = VIDYA -module.exports.ALMA = ALMA -module.exports.T3 = T3 -module.exports.GD = GD -module.exports.HoltWinters = HoltWinters -module.exports.RMI = RMI -module.exports.DerivativeOscillator = DerivativeOscillator -module.exports.MacdHistogram = MacdHistogram -module.exports.PpoHistogram = PpoHistogram -module.exports.TSI = TSI -module.exports.PMO = PMO -module.exports.TII = TII -module.exports.ADL = ADL -module.exports.VolumePriceTrend = VolumePriceTrend -module.exports.ChaikinMoneyFlow = ChaikinMoneyFlow -module.exports.ChaikinOscillator = ChaikinOscillator -module.exports.ForceIndex = ForceIndex -module.exports.NVI = NVI -module.exports.PVI = PVI -module.exports.VolumeOscillator = VolumeOscillator -module.exports.KVO = KVO -module.exports.ADOSC = ADOSC -module.exports.AnchoredRSI = AnchoredRSI -module.exports.AnchoredVWAP = AnchoredVWAP -module.exports.DemandIndex = DemandIndex -module.exports.TSV = TSV -module.exports.VZO = VZO -module.exports.MarketFacilitationIndex = MarketFacilitationIndex -module.exports.EaseOfMovement = EaseOfMovement -module.exports.SuperTrend = SuperTrend -module.exports.ChandelierExit = ChandelierExit -module.exports.ChandeKrollStop = ChandeKrollStop -module.exports.AtrTrailingStop = AtrTrailingStop -module.exports.HiLoActivator = HiLoActivator -module.exports.VoltyStop = VoltyStop -module.exports.YoyoExit = YoyoExit -module.exports.DonchianStop = DonchianStop -module.exports.PercentageTrailingStop = PercentageTrailingStop -module.exports.StepTrailingStop = StepTrailingStop -module.exports.RenkoTrailingStop = RenkoTrailingStop -module.exports.KaseDevStop = KaseDevStop -module.exports.ElderSafeZone = ElderSafeZone -module.exports.AtrRatchet = AtrRatchet -module.exports.Nrtr = Nrtr -module.exports.ModifiedMaStop = ModifiedMaStop -module.exports.TypicalPrice = TypicalPrice -module.exports.MedianPrice = MedianPrice -module.exports.WeightedClose = WeightedClose -module.exports.LinearRegression = LinearRegression -module.exports.LinRegSlope = LinRegSlope -module.exports.AcceleratorOscillator = AcceleratorOscillator -module.exports.BalanceOfPower = BalanceOfPower -module.exports.ChoppinessIndex = ChoppinessIndex -module.exports.TrueRange = TrueRange -module.exports.ChaikinVolatility = ChaikinVolatility -module.exports.YangZhangVolatility = YangZhangVolatility -module.exports.RogersSatchellVolatility = RogersSatchellVolatility -module.exports.GarmanKlassVolatility = GarmanKlassVolatility -module.exports.ParkinsonVolatility = ParkinsonVolatility -module.exports.LinRegAngle = LinRegAngle -module.exports.BollingerBandwidth = BollingerBandwidth -module.exports.PercentB = PercentB -module.exports.NATR = NATR -module.exports.HistoricalVolatility = HistoricalVolatility -module.exports.AroonOscillator = AroonOscillator -module.exports.WaveTrend = WaveTrend -module.exports.RWI = RWI -module.exports.Vortex = Vortex -module.exports.MassIndex = MassIndex -module.exports.StochRSI = StochRSI -module.exports.UltimateOscillator = UltimateOscillator -module.exports.PPO = PPO -module.exports.Coppock = Coppock -module.exports.VWMA = VWMA -module.exports.MaEnvelope = MaEnvelope -module.exports.AccelerationBands = AccelerationBands -module.exports.StarcBands = StarcBands -module.exports.AtrBands = AtrBands -module.exports.HurstChannel = HurstChannel -module.exports.LinRegChannel = LinRegChannel -module.exports.StandardErrorBands = StandardErrorBands -module.exports.QuartileBands = QuartileBands -module.exports.BomarBands = BomarBands -module.exports.MedianChannel = MedianChannel -module.exports.ProjectionBands = ProjectionBands -module.exports.CentralPivotRange = CentralPivotRange -module.exports.MurreyMathLines = MurreyMathLines -module.exports.AndrewsPitchfork = AndrewsPitchfork -module.exports.VolumeWeightedSr = VolumeWeightedSr -module.exports.PivotReversal = PivotReversal -module.exports.DoubleBollinger = DoubleBollinger -module.exports.TtmSqueeze = TtmSqueeze -module.exports.FractalChaosBands = FractalChaosBands -module.exports.VwapStdDevBands = VwapStdDevBands -module.exports.ClassicPivots = ClassicPivots -module.exports.FibonacciPivots = FibonacciPivots -module.exports.Camarilla = Camarilla -module.exports.WoodiePivots = WoodiePivots -module.exports.DemarkPivots = DemarkPivots -module.exports.WilliamsFractals = WilliamsFractals -module.exports.ZigZag = ZigZag -module.exports.TDSetup = TDSetup -module.exports.TDSequential = TDSequential -module.exports.TDDeMarker = TDDeMarker -module.exports.TDREI = TDREI -module.exports.TDPressure = TDPressure -module.exports.TDCombo = TDCombo -module.exports.TDDWave = TDDWave -module.exports.TDMovingAverage = TDMovingAverage -module.exports.TDCountdown = TDCountdown -module.exports.TDLines = TDLines -module.exports.TDRangeProjection = TDRangeProjection -module.exports.TDDifferential = TDDifferential -module.exports.TDOpen = TDOpen -module.exports.TDRiskLevel = TDRiskLevel -module.exports.InverseFisherTransform = InverseFisherTransform -module.exports.DecyclerOscillator = DecyclerOscillator -module.exports.RoofingFilter = RoofingFilter -module.exports.EmpiricalModeDecomposition = EmpiricalModeDecomposition -module.exports.HT_DCPHASE = HT_DCPHASE -module.exports.HT_TRENDMODE = HT_TRENDMODE -module.exports.HilbertDominantCycle = HilbertDominantCycle -module.exports.AdaptiveCycle = AdaptiveCycle -module.exports.SineWave = SineWave -module.exports.MAMA = MAMA -module.exports.FAMA = FAMA -module.exports.Ichimoku = Ichimoku -module.exports.HeikinAshi = HeikinAshi -module.exports.HeikinAshiOscillator = HeikinAshiOscillator -module.exports.ThreeLineBreak = ThreeLineBreak -module.exports.SmoothedHeikinAshi = SmoothedHeikinAshi -module.exports.Equivolume = Equivolume -module.exports.CandleVolume = CandleVolume -module.exports.FryPanBottom = FryPanBottom -module.exports.DumplingTop = DumplingTop -module.exports.NewPriceLines = NewPriceLines -module.exports.ValueArea = ValueArea -module.exports.NakedPoc = NakedPoc -module.exports.SinglePrints = SinglePrints -module.exports.ProfileShape = ProfileShape -module.exports.HighLowVolumeNodes = HighLowVolumeNodes -module.exports.CompositeProfile = CompositeProfile -module.exports.VolumeProfile = VolumeProfile -module.exports.TpoProfile = TpoProfile -module.exports.InitialBalance = InitialBalance -module.exports.OpeningRange = OpeningRange -module.exports.Doji = Doji -module.exports.Hammer = Hammer -module.exports.InvertedHammer = InvertedHammer -module.exports.HangingMan = HangingMan -module.exports.ShootingStar = ShootingStar -module.exports.Engulfing = Engulfing -module.exports.Harami = Harami -module.exports.MorningEveningStar = MorningEveningStar -module.exports.ThreeSoldiersOrCrows = ThreeSoldiersOrCrows -module.exports.PiercingDarkCloud = PiercingDarkCloud -module.exports.Marubozu = Marubozu -module.exports.Tweezer = Tweezer -module.exports.SpinningTop = SpinningTop -module.exports.ThreeInside = ThreeInside -module.exports.ThreeOutside = ThreeOutside -module.exports.TwoCrows = TwoCrows -module.exports.UpsideGapTwoCrows = UpsideGapTwoCrows -module.exports.IdenticalThreeCrows = IdenticalThreeCrows -module.exports.ThreeLineStrike = ThreeLineStrike -module.exports.ThreeStarsInSouth = ThreeStarsInSouth -module.exports.AbandonedBaby = AbandonedBaby -module.exports.AdvanceBlock = AdvanceBlock -module.exports.BeltHold = BeltHold -module.exports.Breakaway = Breakaway -module.exports.Counterattack = Counterattack -module.exports.DojiStar = DojiStar -module.exports.DragonflyDoji = DragonflyDoji -module.exports.GravestoneDoji = GravestoneDoji -module.exports.LongLeggedDoji = LongLeggedDoji -module.exports.RickshawMan = RickshawMan -module.exports.EveningDojiStar = EveningDojiStar -module.exports.MorningDojiStar = MorningDojiStar -module.exports.GapSideBySideWhite = GapSideBySideWhite -module.exports.HighWave = HighWave -module.exports.Hikkake = Hikkake -module.exports.HikkakeModified = HikkakeModified -module.exports.HomingPigeon = HomingPigeon -module.exports.OnNeck = OnNeck -module.exports.InNeck = InNeck -module.exports.Thrusting = Thrusting -module.exports.SeparatingLines = SeparatingLines -module.exports.Kicking = Kicking -module.exports.KickingByLength = KickingByLength -module.exports.LadderBottom = LadderBottom -module.exports.MatHold = MatHold -module.exports.MatchingLow = MatchingLow -module.exports.LongLine = LongLine -module.exports.ShortLine = ShortLine -module.exports.RisingThreeMethods = RisingThreeMethods -module.exports.FallingThreeMethods = FallingThreeMethods -module.exports.UpsideGapThreeMethods = UpsideGapThreeMethods -module.exports.DownsideGapThreeMethods = DownsideGapThreeMethods -module.exports.StalledPattern = StalledPattern -module.exports.StickSandwich = StickSandwich -module.exports.Takuri = Takuri -module.exports.ClosingMarubozu = ClosingMarubozu -module.exports.OpeningMarubozu = OpeningMarubozu -module.exports.TasukiGap = TasukiGap -module.exports.UniqueThreeRiver = UniqueThreeRiver -module.exports.ConcealingBabySwallow = ConcealingBabySwallow -module.exports.DoubleTopBottom = DoubleTopBottom -module.exports.TripleTopBottom = TripleTopBottom -module.exports.HeadAndShoulders = HeadAndShoulders -module.exports.Triangle = Triangle -module.exports.Wedge = Wedge -module.exports.FlagPennant = FlagPennant -module.exports.RectangleRange = RectangleRange -module.exports.CupAndHandle = CupAndHandle -module.exports.Abcd = Abcd -module.exports.Gartley = Gartley -module.exports.Butterfly = Butterfly -module.exports.Bat = Bat -module.exports.Crab = Crab -module.exports.Shark = Shark -module.exports.Cypher = Cypher -module.exports.ThreeDrives = ThreeDrives -module.exports.TDCamouflage = TDCamouflage -module.exports.TDClop = TDClop -module.exports.TDClopwin = TDClopwin -module.exports.TDPropulsion = TDPropulsion -module.exports.TDTrap = TDTrap -module.exports.Tristar = Tristar -module.exports.HaramiCross = HaramiCross -module.exports.TowerTopBottom = TowerTopBottom -module.exports.OrderBookImbalanceTop1 = OrderBookImbalanceTop1 -module.exports.OrderBookImbalanceFull = OrderBookImbalanceFull -module.exports.Microprice = Microprice -module.exports.QuotedSpread = QuotedSpread -module.exports.DepthSlope = DepthSlope -module.exports.OrderBookImbalanceTopN = OrderBookImbalanceTopN -module.exports.SignedVolume = SignedVolume -module.exports.CumulativeVolumeDelta = CumulativeVolumeDelta -module.exports.TradeImbalance = TradeImbalance -module.exports.TradeSignAutocorrelation = TradeSignAutocorrelation -module.exports.Pin = Pin -module.exports.OrderFlowImbalance = OrderFlowImbalance -module.exports.Vpin = Vpin -module.exports.AmihudIlliquidity = AmihudIlliquidity -module.exports.RollMeasure = RollMeasure -module.exports.EffectiveSpread = EffectiveSpread -module.exports.RealizedSpread = RealizedSpread -module.exports.KylesLambda = KylesLambda -module.exports.Footprint = Footprint -module.exports.FundingRate = FundingRate -module.exports.FundingRateMean = FundingRateMean -module.exports.FundingRateZScore = FundingRateZScore -module.exports.FundingBasis = FundingBasis -module.exports.OpenInterestDelta = OpenInterestDelta -module.exports.OIPriceDivergence = OIPriceDivergence -module.exports.OIWeighted = OIWeighted -module.exports.LongShortRatio = LongShortRatio -module.exports.TakerBuySellRatio = TakerBuySellRatio -module.exports.LiquidationFeatures = LiquidationFeatures -module.exports.TermStructureBasis = TermStructureBasis -module.exports.CalendarSpread = CalendarSpread -module.exports.EstimatedLeverageRatio = EstimatedLeverageRatio -module.exports.OiToVolumeRatio = OiToVolumeRatio -module.exports.PerpetualPremiumIndex = PerpetualPremiumIndex -module.exports.FundingImpliedApr = FundingImpliedApr -module.exports.OpenInterestMomentum = OpenInterestMomentum -module.exports.AdvanceDecline = AdvanceDecline -module.exports.AdvanceDeclineRatio = AdvanceDeclineRatio -module.exports.AdVolumeLine = AdVolumeLine -module.exports.McClellanOscillator = McClellanOscillator -module.exports.McClellanSummationIndex = McClellanSummationIndex -module.exports.Trin = Trin -module.exports.BreadthThrust = BreadthThrust -module.exports.NewHighsNewLows = NewHighsNewLows -module.exports.HighLowIndex = HighLowIndex -module.exports.PercentAboveMa = PercentAboveMa -module.exports.UpDownVolumeRatio = UpDownVolumeRatio -module.exports.BullishPercentIndex = BullishPercentIndex -module.exports.CumulativeVolumeIndex = CumulativeVolumeIndex -module.exports.AbsoluteBreadthIndex = AbsoluteBreadthIndex -module.exports.TickIndex = TickIndex -module.exports.SharpeRatio = SharpeRatio -module.exports.SortinoRatio = SortinoRatio -module.exports.CalmarRatio = CalmarRatio -module.exports.OmegaRatio = OmegaRatio -module.exports.MaxDrawdown = MaxDrawdown -module.exports.AverageDrawdown = AverageDrawdown -module.exports.DrawdownDuration = DrawdownDuration -module.exports.PainIndex = PainIndex -module.exports.ValueAtRisk = ValueAtRisk -module.exports.ConditionalValueAtRisk = ConditionalValueAtRisk -module.exports.ProfitFactor = ProfitFactor -module.exports.GainLossRatio = GainLossRatio -module.exports.RecoveryFactor = RecoveryFactor -module.exports.KellyCriterion = KellyCriterion -module.exports.TreynorRatio = TreynorRatio -module.exports.InformationRatio = InformationRatio -module.exports.RenkoBars = RenkoBars -module.exports.KagiBars = KagiBars -module.exports.PointAndFigureBars = PointAndFigureBars -module.exports.RangeBars = RangeBars -module.exports.TickBars = TickBars -module.exports.VolumeBars = VolumeBars -module.exports.DollarBars = DollarBars -module.exports.ImbalanceBars = ImbalanceBars -module.exports.RunBars = RunBars -module.exports.ThreeLineBreakBars = ThreeLineBreakBars -module.exports.Alpha = Alpha -module.exports.SessionVwap = SessionVwap -module.exports.OvernightGap = OvernightGap -module.exports.SeasonalZScore = SeasonalZScore -module.exports.TimeOfDayReturnProfile = TimeOfDayReturnProfile -module.exports.IntradayVolatilityProfile = IntradayVolatilityProfile -module.exports.VolumeByTimeProfile = VolumeByTimeProfile -module.exports.DayOfWeekProfile = DayOfWeekProfile -module.exports.AverageDailyRange = AverageDailyRange -module.exports.TurnOfMonth = TurnOfMonth -module.exports.SessionHighLow = SessionHighLow -module.exports.SessionRange = SessionRange -module.exports.OvernightIntradayReturn = OvernightIntradayReturn -module.exports.FibRetracement = FibRetracement -module.exports.FibExtension = FibExtension -module.exports.FibProjection = FibProjection -module.exports.AutoFib = AutoFib -module.exports.GoldenPocket = GoldenPocket -module.exports.FibConfluence = FibConfluence -module.exports.FibFan = FibFan -module.exports.FibArcs = FibArcs -module.exports.FibChannel = FibChannel -module.exports.FibTimeZones = FibTimeZones -module.exports.VolumeRsi = VolumeRsi -module.exports.Wad = Wad -module.exports.TwiggsMoneyFlow = TwiggsMoneyFlow -module.exports.TradeVolumeIndex = TradeVolumeIndex -module.exports.IntradayIntensity = IntradayIntensity -module.exports.BetterVolume = BetterVolume -module.exports.VolumeWeightedMacd = VolumeWeightedMacd -module.exports.BinanceFeed = BinanceFeed -module.exports.fetchBinanceKlines = fetchBinanceKlines -module.exports.TickAggregator = TickAggregator -module.exports.Resampler = Resampler -module.exports.CandleReader = CandleReader +module.exports = nativeBinding +module.exports.AbandonedBaby = nativeBinding.AbandonedBaby +module.exports.AbandonedBabyNode = nativeBinding.AbandonedBabyNode +module.exports.Abcd = nativeBinding.Abcd +module.exports.AbcdNode = nativeBinding.AbcdNode +module.exports.AbsoluteBreadthIndex = nativeBinding.AbsoluteBreadthIndex +module.exports.AbsoluteBreadthIndexNode = nativeBinding.AbsoluteBreadthIndexNode +module.exports.AccelerationBands = nativeBinding.AccelerationBands +module.exports.AccelerationBandsNode = nativeBinding.AccelerationBandsNode +module.exports.AcceleratorOscillator = nativeBinding.AcceleratorOscillator +module.exports.AcceleratorOscillatorNode = nativeBinding.AcceleratorOscillatorNode +module.exports.ADAPTIVECCI = nativeBinding.ADAPTIVECCI +module.exports.AdaptiveCciNode = nativeBinding.AdaptiveCciNode +module.exports.AdaptiveCycle = nativeBinding.AdaptiveCycle +module.exports.AdaptiveCycleNode = nativeBinding.AdaptiveCycleNode +module.exports.AdaptiveLaguerre = nativeBinding.AdaptiveLaguerre +module.exports.AdaptiveLaguerreFilterNode = nativeBinding.AdaptiveLaguerreFilterNode +module.exports.ADAPTIVERSI = nativeBinding.ADAPTIVERSI +module.exports.AdaptiveRsiNode = nativeBinding.AdaptiveRsiNode +module.exports.ADL = nativeBinding.ADL +module.exports.AdlNode = nativeBinding.AdlNode +module.exports.ADOSC = nativeBinding.ADOSC +module.exports.AdOscillatorNode = nativeBinding.AdOscillatorNode +module.exports.AdvanceBlock = nativeBinding.AdvanceBlock +module.exports.AdvanceBlockNode = nativeBinding.AdvanceBlockNode +module.exports.AdvanceDecline = nativeBinding.AdvanceDecline +module.exports.AdvanceDeclineNode = nativeBinding.AdvanceDeclineNode +module.exports.AdvanceDeclineRatio = nativeBinding.AdvanceDeclineRatio +module.exports.AdvanceDeclineRatioNode = nativeBinding.AdvanceDeclineRatioNode +module.exports.AdVolumeLine = nativeBinding.AdVolumeLine +module.exports.AdVolumeLineNode = nativeBinding.AdVolumeLineNode +module.exports.ADX = nativeBinding.ADX +module.exports.AdxNode = nativeBinding.AdxNode +module.exports.ADXR = nativeBinding.ADXR +module.exports.AdxrNode = nativeBinding.AdxrNode +module.exports.Alligator = nativeBinding.Alligator +module.exports.AlligatorNode = nativeBinding.AlligatorNode +module.exports.ALMA = nativeBinding.ALMA +module.exports.AlmaNode = nativeBinding.AlmaNode +module.exports.Alpha = nativeBinding.Alpha +module.exports.AlphaNode = nativeBinding.AlphaNode +module.exports.AmihudIlliquidity = nativeBinding.AmihudIlliquidity +module.exports.AmihudIlliquidityNode = nativeBinding.AmihudIlliquidityNode +module.exports.AnchoredRSI = nativeBinding.AnchoredRSI +module.exports.AnchoredRsiNode = nativeBinding.AnchoredRsiNode +module.exports.AnchoredVWAP = nativeBinding.AnchoredVWAP +module.exports.AnchoredVwapNode = nativeBinding.AnchoredVwapNode +module.exports.AndrewsPitchfork = nativeBinding.AndrewsPitchfork +module.exports.AndrewsPitchforkNode = nativeBinding.AndrewsPitchforkNode +module.exports.APO = nativeBinding.APO +module.exports.ApoNode = nativeBinding.ApoNode +module.exports.Aroon = nativeBinding.Aroon +module.exports.AroonNode = nativeBinding.AroonNode +module.exports.AroonOscillator = nativeBinding.AroonOscillator +module.exports.AroonOscillatorNode = nativeBinding.AroonOscillatorNode +module.exports.ATR = nativeBinding.ATR +module.exports.AtrNode = nativeBinding.AtrNode +module.exports.AtrBands = nativeBinding.AtrBands +module.exports.AtrBandsNode = nativeBinding.AtrBandsNode +module.exports.AtrRatchet = nativeBinding.AtrRatchet +module.exports.AtrRatchetNode = nativeBinding.AtrRatchetNode +module.exports.AtrTrailingStop = nativeBinding.AtrTrailingStop +module.exports.AtrTrailingStopNode = nativeBinding.AtrTrailingStopNode +module.exports.Autocorrelation = nativeBinding.Autocorrelation +module.exports.AutocorrelationNode = nativeBinding.AutocorrelationNode +module.exports.AUTOCORRPGRAM = nativeBinding.AUTOCORRPGRAM +module.exports.AutocorrelationPeriodogramNode = nativeBinding.AutocorrelationPeriodogramNode +module.exports.AutoFib = nativeBinding.AutoFib +module.exports.AutoFibNode = nativeBinding.AutoFibNode +module.exports.AverageDailyRange = nativeBinding.AverageDailyRange +module.exports.AverageDailyRangeNode = nativeBinding.AverageDailyRangeNode +module.exports.AverageDrawdown = nativeBinding.AverageDrawdown +module.exports.AverageDrawdownNode = nativeBinding.AverageDrawdownNode +module.exports.AVGPRICE = nativeBinding.AVGPRICE +module.exports.AvgPriceNode = nativeBinding.AvgPriceNode +module.exports.AwesomeOscillator = nativeBinding.AwesomeOscillator +module.exports.AoNode = nativeBinding.AoNode +module.exports.AwesomeOscillatorHistogram = nativeBinding.AwesomeOscillatorHistogram +module.exports.AwesomeOscillatorHistogramNode = nativeBinding.AwesomeOscillatorHistogramNode +module.exports.BalanceOfPower = nativeBinding.BalanceOfPower +module.exports.BalanceOfPowerNode = nativeBinding.BalanceOfPowerNode +module.exports.BANDPASS = nativeBinding.BANDPASS +module.exports.BandpassFilterNode = nativeBinding.BandpassFilterNode +module.exports.Bat = nativeBinding.Bat +module.exports.BatNode = nativeBinding.BatNode +module.exports.BeltHold = nativeBinding.BeltHold +module.exports.BeltHoldNode = nativeBinding.BeltHoldNode +module.exports.Beta = nativeBinding.Beta +module.exports.BetaNode = nativeBinding.BetaNode +module.exports.BetaNeutralSpread = nativeBinding.BetaNeutralSpread +module.exports.BetaNeutralSpreadNode = nativeBinding.BetaNeutralSpreadNode +module.exports.BetterVolume = nativeBinding.BetterVolume +module.exports.BetterVolumeNode = nativeBinding.BetterVolumeNode +module.exports.BinanceFeed = nativeBinding.BinanceFeed +module.exports.BinanceFeedNode = nativeBinding.BinanceFeedNode +module.exports.BipowerVariation = nativeBinding.BipowerVariation +module.exports.BipowerVariationNode = nativeBinding.BipowerVariationNode +module.exports.BodySizePct = nativeBinding.BodySizePct +module.exports.BodySizePctNode = nativeBinding.BodySizePctNode +module.exports.BollingerBands = nativeBinding.BollingerBands +module.exports.BollingerNode = nativeBinding.BollingerNode +module.exports.BollingerBandwidth = nativeBinding.BollingerBandwidth +module.exports.BollingerBandwidthNode = nativeBinding.BollingerBandwidthNode +module.exports.BomarBands = nativeBinding.BomarBands +module.exports.BomarBandsNode = nativeBinding.BomarBandsNode +module.exports.BreadthThrust = nativeBinding.BreadthThrust +module.exports.BreadthThrustNode = nativeBinding.BreadthThrustNode +module.exports.Breakaway = nativeBinding.Breakaway +module.exports.BreakawayNode = nativeBinding.BreakawayNode +module.exports.BullishPercentIndex = nativeBinding.BullishPercentIndex +module.exports.BullishPercentIndexNode = nativeBinding.BullishPercentIndexNode +module.exports.BurkeRatio = nativeBinding.BurkeRatio +module.exports.BurkeRatioNode = nativeBinding.BurkeRatioNode +module.exports.Butterfly = nativeBinding.Butterfly +module.exports.ButterflyNode = nativeBinding.ButterflyNode +module.exports.CalendarSpread = nativeBinding.CalendarSpread +module.exports.CalendarSpreadNode = nativeBinding.CalendarSpreadNode +module.exports.CalmarRatio = nativeBinding.CalmarRatio +module.exports.CalmarRatioNode = nativeBinding.CalmarRatioNode +module.exports.Camarilla = nativeBinding.Camarilla +module.exports.CamarillaNode = nativeBinding.CamarillaNode +module.exports.CandleReader = nativeBinding.CandleReader +module.exports.CandleReaderNode = nativeBinding.CandleReaderNode +module.exports.CandleVolume = nativeBinding.CandleVolume +module.exports.CandleVolumeNode = nativeBinding.CandleVolumeNode +module.exports.CCI = nativeBinding.CCI +module.exports.CciNode = nativeBinding.CciNode +module.exports.CenterOfGravity = nativeBinding.CenterOfGravity +module.exports.CenterOfGravityNode = nativeBinding.CenterOfGravityNode +module.exports.CentralPivotRange = nativeBinding.CentralPivotRange +module.exports.CentralPivotRangeNode = nativeBinding.CentralPivotRangeNode +module.exports.CFO = nativeBinding.CFO +module.exports.CfoNode = nativeBinding.CfoNode +module.exports.ChaikinMoneyFlow = nativeBinding.ChaikinMoneyFlow +module.exports.ChaikinMoneyFlowNode = nativeBinding.ChaikinMoneyFlowNode +module.exports.ChaikinOscillator = nativeBinding.ChaikinOscillator +module.exports.ChaikinOscillatorNode = nativeBinding.ChaikinOscillatorNode +module.exports.ChaikinVolatility = nativeBinding.ChaikinVolatility +module.exports.ChaikinVolatilityNode = nativeBinding.ChaikinVolatilityNode +module.exports.ChandeKrollStop = nativeBinding.ChandeKrollStop +module.exports.ChandeKrollStopNode = nativeBinding.ChandeKrollStopNode +module.exports.ChandelierExit = nativeBinding.ChandelierExit +module.exports.ChandelierExitNode = nativeBinding.ChandelierExitNode +module.exports.ChoppinessIndex = nativeBinding.ChoppinessIndex +module.exports.ChoppinessIndexNode = nativeBinding.ChoppinessIndexNode +module.exports.ClassicPivots = nativeBinding.ClassicPivots +module.exports.ClassicPivotsNode = nativeBinding.ClassicPivotsNode +module.exports.CloseVsOpen = nativeBinding.CloseVsOpen +module.exports.CloseVsOpenNode = nativeBinding.CloseVsOpenNode +module.exports.ClosingMarubozu = nativeBinding.ClosingMarubozu +module.exports.ClosingMarubozuNode = nativeBinding.ClosingMarubozuNode +module.exports.CMO = nativeBinding.CMO +module.exports.CmoNode = nativeBinding.CmoNode +module.exports.CoefficientOfVariation = nativeBinding.CoefficientOfVariation +module.exports.CoefficientOfVariationNode = nativeBinding.CoefficientOfVariationNode +module.exports.Cointegration = nativeBinding.Cointegration +module.exports.CointegrationNode = nativeBinding.CointegrationNode +module.exports.CommonSenseRatio = nativeBinding.CommonSenseRatio +module.exports.CommonSenseRatioNode = nativeBinding.CommonSenseRatioNode +module.exports.CompositeProfile = nativeBinding.CompositeProfile +module.exports.CompositeProfileNode = nativeBinding.CompositeProfileNode +module.exports.ConcealingBabySwallow = nativeBinding.ConcealingBabySwallow +module.exports.ConcealingBabySwallowNode = nativeBinding.ConcealingBabySwallowNode +module.exports.ConditionalValueAtRisk = nativeBinding.ConditionalValueAtRisk +module.exports.ConditionalValueAtRiskNode = nativeBinding.ConditionalValueAtRiskNode +module.exports.ConnorsRSI = nativeBinding.ConnorsRSI +module.exports.ConnorsRsiNode = nativeBinding.ConnorsRsiNode +module.exports.Coppock = nativeBinding.Coppock +module.exports.CoppockNode = nativeBinding.CoppockNode +module.exports.Counterattack = nativeBinding.Counterattack +module.exports.CounterattackNode = nativeBinding.CounterattackNode +module.exports.Crab = nativeBinding.Crab +module.exports.CrabNode = nativeBinding.CrabNode +module.exports.CTI = nativeBinding.CTI +module.exports.CorrelationTrendIndicatorNode = nativeBinding.CorrelationTrendIndicatorNode +module.exports.CumulativeVolumeDelta = nativeBinding.CumulativeVolumeDelta +module.exports.CumulativeVolumeDeltaNode = nativeBinding.CumulativeVolumeDeltaNode +module.exports.CumulativeVolumeIndex = nativeBinding.CumulativeVolumeIndex +module.exports.CumulativeVolumeIndexNode = nativeBinding.CumulativeVolumeIndexNode +module.exports.CupAndHandle = nativeBinding.CupAndHandle +module.exports.CupAndHandleNode = nativeBinding.CupAndHandleNode +module.exports.CyberneticCycle = nativeBinding.CyberneticCycle +module.exports.CyberneticCycleNode = nativeBinding.CyberneticCycleNode +module.exports.Cypher = nativeBinding.Cypher +module.exports.CypherNode = nativeBinding.CypherNode +module.exports.DayOfWeekProfile = nativeBinding.DayOfWeekProfile +module.exports.DayOfWeekProfileNode = nativeBinding.DayOfWeekProfileNode +module.exports.Decycler = nativeBinding.Decycler +module.exports.DecyclerNode = nativeBinding.DecyclerNode +module.exports.DecyclerOscillator = nativeBinding.DecyclerOscillator +module.exports.DecyclerOscillatorNode = nativeBinding.DecyclerOscillatorNode +module.exports.DEMA = nativeBinding.DEMA +module.exports.DemaNode = nativeBinding.DemaNode +module.exports.DemandIndex = nativeBinding.DemandIndex +module.exports.DemandIndexNode = nativeBinding.DemandIndexNode +module.exports.DemarkPivots = nativeBinding.DemarkPivots +module.exports.DemarkPivotsNode = nativeBinding.DemarkPivotsNode +module.exports.DepthSlope = nativeBinding.DepthSlope +module.exports.DepthSlopeNode = nativeBinding.DepthSlopeNode +module.exports.DerivativeOscillator = nativeBinding.DerivativeOscillator +module.exports.DerivativeOscillatorNode = nativeBinding.DerivativeOscillatorNode +module.exports.DetrendedStdDev = nativeBinding.DetrendedStdDev +module.exports.DetrendedStdDevNode = nativeBinding.DetrendedStdDevNode +module.exports.DisparityIndex = nativeBinding.DisparityIndex +module.exports.DisparityIndexNode = nativeBinding.DisparityIndexNode +module.exports.DistanceSsd = nativeBinding.DistanceSsd +module.exports.DistanceSsdNode = nativeBinding.DistanceSsdNode +module.exports.Doji = nativeBinding.Doji +module.exports.DojiNode = nativeBinding.DojiNode +module.exports.DojiStar = nativeBinding.DojiStar +module.exports.DojiStarNode = nativeBinding.DojiStarNode +module.exports.DollarBars = nativeBinding.DollarBars +module.exports.DollarBarsNode = nativeBinding.DollarBarsNode +module.exports.Donchian = nativeBinding.Donchian +module.exports.DonchianNode = nativeBinding.DonchianNode +module.exports.DonchianStop = nativeBinding.DonchianStop +module.exports.DonchianStopNode = nativeBinding.DonchianStopNode +module.exports.DoubleBollinger = nativeBinding.DoubleBollinger +module.exports.DoubleBollingerNode = nativeBinding.DoubleBollingerNode +module.exports.DoubleTopBottom = nativeBinding.DoubleTopBottom +module.exports.DoubleTopBottomNode = nativeBinding.DoubleTopBottomNode +module.exports.DownsideGapThreeMethods = nativeBinding.DownsideGapThreeMethods +module.exports.DownsideGapThreeMethodsNode = nativeBinding.DownsideGapThreeMethodsNode +module.exports.DPO = nativeBinding.DPO +module.exports.DpoNode = nativeBinding.DpoNode +module.exports.DragonflyDoji = nativeBinding.DragonflyDoji +module.exports.DragonflyDojiNode = nativeBinding.DragonflyDojiNode +module.exports.DrawdownDuration = nativeBinding.DrawdownDuration +module.exports.DrawdownDurationNode = nativeBinding.DrawdownDurationNode +module.exports.DumplingTop = nativeBinding.DumplingTop +module.exports.DumplingTopNode = nativeBinding.DumplingTopNode +module.exports.DX = nativeBinding.DX +module.exports.DxNode = nativeBinding.DxNode +module.exports.DynamicMomentumIndex = nativeBinding.DynamicMomentumIndex +module.exports.DynamicMomentumIndexNode = nativeBinding.DynamicMomentumIndexNode +module.exports.EaseOfMovement = nativeBinding.EaseOfMovement +module.exports.EaseOfMovementNode = nativeBinding.EaseOfMovementNode +module.exports.EffectiveSpread = nativeBinding.EffectiveSpread +module.exports.EffectiveSpreadNode = nativeBinding.EffectiveSpreadNode +module.exports.EhlersStochastic = nativeBinding.EhlersStochastic +module.exports.EhlersStochasticNode = nativeBinding.EhlersStochasticNode +module.exports.EHMA = nativeBinding.EHMA +module.exports.EhmaNode = nativeBinding.EhmaNode +module.exports.ElderImpulse = nativeBinding.ElderImpulse +module.exports.ElderImpulseNode = nativeBinding.ElderImpulseNode +module.exports.ElderRay = nativeBinding.ElderRay +module.exports.ElderRayNode = nativeBinding.ElderRayNode +module.exports.ElderSafeZone = nativeBinding.ElderSafeZone +module.exports.ElderSafeZoneNode = nativeBinding.ElderSafeZoneNode +module.exports.EMA = nativeBinding.EMA +module.exports.EmaNode = nativeBinding.EmaNode +module.exports.EmpiricalModeDecomposition = nativeBinding.EmpiricalModeDecomposition +module.exports.EmpiricalModeDecompositionNode = nativeBinding.EmpiricalModeDecompositionNode +module.exports.Engulfing = nativeBinding.Engulfing +module.exports.EngulfingNode = nativeBinding.EngulfingNode +module.exports.Equivolume = nativeBinding.Equivolume +module.exports.EquivolumeNode = nativeBinding.EquivolumeNode +module.exports.EstimatedLeverageRatio = nativeBinding.EstimatedLeverageRatio +module.exports.EstimatedLeverageRatioNode = nativeBinding.EstimatedLeverageRatioNode +module.exports.EVENBETTERSINE = nativeBinding.EVENBETTERSINE +module.exports.EvenBetterSinewaveNode = nativeBinding.EvenBetterSinewaveNode +module.exports.EveningDojiStar = nativeBinding.EveningDojiStar +module.exports.EveningDojiStarNode = nativeBinding.EveningDojiStarNode +module.exports.EVWMA = nativeBinding.EVWMA +module.exports.EvwmaNode = nativeBinding.EvwmaNode +module.exports.EwmaVolatility = nativeBinding.EwmaVolatility +module.exports.EwmaVolatilityNode = nativeBinding.EwmaVolatilityNode +module.exports.Expectancy = nativeBinding.Expectancy +module.exports.ExpectancyNode = nativeBinding.ExpectancyNode +module.exports.FallingThreeMethods = nativeBinding.FallingThreeMethods +module.exports.FallingThreeMethodsNode = nativeBinding.FallingThreeMethodsNode +module.exports.FAMA = nativeBinding.FAMA +module.exports.FamaNode = nativeBinding.FamaNode +module.exports.FibArcs = nativeBinding.FibArcs +module.exports.FibArcsNode = nativeBinding.FibArcsNode +module.exports.FibChannel = nativeBinding.FibChannel +module.exports.FibChannelNode = nativeBinding.FibChannelNode +module.exports.FibConfluence = nativeBinding.FibConfluence +module.exports.FibConfluenceNode = nativeBinding.FibConfluenceNode +module.exports.FibExtension = nativeBinding.FibExtension +module.exports.FibExtensionNode = nativeBinding.FibExtensionNode +module.exports.FibFan = nativeBinding.FibFan +module.exports.FibFanNode = nativeBinding.FibFanNode +module.exports.FibonacciPivots = nativeBinding.FibonacciPivots +module.exports.FibonacciPivotsNode = nativeBinding.FibonacciPivotsNode +module.exports.FibProjection = nativeBinding.FibProjection +module.exports.FibProjectionNode = nativeBinding.FibProjectionNode +module.exports.FibRetracement = nativeBinding.FibRetracement +module.exports.FibRetracementNode = nativeBinding.FibRetracementNode +module.exports.FibTimeZones = nativeBinding.FibTimeZones +module.exports.FibTimeZonesNode = nativeBinding.FibTimeZonesNode +module.exports.FisherRSI = nativeBinding.FisherRSI +module.exports.FisherRsiNode = nativeBinding.FisherRsiNode +module.exports.FisherTransform = nativeBinding.FisherTransform +module.exports.FisherTransformNode = nativeBinding.FisherTransformNode +module.exports.FlagPennant = nativeBinding.FlagPennant +module.exports.FlagPennantNode = nativeBinding.FlagPennantNode +module.exports.Footprint = nativeBinding.Footprint +module.exports.FootprintNode = nativeBinding.FootprintNode +module.exports.ForceIndex = nativeBinding.ForceIndex +module.exports.ForceIndexNode = nativeBinding.ForceIndexNode +module.exports.FractalChaosBands = nativeBinding.FractalChaosBands +module.exports.FractalChaosBandsNode = nativeBinding.FractalChaosBandsNode +module.exports.FRAMA = nativeBinding.FRAMA +module.exports.FramaNode = nativeBinding.FramaNode +module.exports.FryPanBottom = nativeBinding.FryPanBottom +module.exports.FryPanBottomNode = nativeBinding.FryPanBottomNode +module.exports.FundingBasis = nativeBinding.FundingBasis +module.exports.FundingBasisNode = nativeBinding.FundingBasisNode +module.exports.FundingImpliedApr = nativeBinding.FundingImpliedApr +module.exports.FundingImpliedAprNode = nativeBinding.FundingImpliedAprNode +module.exports.FundingRate = nativeBinding.FundingRate +module.exports.FundingRateNode = nativeBinding.FundingRateNode +module.exports.FundingRateMean = nativeBinding.FundingRateMean +module.exports.FundingRateMeanNode = nativeBinding.FundingRateMeanNode +module.exports.FundingRateZScore = nativeBinding.FundingRateZScore +module.exports.FundingRateZScoreNode = nativeBinding.FundingRateZScoreNode +module.exports.GainLossRatio = nativeBinding.GainLossRatio +module.exports.GainLossRatioNode = nativeBinding.GainLossRatioNode +module.exports.GainToPainRatio = nativeBinding.GainToPainRatio +module.exports.GainToPainRatioNode = nativeBinding.GainToPainRatioNode +module.exports.GapSideBySideWhite = nativeBinding.GapSideBySideWhite +module.exports.GapSideBySideWhiteNode = nativeBinding.GapSideBySideWhiteNode +module.exports.Garch11 = nativeBinding.Garch11 +module.exports.Garch11Node = nativeBinding.Garch11Node +module.exports.GarmanKlassVolatility = nativeBinding.GarmanKlassVolatility +module.exports.GarmanKlassVolatilityNode = nativeBinding.GarmanKlassVolatilityNode +module.exports.Gartley = nativeBinding.Gartley +module.exports.GartleyNode = nativeBinding.GartleyNode +module.exports.GatorOscillator = nativeBinding.GatorOscillator +module.exports.GatorOscillatorNode = nativeBinding.GatorOscillatorNode +module.exports.GD = nativeBinding.GD +module.exports.GeneralizedDemaNode = nativeBinding.GeneralizedDemaNode +module.exports.GMA = nativeBinding.GMA +module.exports.GeometricMaNode = nativeBinding.GeometricMaNode +module.exports.GoldenPocket = nativeBinding.GoldenPocket +module.exports.GoldenPocketNode = nativeBinding.GoldenPocketNode +module.exports.GrangerCausality = nativeBinding.GrangerCausality +module.exports.GrangerCausalityNode = nativeBinding.GrangerCausalityNode +module.exports.GravestoneDoji = nativeBinding.GravestoneDoji +module.exports.GravestoneDojiNode = nativeBinding.GravestoneDojiNode +module.exports.Hammer = nativeBinding.Hammer +module.exports.HammerNode = nativeBinding.HammerNode +module.exports.HangingMan = nativeBinding.HangingMan +module.exports.HangingManNode = nativeBinding.HangingManNode +module.exports.Harami = nativeBinding.Harami +module.exports.HaramiNode = nativeBinding.HaramiNode +module.exports.HaramiCross = nativeBinding.HaramiCross +module.exports.HaramiCrossNode = nativeBinding.HaramiCrossNode +module.exports.HasbrouckInformationShare = nativeBinding.HasbrouckInformationShare +module.exports.HasbrouckInformationShareNode = nativeBinding.HasbrouckInformationShareNode +module.exports.HeadAndShoulders = nativeBinding.HeadAndShoulders +module.exports.HeadAndShouldersNode = nativeBinding.HeadAndShouldersNode +module.exports.HeikinAshi = nativeBinding.HeikinAshi +module.exports.HeikinAshiNode = nativeBinding.HeikinAshiNode +module.exports.HeikinAshiOscillator = nativeBinding.HeikinAshiOscillator +module.exports.HeikinAshiOscillatorNode = nativeBinding.HeikinAshiOscillatorNode +module.exports.HighLowIndex = nativeBinding.HighLowIndex +module.exports.HighLowIndexNode = nativeBinding.HighLowIndexNode +module.exports.HighLowRange = nativeBinding.HighLowRange +module.exports.HighLowRangeNode = nativeBinding.HighLowRangeNode +module.exports.HighLowVolumeNodes = nativeBinding.HighLowVolumeNodes +module.exports.HighLowVolumeNodesNode = nativeBinding.HighLowVolumeNodesNode +module.exports.HIGHPASS = nativeBinding.HIGHPASS +module.exports.HighpassFilterNode = nativeBinding.HighpassFilterNode +module.exports.HighWave = nativeBinding.HighWave +module.exports.HighWaveNode = nativeBinding.HighWaveNode +module.exports.Hikkake = nativeBinding.Hikkake +module.exports.HikkakeNode = nativeBinding.HikkakeNode +module.exports.HikkakeModified = nativeBinding.HikkakeModified +module.exports.HikkakeModifiedNode = nativeBinding.HikkakeModifiedNode +module.exports.HilbertDominantCycle = nativeBinding.HilbertDominantCycle +module.exports.HilbertDominantCycleNode = nativeBinding.HilbertDominantCycleNode +module.exports.HiLoActivator = nativeBinding.HiLoActivator +module.exports.HiLoActivatorNode = nativeBinding.HiLoActivatorNode +module.exports.HistoricalVolatility = nativeBinding.HistoricalVolatility +module.exports.HistoricalVolatilityNode = nativeBinding.HistoricalVolatilityNode +module.exports.HMA = nativeBinding.HMA +module.exports.HmaNode = nativeBinding.HmaNode +module.exports.HoltWinters = nativeBinding.HoltWinters +module.exports.HoltWintersNode = nativeBinding.HoltWintersNode +module.exports.HomingPigeon = nativeBinding.HomingPigeon +module.exports.HomingPigeonNode = nativeBinding.HomingPigeonNode +module.exports.HT_DCPHASE = nativeBinding.HT_DCPHASE +module.exports.HtDcPhaseNode = nativeBinding.HtDcPhaseNode +module.exports.HT_PHASOR = nativeBinding.HT_PHASOR +module.exports.HtPhasorNode = nativeBinding.HtPhasorNode +module.exports.HT_TRENDMODE = nativeBinding.HT_TRENDMODE +module.exports.HtTrendModeNode = nativeBinding.HtTrendModeNode +module.exports.HurstChannel = nativeBinding.HurstChannel +module.exports.HurstChannelNode = nativeBinding.HurstChannelNode +module.exports.HurstExponent = nativeBinding.HurstExponent +module.exports.HurstExponentNode = nativeBinding.HurstExponentNode +module.exports.Ichimoku = nativeBinding.Ichimoku +module.exports.IchimokuNode = nativeBinding.IchimokuNode +module.exports.IdenticalThreeCrows = nativeBinding.IdenticalThreeCrows +module.exports.IdenticalThreeCrowsNode = nativeBinding.IdenticalThreeCrowsNode +module.exports.ImbalanceBars = nativeBinding.ImbalanceBars +module.exports.ImbalanceBarsNode = nativeBinding.ImbalanceBarsNode +module.exports.IMI = nativeBinding.IMI +module.exports.ImiNode = nativeBinding.ImiNode +module.exports.Inertia = nativeBinding.Inertia +module.exports.InertiaNode = nativeBinding.InertiaNode +module.exports.InformationRatio = nativeBinding.InformationRatio +module.exports.InformationRatioNode = nativeBinding.InformationRatioNode +module.exports.InitialBalance = nativeBinding.InitialBalance +module.exports.InitialBalanceNode = nativeBinding.InitialBalanceNode +module.exports.InNeck = nativeBinding.InNeck +module.exports.InNeckNode = nativeBinding.InNeckNode +module.exports.InstantaneousTrendline = nativeBinding.InstantaneousTrendline +module.exports.InstantaneousTrendlineNode = nativeBinding.InstantaneousTrendlineNode +module.exports.IntradayIntensity = nativeBinding.IntradayIntensity +module.exports.IntradayIntensityNode = nativeBinding.IntradayIntensityNode +module.exports.IntradayVolatilityProfile = nativeBinding.IntradayVolatilityProfile +module.exports.IntradayVolatilityProfileNode = nativeBinding.IntradayVolatilityProfileNode +module.exports.InverseFisherTransform = nativeBinding.InverseFisherTransform +module.exports.InverseFisherTransformNode = nativeBinding.InverseFisherTransformNode +module.exports.InvertedHammer = nativeBinding.InvertedHammer +module.exports.InvertedHammerNode = nativeBinding.InvertedHammerNode +module.exports.JARQUEBERA = nativeBinding.JARQUEBERA +module.exports.JarqueBeraNode = nativeBinding.JarqueBeraNode +module.exports.JMA = nativeBinding.JMA +module.exports.JmaNode = nativeBinding.JmaNode +module.exports.JumpIndicator = nativeBinding.JumpIndicator +module.exports.JumpIndicatorNode = nativeBinding.JumpIndicatorNode +module.exports.KagiBars = nativeBinding.KagiBars +module.exports.KagiBarsNode = nativeBinding.KagiBarsNode +module.exports.KalmanHedgeRatio = nativeBinding.KalmanHedgeRatio +module.exports.KalmanHedgeRatioNode = nativeBinding.KalmanHedgeRatioNode +module.exports.KAMA = nativeBinding.KAMA +module.exports.KamaNode = nativeBinding.KamaNode +module.exports.KaseDevStop = nativeBinding.KaseDevStop +module.exports.KaseDevStopNode = nativeBinding.KaseDevStopNode +module.exports.KasePermissionStochastic = nativeBinding.KasePermissionStochastic +module.exports.KasePermissionStochasticNode = nativeBinding.KasePermissionStochasticNode +module.exports.KellyCriterion = nativeBinding.KellyCriterion +module.exports.KellyCriterionNode = nativeBinding.KellyCriterionNode +module.exports.Keltner = nativeBinding.Keltner +module.exports.KeltnerNode = nativeBinding.KeltnerNode +module.exports.KendallTau = nativeBinding.KendallTau +module.exports.KendallTauNode = nativeBinding.KendallTauNode +module.exports.Kicking = nativeBinding.Kicking +module.exports.KickingNode = nativeBinding.KickingNode +module.exports.KickingByLength = nativeBinding.KickingByLength +module.exports.KickingByLengthNode = nativeBinding.KickingByLengthNode +module.exports.KRatio = nativeBinding.KRatio +module.exports.KRatioNode = nativeBinding.KRatioNode +module.exports.KST = nativeBinding.KST +module.exports.KstNode = nativeBinding.KstNode +module.exports.Kurtosis = nativeBinding.Kurtosis +module.exports.KurtosisNode = nativeBinding.KurtosisNode +module.exports.KVO = nativeBinding.KVO +module.exports.KvoNode = nativeBinding.KvoNode +module.exports.KylesLambda = nativeBinding.KylesLambda +module.exports.KylesLambdaNode = nativeBinding.KylesLambdaNode +module.exports.LadderBottom = nativeBinding.LadderBottom +module.exports.LadderBottomNode = nativeBinding.LadderBottomNode +module.exports.LaguerreRSI = nativeBinding.LaguerreRSI +module.exports.LaguerreRsiNode = nativeBinding.LaguerreRsiNode +module.exports.LeadLagCrossCorrelation = nativeBinding.LeadLagCrossCorrelation +module.exports.LeadLagCrossCorrelationNode = nativeBinding.LeadLagCrossCorrelationNode +module.exports.LINEARREG_INTERCEPT = nativeBinding.LINEARREG_INTERCEPT +module.exports.LinRegInterceptNode = nativeBinding.LinRegInterceptNode +module.exports.LinearRegression = nativeBinding.LinearRegression +module.exports.LinearRegressionNode = nativeBinding.LinearRegressionNode +module.exports.LinRegAngle = nativeBinding.LinRegAngle +module.exports.LinRegAngleNode = nativeBinding.LinRegAngleNode +module.exports.LinRegChannel = nativeBinding.LinRegChannel +module.exports.LinRegChannelNode = nativeBinding.LinRegChannelNode +module.exports.LinRegSlope = nativeBinding.LinRegSlope +module.exports.LinRegSlopeNode = nativeBinding.LinRegSlopeNode +module.exports.LiquidationFeatures = nativeBinding.LiquidationFeatures +module.exports.LiquidationFeaturesNode = nativeBinding.LiquidationFeaturesNode +module.exports.LogReturn = nativeBinding.LogReturn +module.exports.LogReturnNode = nativeBinding.LogReturnNode +module.exports.LongLeggedDoji = nativeBinding.LongLeggedDoji +module.exports.LongLeggedDojiNode = nativeBinding.LongLeggedDojiNode +module.exports.LongLine = nativeBinding.LongLine +module.exports.LongLineNode = nativeBinding.LongLineNode +module.exports.LongShortRatio = nativeBinding.LongShortRatio +module.exports.LongShortRatioNode = nativeBinding.LongShortRatioNode +module.exports.M2Measure = nativeBinding.M2Measure +module.exports.M2MeasureNode = nativeBinding.M2MeasureNode +module.exports.MACD = nativeBinding.MACD +module.exports.MacdNode = nativeBinding.MacdNode +module.exports.MACDEXT = nativeBinding.MACDEXT +module.exports.MacdExtNode = nativeBinding.MacdExtNode +module.exports.MACDFIX = nativeBinding.MACDFIX +module.exports.MacdFixNode = nativeBinding.MacdFixNode +module.exports.MacdHistogram = nativeBinding.MacdHistogram +module.exports.MacdHistogramNode = nativeBinding.MacdHistogramNode +module.exports.MaEnvelope = nativeBinding.MaEnvelope +module.exports.MaEnvelopeNode = nativeBinding.MaEnvelopeNode +module.exports.MAMA = nativeBinding.MAMA +module.exports.MamaNode = nativeBinding.MamaNode +module.exports.MarketFacilitationIndex = nativeBinding.MarketFacilitationIndex +module.exports.MarketFacilitationIndexNode = nativeBinding.MarketFacilitationIndexNode +module.exports.MartinRatio = nativeBinding.MartinRatio +module.exports.MartinRatioNode = nativeBinding.MartinRatioNode +module.exports.Marubozu = nativeBinding.Marubozu +module.exports.MarubozuNode = nativeBinding.MarubozuNode +module.exports.MassIndex = nativeBinding.MassIndex +module.exports.MassIndexNode = nativeBinding.MassIndexNode +module.exports.MatchingLow = nativeBinding.MatchingLow +module.exports.MatchingLowNode = nativeBinding.MatchingLowNode +module.exports.MatHold = nativeBinding.MatHold +module.exports.MatHoldNode = nativeBinding.MatHoldNode +module.exports.MaxDrawdown = nativeBinding.MaxDrawdown +module.exports.MaxDrawdownNode = nativeBinding.MaxDrawdownNode +module.exports.McClellanOscillator = nativeBinding.McClellanOscillator +module.exports.McClellanOscillatorNode = nativeBinding.McClellanOscillatorNode +module.exports.McClellanSummationIndex = nativeBinding.McClellanSummationIndex +module.exports.McClellanSummationIndexNode = nativeBinding.McClellanSummationIndexNode +module.exports.McGinleyDynamic = nativeBinding.McGinleyDynamic +module.exports.McGinleyDynamicNode = nativeBinding.McGinleyDynamicNode +module.exports.MedianAbsoluteDeviation = nativeBinding.MedianAbsoluteDeviation +module.exports.MedianAbsoluteDeviationNode = nativeBinding.MedianAbsoluteDeviationNode +module.exports.MedianChannel = nativeBinding.MedianChannel +module.exports.MedianChannelNode = nativeBinding.MedianChannelNode +module.exports.MedianMA = nativeBinding.MedianMA +module.exports.MedianMaNode = nativeBinding.MedianMaNode +module.exports.MedianPrice = nativeBinding.MedianPrice +module.exports.MedianPriceNode = nativeBinding.MedianPriceNode +module.exports.MFI = nativeBinding.MFI +module.exports.MfiNode = nativeBinding.MfiNode +module.exports.Microprice = nativeBinding.Microprice +module.exports.MicropriceNode = nativeBinding.MicropriceNode +module.exports.MIDPOINT = nativeBinding.MIDPOINT +module.exports.MidPointNode = nativeBinding.MidPointNode +module.exports.MIDPRICE = nativeBinding.MIDPRICE +module.exports.MidPriceNode = nativeBinding.MidPriceNode +module.exports.MINUS_DI = nativeBinding.MINUS_DI +module.exports.MinusDiNode = nativeBinding.MinusDiNode +module.exports.MINUS_DM = nativeBinding.MINUS_DM +module.exports.MinusDmNode = nativeBinding.MinusDmNode +module.exports.ModifiedMaStop = nativeBinding.ModifiedMaStop +module.exports.ModifiedMaStopNode = nativeBinding.ModifiedMaStopNode +module.exports.MOM = nativeBinding.MOM +module.exports.MomNode = nativeBinding.MomNode +module.exports.MorningDojiStar = nativeBinding.MorningDojiStar +module.exports.MorningDojiStarNode = nativeBinding.MorningDojiStarNode +module.exports.MorningEveningStar = nativeBinding.MorningEveningStar +module.exports.MorningEveningStarNode = nativeBinding.MorningEveningStarNode +module.exports.MurreyMathLines = nativeBinding.MurreyMathLines +module.exports.MurreyMathLinesNode = nativeBinding.MurreyMathLinesNode +module.exports.NakedPoc = nativeBinding.NakedPoc +module.exports.NakedPocNode = nativeBinding.NakedPocNode +module.exports.NATR = nativeBinding.NATR +module.exports.NatrNode = nativeBinding.NatrNode +module.exports.NewHighsNewLows = nativeBinding.NewHighsNewLows +module.exports.NewHighsNewLowsNode = nativeBinding.NewHighsNewLowsNode +module.exports.NewPriceLines = nativeBinding.NewPriceLines +module.exports.NewPriceLinesNode = nativeBinding.NewPriceLinesNode +module.exports.Nrtr = nativeBinding.Nrtr +module.exports.NrtrNode = nativeBinding.NrtrNode +module.exports.NVI = nativeBinding.NVI +module.exports.NviNode = nativeBinding.NviNode +module.exports.OBV = nativeBinding.OBV +module.exports.ObvNode = nativeBinding.ObvNode +module.exports.OIPriceDivergence = nativeBinding.OIPriceDivergence +module.exports.OIPriceDivergenceNode = nativeBinding.OIPriceDivergenceNode +module.exports.OiToVolumeRatio = nativeBinding.OiToVolumeRatio +module.exports.OiToVolumeRatioNode = nativeBinding.OiToVolumeRatioNode +module.exports.OIWeighted = nativeBinding.OIWeighted +module.exports.OIWeightedNode = nativeBinding.OIWeightedNode +module.exports.OmegaRatio = nativeBinding.OmegaRatio +module.exports.OmegaRatioNode = nativeBinding.OmegaRatioNode +module.exports.OnNeck = nativeBinding.OnNeck +module.exports.OnNeckNode = nativeBinding.OnNeckNode +module.exports.OpeningMarubozu = nativeBinding.OpeningMarubozu +module.exports.OpeningMarubozuNode = nativeBinding.OpeningMarubozuNode +module.exports.OpeningRange = nativeBinding.OpeningRange +module.exports.OpeningRangeNode = nativeBinding.OpeningRangeNode +module.exports.OpenInterestDelta = nativeBinding.OpenInterestDelta +module.exports.OpenInterestDeltaNode = nativeBinding.OpenInterestDeltaNode +module.exports.OpenInterestMomentum = nativeBinding.OpenInterestMomentum +module.exports.OpenInterestMomentumNode = nativeBinding.OpenInterestMomentumNode +module.exports.OrderBookImbalanceFull = nativeBinding.OrderBookImbalanceFull +module.exports.OrderBookImbalanceFullNode = nativeBinding.OrderBookImbalanceFullNode +module.exports.OrderBookImbalanceTop1 = nativeBinding.OrderBookImbalanceTop1 +module.exports.OrderBookImbalanceTop1Node = nativeBinding.OrderBookImbalanceTop1Node +module.exports.OrderBookImbalanceTopN = nativeBinding.OrderBookImbalanceTopN +module.exports.OrderBookImbalanceTopNNode = nativeBinding.OrderBookImbalanceTopNNode +module.exports.OrderFlowImbalance = nativeBinding.OrderFlowImbalance +module.exports.OrderFlowImbalanceNode = nativeBinding.OrderFlowImbalanceNode +module.exports.OuHalfLife = nativeBinding.OuHalfLife +module.exports.OuHalfLifeNode = nativeBinding.OuHalfLifeNode +module.exports.OvernightGap = nativeBinding.OvernightGap +module.exports.OvernightGapNode = nativeBinding.OvernightGapNode +module.exports.OvernightIntradayReturn = nativeBinding.OvernightIntradayReturn +module.exports.OvernightIntradayReturnNode = nativeBinding.OvernightIntradayReturnNode +module.exports.PainIndex = nativeBinding.PainIndex +module.exports.PainIndexNode = nativeBinding.PainIndexNode +module.exports.PairSpreadZScore = nativeBinding.PairSpreadZScore +module.exports.PairSpreadZScoreNode = nativeBinding.PairSpreadZScoreNode +module.exports.PairwiseBeta = nativeBinding.PairwiseBeta +module.exports.PairwiseBetaNode = nativeBinding.PairwiseBetaNode +module.exports.ParkinsonVolatility = nativeBinding.ParkinsonVolatility +module.exports.ParkinsonVolatilityNode = nativeBinding.ParkinsonVolatilityNode +module.exports.PearsonCorrelation = nativeBinding.PearsonCorrelation +module.exports.PearsonCorrelationNode = nativeBinding.PearsonCorrelationNode +module.exports.PercentAboveMa = nativeBinding.PercentAboveMa +module.exports.PercentAboveMaNode = nativeBinding.PercentAboveMaNode +module.exports.PercentageTrailingStop = nativeBinding.PercentageTrailingStop +module.exports.PercentageTrailingStopNode = nativeBinding.PercentageTrailingStopNode +module.exports.PercentB = nativeBinding.PercentB +module.exports.PercentBNode = nativeBinding.PercentBNode +module.exports.PerpetualPremiumIndex = nativeBinding.PerpetualPremiumIndex +module.exports.PerpetualPremiumIndexNode = nativeBinding.PerpetualPremiumIndexNode +module.exports.PGO = nativeBinding.PGO +module.exports.PgoNode = nativeBinding.PgoNode +module.exports.PiercingDarkCloud = nativeBinding.PiercingDarkCloud +module.exports.PiercingDarkCloudNode = nativeBinding.PiercingDarkCloudNode +module.exports.Pin = nativeBinding.Pin +module.exports.PinNode = nativeBinding.PinNode +module.exports.PivotReversal = nativeBinding.PivotReversal +module.exports.PivotReversalNode = nativeBinding.PivotReversalNode +module.exports.PLUS_DI = nativeBinding.PLUS_DI +module.exports.PlusDiNode = nativeBinding.PlusDiNode +module.exports.PLUS_DM = nativeBinding.PLUS_DM +module.exports.PlusDmNode = nativeBinding.PlusDmNode +module.exports.PMO = nativeBinding.PMO +module.exports.PmoNode = nativeBinding.PmoNode +module.exports.PointAndFigureBars = nativeBinding.PointAndFigureBars +module.exports.PointAndFigureBarsNode = nativeBinding.PointAndFigureBarsNode +module.exports.POLARIZED_FRACTAL_EFFICIENCY = nativeBinding.POLARIZED_FRACTAL_EFFICIENCY +module.exports.PolarizedFractalEfficiencyNode = nativeBinding.PolarizedFractalEfficiencyNode +module.exports.PPO = nativeBinding.PPO +module.exports.PpoNode = nativeBinding.PpoNode +module.exports.PpoHistogram = nativeBinding.PpoHistogram +module.exports.PpoHistogramNode = nativeBinding.PpoHistogramNode +module.exports.ProfileShape = nativeBinding.ProfileShape +module.exports.ProfileShapeNode = nativeBinding.ProfileShapeNode +module.exports.ProfitFactor = nativeBinding.ProfitFactor +module.exports.ProfitFactorNode = nativeBinding.ProfitFactorNode +module.exports.ProjectionBands = nativeBinding.ProjectionBands +module.exports.ProjectionBandsNode = nativeBinding.ProjectionBandsNode +module.exports.ProjectionOscillator = nativeBinding.ProjectionOscillator +module.exports.ProjectionOscillatorNode = nativeBinding.ProjectionOscillatorNode +module.exports.PSAR = nativeBinding.PSAR +module.exports.PsarNode = nativeBinding.PsarNode +module.exports.PVI = nativeBinding.PVI +module.exports.PviNode = nativeBinding.PviNode +module.exports.QQE = nativeBinding.QQE +module.exports.QqeNode = nativeBinding.QqeNode +module.exports.Qstick = nativeBinding.Qstick +module.exports.QstickNode = nativeBinding.QstickNode +module.exports.QuartileBands = nativeBinding.QuartileBands +module.exports.QuartileBandsNode = nativeBinding.QuartileBandsNode +module.exports.QuotedSpread = nativeBinding.QuotedSpread +module.exports.QuotedSpreadNode = nativeBinding.QuotedSpreadNode +module.exports.RangeBars = nativeBinding.RangeBars +module.exports.RangeBarsNode = nativeBinding.RangeBarsNode +module.exports.RealizedSpread = nativeBinding.RealizedSpread +module.exports.RealizedSpreadNode = nativeBinding.RealizedSpreadNode +module.exports.RealizedVolatility = nativeBinding.RealizedVolatility +module.exports.RealizedVolatilityNode = nativeBinding.RealizedVolatilityNode +module.exports.RecoveryFactor = nativeBinding.RecoveryFactor +module.exports.RecoveryFactorNode = nativeBinding.RecoveryFactorNode +module.exports.RectangleRange = nativeBinding.RectangleRange +module.exports.RectangleRangeNode = nativeBinding.RectangleRangeNode +module.exports.REFLEX = nativeBinding.REFLEX +module.exports.ReflexNode = nativeBinding.ReflexNode +module.exports.RegimeLabel = nativeBinding.RegimeLabel +module.exports.RegimeLabelNode = nativeBinding.RegimeLabelNode +module.exports.RelativeStrengthAB = nativeBinding.RelativeStrengthAB +module.exports.RelativeStrengthABNode = nativeBinding.RelativeStrengthABNode +module.exports.RenkoBars = nativeBinding.RenkoBars +module.exports.RenkoBarsNode = nativeBinding.RenkoBarsNode +module.exports.RenkoTrailingStop = nativeBinding.RenkoTrailingStop +module.exports.RenkoTrailingStopNode = nativeBinding.RenkoTrailingStopNode +module.exports.Resampler = nativeBinding.Resampler +module.exports.ResamplerNode = nativeBinding.ResamplerNode +module.exports.RickshawMan = nativeBinding.RickshawMan +module.exports.RickshawManNode = nativeBinding.RickshawManNode +module.exports.RisingThreeMethods = nativeBinding.RisingThreeMethods +module.exports.RisingThreeMethodsNode = nativeBinding.RisingThreeMethodsNode +module.exports.RMI = nativeBinding.RMI +module.exports.RmiNode = nativeBinding.RmiNode +module.exports.ROC = nativeBinding.ROC +module.exports.RocNode = nativeBinding.RocNode +module.exports.ROCP = nativeBinding.ROCP +module.exports.RocpNode = nativeBinding.RocpNode +module.exports.ROCR = nativeBinding.ROCR +module.exports.RocrNode = nativeBinding.RocrNode +module.exports.ROCR100 = nativeBinding.ROCR100 +module.exports.Rocr100Node = nativeBinding.Rocr100Node +module.exports.RogersSatchellVolatility = nativeBinding.RogersSatchellVolatility +module.exports.RogersSatchellVolatilityNode = nativeBinding.RogersSatchellVolatilityNode +module.exports.RollingCorrelation = nativeBinding.RollingCorrelation +module.exports.RollingCorrelationNode = nativeBinding.RollingCorrelationNode +module.exports.RollingCovariance = nativeBinding.RollingCovariance +module.exports.RollingCovarianceNode = nativeBinding.RollingCovarianceNode +module.exports.RollingIqr = nativeBinding.RollingIqr +module.exports.RollingIqrNode = nativeBinding.RollingIqrNode +module.exports.ROLLINGMINMAX = nativeBinding.ROLLINGMINMAX +module.exports.RollingMinMaxScalerNode = nativeBinding.RollingMinMaxScalerNode +module.exports.RollingPercentileRank = nativeBinding.RollingPercentileRank +module.exports.RollingPercentileRankNode = nativeBinding.RollingPercentileRankNode +module.exports.RollingQuantile = nativeBinding.RollingQuantile +module.exports.RollingQuantileNode = nativeBinding.RollingQuantileNode +module.exports.RollingVWAP = nativeBinding.RollingVWAP +module.exports.RollingVwapNode = nativeBinding.RollingVwapNode +module.exports.RollMeasure = nativeBinding.RollMeasure +module.exports.RollMeasureNode = nativeBinding.RollMeasureNode +module.exports.RoofingFilter = nativeBinding.RoofingFilter +module.exports.RoofingFilterNode = nativeBinding.RoofingFilterNode +module.exports.RSI = nativeBinding.RSI +module.exports.RsiNode = nativeBinding.RsiNode +module.exports.RSquared = nativeBinding.RSquared +module.exports.RSquaredNode = nativeBinding.RSquaredNode +module.exports.RSX = nativeBinding.RSX +module.exports.RsxNode = nativeBinding.RsxNode +module.exports.RunBars = nativeBinding.RunBars +module.exports.RunBarsNode = nativeBinding.RunBarsNode +module.exports.RVI = nativeBinding.RVI +module.exports.RviNode = nativeBinding.RviNode +module.exports.RVIVolatility = nativeBinding.RVIVolatility +module.exports.RviVolatilityNode = nativeBinding.RviVolatilityNode +module.exports.RWI = nativeBinding.RWI +module.exports.RwiNode = nativeBinding.RwiNode +module.exports.SAMPLEENT = nativeBinding.SAMPLEENT +module.exports.SampleEntropyNode = nativeBinding.SampleEntropyNode +module.exports.SAREXT = nativeBinding.SAREXT +module.exports.SarExtNode = nativeBinding.SarExtNode +module.exports.SeasonalZScore = nativeBinding.SeasonalZScore +module.exports.SeasonalZScoreNode = nativeBinding.SeasonalZScoreNode +module.exports.SeparatingLines = nativeBinding.SeparatingLines +module.exports.SeparatingLinesNode = nativeBinding.SeparatingLinesNode +module.exports.SessionHighLow = nativeBinding.SessionHighLow +module.exports.SessionHighLowNode = nativeBinding.SessionHighLowNode +module.exports.SessionRange = nativeBinding.SessionRange +module.exports.SessionRangeNode = nativeBinding.SessionRangeNode +module.exports.SessionVwap = nativeBinding.SessionVwap +module.exports.SessionVwapNode = nativeBinding.SessionVwapNode +module.exports.SHANNONENT = nativeBinding.SHANNONENT +module.exports.ShannonEntropyNode = nativeBinding.ShannonEntropyNode +module.exports.Shark = nativeBinding.Shark +module.exports.SharkNode = nativeBinding.SharkNode +module.exports.SharpeRatio = nativeBinding.SharpeRatio +module.exports.SharpeRatioNode = nativeBinding.SharpeRatioNode +module.exports.ShootingStar = nativeBinding.ShootingStar +module.exports.ShootingStarNode = nativeBinding.ShootingStarNode +module.exports.ShortLine = nativeBinding.ShortLine +module.exports.ShortLineNode = nativeBinding.ShortLineNode +module.exports.SignedVolume = nativeBinding.SignedVolume +module.exports.SignedVolumeNode = nativeBinding.SignedVolumeNode +module.exports.SineWave = nativeBinding.SineWave +module.exports.SineWaveNode = nativeBinding.SineWaveNode +module.exports.SinglePrints = nativeBinding.SinglePrints +module.exports.SinglePrintsNode = nativeBinding.SinglePrintsNode +module.exports.Skewness = nativeBinding.Skewness +module.exports.SkewnessNode = nativeBinding.SkewnessNode +module.exports.SMA = nativeBinding.SMA +module.exports.SmaNode = nativeBinding.SmaNode +module.exports.SMI = nativeBinding.SMI +module.exports.SmiNode = nativeBinding.SmiNode +module.exports.SMMA = nativeBinding.SMMA +module.exports.SmmaNode = nativeBinding.SmmaNode +module.exports.SmoothedHeikinAshi = nativeBinding.SmoothedHeikinAshi +module.exports.SmoothedHeikinAshiNode = nativeBinding.SmoothedHeikinAshiNode +module.exports.SortinoRatio = nativeBinding.SortinoRatio +module.exports.SortinoRatioNode = nativeBinding.SortinoRatioNode +module.exports.SpearmanCorrelation = nativeBinding.SpearmanCorrelation +module.exports.SpearmanCorrelationNode = nativeBinding.SpearmanCorrelationNode +module.exports.SpinningTop = nativeBinding.SpinningTop +module.exports.SpinningTopNode = nativeBinding.SpinningTopNode +module.exports.SpreadAr1Coefficient = nativeBinding.SpreadAr1Coefficient +module.exports.SpreadAr1CoefficientNode = nativeBinding.SpreadAr1CoefficientNode +module.exports.SpreadBollingerBands = nativeBinding.SpreadBollingerBands +module.exports.SpreadBollingerBandsNode = nativeBinding.SpreadBollingerBandsNode +module.exports.SpreadHurst = nativeBinding.SpreadHurst +module.exports.SpreadHurstNode = nativeBinding.SpreadHurstNode +module.exports.StalledPattern = nativeBinding.StalledPattern +module.exports.StalledPatternNode = nativeBinding.StalledPatternNode +module.exports.StandardError = nativeBinding.StandardError +module.exports.StandardErrorNode = nativeBinding.StandardErrorNode +module.exports.StandardErrorBands = nativeBinding.StandardErrorBands +module.exports.StandardErrorBandsNode = nativeBinding.StandardErrorBandsNode +module.exports.StarcBands = nativeBinding.StarcBands +module.exports.StarcBandsNode = nativeBinding.StarcBandsNode +module.exports.STC = nativeBinding.STC +module.exports.StcNode = nativeBinding.StcNode +module.exports.StdDev = nativeBinding.StdDev +module.exports.StdDevNode = nativeBinding.StdDevNode +module.exports.StepTrailingStop = nativeBinding.StepTrailingStop +module.exports.StepTrailingStopNode = nativeBinding.StepTrailingStopNode +module.exports.SterlingRatio = nativeBinding.SterlingRatio +module.exports.SterlingRatioNode = nativeBinding.SterlingRatioNode +module.exports.StickSandwich = nativeBinding.StickSandwich +module.exports.StickSandwichNode = nativeBinding.StickSandwichNode +module.exports.Stochastic = nativeBinding.Stochastic +module.exports.StochNode = nativeBinding.StochNode +module.exports.StochasticCCI = nativeBinding.StochasticCCI +module.exports.StochasticCciNode = nativeBinding.StochasticCciNode +module.exports.StochRSI = nativeBinding.StochRSI +module.exports.StochRsiNode = nativeBinding.StochRsiNode +module.exports.SuperSmoother = nativeBinding.SuperSmoother +module.exports.SuperSmootherNode = nativeBinding.SuperSmootherNode +module.exports.SuperTrend = nativeBinding.SuperTrend +module.exports.SuperTrendNode = nativeBinding.SuperTrendNode +module.exports.SWMA = nativeBinding.SWMA +module.exports.SineWeightedMaNode = nativeBinding.SineWeightedMaNode +module.exports.T3 = nativeBinding.T3 +module.exports.T3Node = nativeBinding.T3Node +module.exports.TailRatio = nativeBinding.TailRatio +module.exports.TailRatioNode = nativeBinding.TailRatioNode +module.exports.TakerBuySellRatio = nativeBinding.TakerBuySellRatio +module.exports.TakerBuySellRatioNode = nativeBinding.TakerBuySellRatioNode +module.exports.Takuri = nativeBinding.Takuri +module.exports.TakuriNode = nativeBinding.TakuriNode +module.exports.TasukiGap = nativeBinding.TasukiGap +module.exports.TasukiGapNode = nativeBinding.TasukiGapNode +module.exports.TDCamouflage = nativeBinding.TDCamouflage +module.exports.TdCamouflageNode = nativeBinding.TdCamouflageNode +module.exports.TDClop = nativeBinding.TDClop +module.exports.TdClopNode = nativeBinding.TdClopNode +module.exports.TDClopwin = nativeBinding.TDClopwin +module.exports.TdClopwinNode = nativeBinding.TdClopwinNode +module.exports.TDCombo = nativeBinding.TDCombo +module.exports.TdComboNode = nativeBinding.TdComboNode +module.exports.TDCountdown = nativeBinding.TDCountdown +module.exports.TdCountdownNode = nativeBinding.TdCountdownNode +module.exports.TDDeMarker = nativeBinding.TDDeMarker +module.exports.TdDeMarkerNode = nativeBinding.TdDeMarkerNode +module.exports.TDDifferential = nativeBinding.TDDifferential +module.exports.TdDifferentialNode = nativeBinding.TdDifferentialNode +module.exports.TDDWave = nativeBinding.TDDWave +module.exports.TdDWaveNode = nativeBinding.TdDWaveNode +module.exports.TDLines = nativeBinding.TDLines +module.exports.TdLinesNode = nativeBinding.TdLinesNode +module.exports.TDMovingAverage = nativeBinding.TDMovingAverage +module.exports.TdMovingAverageNode = nativeBinding.TdMovingAverageNode +module.exports.TDOpen = nativeBinding.TDOpen +module.exports.TdOpenNode = nativeBinding.TdOpenNode +module.exports.TDPressure = nativeBinding.TDPressure +module.exports.TdPressureNode = nativeBinding.TdPressureNode +module.exports.TDPropulsion = nativeBinding.TDPropulsion +module.exports.TdPropulsionNode = nativeBinding.TdPropulsionNode +module.exports.TDRangeProjection = nativeBinding.TDRangeProjection +module.exports.TdRangeProjectionNode = nativeBinding.TdRangeProjectionNode +module.exports.TDREI = nativeBinding.TDREI +module.exports.TdReiNode = nativeBinding.TdReiNode +module.exports.TDRiskLevel = nativeBinding.TDRiskLevel +module.exports.TdRiskLevelNode = nativeBinding.TdRiskLevelNode +module.exports.TDSequential = nativeBinding.TDSequential +module.exports.TdSequentialNode = nativeBinding.TdSequentialNode +module.exports.TDSetup = nativeBinding.TDSetup +module.exports.TdSetupNode = nativeBinding.TdSetupNode +module.exports.TDTrap = nativeBinding.TDTrap +module.exports.TdTrapNode = nativeBinding.TdTrapNode +module.exports.TEMA = nativeBinding.TEMA +module.exports.TemaNode = nativeBinding.TemaNode +module.exports.TermStructureBasis = nativeBinding.TermStructureBasis +module.exports.TermStructureBasisNode = nativeBinding.TermStructureBasisNode +module.exports.ThreeDrives = nativeBinding.ThreeDrives +module.exports.ThreeDrivesNode = nativeBinding.ThreeDrivesNode +module.exports.ThreeInside = nativeBinding.ThreeInside +module.exports.ThreeInsideNode = nativeBinding.ThreeInsideNode +module.exports.ThreeLineBreak = nativeBinding.ThreeLineBreak +module.exports.ThreeLineBreakNode = nativeBinding.ThreeLineBreakNode +module.exports.ThreeLineBreakBars = nativeBinding.ThreeLineBreakBars +module.exports.ThreeLineBreakBarsNode = nativeBinding.ThreeLineBreakBarsNode +module.exports.ThreeLineStrike = nativeBinding.ThreeLineStrike +module.exports.ThreeLineStrikeNode = nativeBinding.ThreeLineStrikeNode +module.exports.ThreeOutside = nativeBinding.ThreeOutside +module.exports.ThreeOutsideNode = nativeBinding.ThreeOutsideNode +module.exports.ThreeSoldiersOrCrows = nativeBinding.ThreeSoldiersOrCrows +module.exports.ThreeSoldiersOrCrowsNode = nativeBinding.ThreeSoldiersOrCrowsNode +module.exports.ThreeStarsInSouth = nativeBinding.ThreeStarsInSouth +module.exports.ThreeStarsInSouthNode = nativeBinding.ThreeStarsInSouthNode +module.exports.Thrusting = nativeBinding.Thrusting +module.exports.ThrustingNode = nativeBinding.ThrustingNode +module.exports.TickAggregator = nativeBinding.TickAggregator +module.exports.TickAggregatorNode = nativeBinding.TickAggregatorNode +module.exports.TickBars = nativeBinding.TickBars +module.exports.TickBarsNode = nativeBinding.TickBarsNode +module.exports.TickIndex = nativeBinding.TickIndex +module.exports.TickIndexNode = nativeBinding.TickIndexNode +module.exports.TII = nativeBinding.TII +module.exports.TiiNode = nativeBinding.TiiNode +module.exports.TimeBasedStop = nativeBinding.TimeBasedStop +module.exports.TimeBasedStopNode = nativeBinding.TimeBasedStopNode +module.exports.TimeOfDayReturnProfile = nativeBinding.TimeOfDayReturnProfile +module.exports.TimeOfDayReturnProfileNode = nativeBinding.TimeOfDayReturnProfileNode +module.exports.TowerTopBottom = nativeBinding.TowerTopBottom +module.exports.TowerTopBottomNode = nativeBinding.TowerTopBottomNode +module.exports.TpoProfile = nativeBinding.TpoProfile +module.exports.TpoProfileNode = nativeBinding.TpoProfileNode +module.exports.TradeImbalance = nativeBinding.TradeImbalance +module.exports.TradeImbalanceNode = nativeBinding.TradeImbalanceNode +module.exports.TradeSignAutocorrelation = nativeBinding.TradeSignAutocorrelation +module.exports.TradeSignAutocorrelationNode = nativeBinding.TradeSignAutocorrelationNode +module.exports.TradeVolumeIndex = nativeBinding.TradeVolumeIndex +module.exports.TradeVolumeIndexNode = nativeBinding.TradeVolumeIndexNode +module.exports.TREND_STRENGTH_INDEX = nativeBinding.TREND_STRENGTH_INDEX +module.exports.TrendStrengthIndexNode = nativeBinding.TrendStrengthIndexNode +module.exports.TRENDFLEX = nativeBinding.TRENDFLEX +module.exports.TrendflexNode = nativeBinding.TrendflexNode +module.exports.TrendLabel = nativeBinding.TrendLabel +module.exports.TrendLabelNode = nativeBinding.TrendLabelNode +module.exports.TreynorRatio = nativeBinding.TreynorRatio +module.exports.TreynorRatioNode = nativeBinding.TreynorRatioNode +module.exports.Triangle = nativeBinding.Triangle +module.exports.TriangleNode = nativeBinding.TriangleNode +module.exports.TRIMA = nativeBinding.TRIMA +module.exports.TrimaNode = nativeBinding.TrimaNode +module.exports.Trin = nativeBinding.Trin +module.exports.TrinNode = nativeBinding.TrinNode +module.exports.TripleTopBottom = nativeBinding.TripleTopBottom +module.exports.TripleTopBottomNode = nativeBinding.TripleTopBottomNode +module.exports.Tristar = nativeBinding.Tristar +module.exports.TristarNode = nativeBinding.TristarNode +module.exports.TRIX = nativeBinding.TRIX +module.exports.TrixNode = nativeBinding.TrixNode +module.exports.TrueRange = nativeBinding.TrueRange +module.exports.TrueRangeNode = nativeBinding.TrueRangeNode +module.exports.TSF = nativeBinding.TSF +module.exports.TsfNode = nativeBinding.TsfNode +module.exports.TsfOscillator = nativeBinding.TsfOscillator +module.exports.TsfOscillatorNode = nativeBinding.TsfOscillatorNode +module.exports.TSI = nativeBinding.TSI +module.exports.TsiNode = nativeBinding.TsiNode +module.exports.TSV = nativeBinding.TSV +module.exports.TsvNode = nativeBinding.TsvNode +module.exports.TTM_TREND = nativeBinding.TTM_TREND +module.exports.TtmTrendNode = nativeBinding.TtmTrendNode +module.exports.TtmSqueeze = nativeBinding.TtmSqueeze +module.exports.TtmSqueezeNode = nativeBinding.TtmSqueezeNode +module.exports.TurnOfMonth = nativeBinding.TurnOfMonth +module.exports.TurnOfMonthNode = nativeBinding.TurnOfMonthNode +module.exports.Tweezer = nativeBinding.Tweezer +module.exports.TweezerNode = nativeBinding.TweezerNode +module.exports.TwiggsMoneyFlow = nativeBinding.TwiggsMoneyFlow +module.exports.TwiggsMoneyFlowNode = nativeBinding.TwiggsMoneyFlowNode +module.exports.TwoCrows = nativeBinding.TwoCrows +module.exports.TwoCrowsNode = nativeBinding.TwoCrowsNode +module.exports.TypicalPrice = nativeBinding.TypicalPrice +module.exports.TypicalPriceNode = nativeBinding.TypicalPriceNode +module.exports.UlcerIndex = nativeBinding.UlcerIndex +module.exports.UlcerIndexNode = nativeBinding.UlcerIndexNode +module.exports.UltimateOscillator = nativeBinding.UltimateOscillator +module.exports.UltimateOscillatorNode = nativeBinding.UltimateOscillatorNode +module.exports.UniqueThreeRiver = nativeBinding.UniqueThreeRiver +module.exports.UniqueThreeRiverNode = nativeBinding.UniqueThreeRiverNode +module.exports.UNIVERSALOSC = nativeBinding.UNIVERSALOSC +module.exports.UniversalOscillatorNode = nativeBinding.UniversalOscillatorNode +module.exports.UpDownVolumeRatio = nativeBinding.UpDownVolumeRatio +module.exports.UpDownVolumeRatioNode = nativeBinding.UpDownVolumeRatioNode +module.exports.UpsideGapThreeMethods = nativeBinding.UpsideGapThreeMethods +module.exports.UpsideGapThreeMethodsNode = nativeBinding.UpsideGapThreeMethodsNode +module.exports.UpsideGapTwoCrows = nativeBinding.UpsideGapTwoCrows +module.exports.UpsideGapTwoCrowsNode = nativeBinding.UpsideGapTwoCrowsNode +module.exports.UpsidePotentialRatio = nativeBinding.UpsidePotentialRatio +module.exports.UpsidePotentialRatioNode = nativeBinding.UpsidePotentialRatioNode +module.exports.ValueArea = nativeBinding.ValueArea +module.exports.ValueAreaNode = nativeBinding.ValueAreaNode +module.exports.ValueAtRisk = nativeBinding.ValueAtRisk +module.exports.ValueAtRiskNode = nativeBinding.ValueAtRiskNode +module.exports.Variance = nativeBinding.Variance +module.exports.VarianceNode = nativeBinding.VarianceNode +module.exports.VarianceRatio = nativeBinding.VarianceRatio +module.exports.VarianceRatioNode = nativeBinding.VarianceRatioNode +module.exports.VerticalHorizontalFilter = nativeBinding.VerticalHorizontalFilter +module.exports.VerticalHorizontalFilterNode = nativeBinding.VerticalHorizontalFilterNode +module.exports.VIDYA = nativeBinding.VIDYA +module.exports.VidyaNode = nativeBinding.VidyaNode +module.exports.VolatilityCone = nativeBinding.VolatilityCone +module.exports.VolatilityConeNode = nativeBinding.VolatilityConeNode +module.exports.VolatilityOfVolatility = nativeBinding.VolatilityOfVolatility +module.exports.VolatilityOfVolatilityNode = nativeBinding.VolatilityOfVolatilityNode +module.exports.VolatilityRatio = nativeBinding.VolatilityRatio +module.exports.VolatilityRatioNode = nativeBinding.VolatilityRatioNode +module.exports.VoltyStop = nativeBinding.VoltyStop +module.exports.VoltyStopNode = nativeBinding.VoltyStopNode +module.exports.VolumeBars = nativeBinding.VolumeBars +module.exports.VolumeBarsNode = nativeBinding.VolumeBarsNode +module.exports.VolumeByTimeProfile = nativeBinding.VolumeByTimeProfile +module.exports.VolumeByTimeProfileNode = nativeBinding.VolumeByTimeProfileNode +module.exports.VolumeOscillator = nativeBinding.VolumeOscillator +module.exports.VolumeOscillatorNode = nativeBinding.VolumeOscillatorNode +module.exports.VolumePriceTrend = nativeBinding.VolumePriceTrend +module.exports.VolumePriceTrendNode = nativeBinding.VolumePriceTrendNode +module.exports.VolumeProfile = nativeBinding.VolumeProfile +module.exports.VolumeProfileNode = nativeBinding.VolumeProfileNode +module.exports.VolumeRsi = nativeBinding.VolumeRsi +module.exports.VolumeRsiNode = nativeBinding.VolumeRsiNode +module.exports.VolumeWeightedMacd = nativeBinding.VolumeWeightedMacd +module.exports.VolumeWeightedMacdNode = nativeBinding.VolumeWeightedMacdNode +module.exports.VolumeWeightedSr = nativeBinding.VolumeWeightedSr +module.exports.VolumeWeightedSrNode = nativeBinding.VolumeWeightedSrNode +module.exports.Vortex = nativeBinding.Vortex +module.exports.VortexNode = nativeBinding.VortexNode +module.exports.Vpin = nativeBinding.Vpin +module.exports.VpinNode = nativeBinding.VpinNode +module.exports.VWAP = nativeBinding.VWAP +module.exports.VwapNode = nativeBinding.VwapNode +module.exports.VwapStdDevBands = nativeBinding.VwapStdDevBands +module.exports.VwapStdDevBandsNode = nativeBinding.VwapStdDevBandsNode +module.exports.VWMA = nativeBinding.VWMA +module.exports.VwmaNode = nativeBinding.VwmaNode +module.exports.VZO = nativeBinding.VZO +module.exports.VzoNode = nativeBinding.VzoNode +module.exports.Wad = nativeBinding.Wad +module.exports.WadNode = nativeBinding.WadNode +module.exports.WAVE_PM = nativeBinding.WAVE_PM +module.exports.WavePmNode = nativeBinding.WavePmNode +module.exports.WaveTrend = nativeBinding.WaveTrend +module.exports.WaveTrendNode = nativeBinding.WaveTrendNode +module.exports.Wedge = nativeBinding.Wedge +module.exports.WedgeNode = nativeBinding.WedgeNode +module.exports.WeightedClose = nativeBinding.WeightedClose +module.exports.WeightedCloseNode = nativeBinding.WeightedCloseNode +module.exports.WickRatio = nativeBinding.WickRatio +module.exports.WickRatioNode = nativeBinding.WickRatioNode +module.exports.WilliamsFractals = nativeBinding.WilliamsFractals +module.exports.WilliamsFractalsNode = nativeBinding.WilliamsFractalsNode +module.exports.WilliamsR = nativeBinding.WilliamsR +module.exports.WilliamsRNode = nativeBinding.WilliamsRNode +module.exports.WinRate = nativeBinding.WinRate +module.exports.WinRateNode = nativeBinding.WinRateNode +module.exports.WMA = nativeBinding.WMA +module.exports.WmaNode = nativeBinding.WmaNode +module.exports.WoodiePivots = nativeBinding.WoodiePivots +module.exports.WoodiePivotsNode = nativeBinding.WoodiePivotsNode +module.exports.YangZhangVolatility = nativeBinding.YangZhangVolatility +module.exports.YangZhangVolatilityNode = nativeBinding.YangZhangVolatilityNode +module.exports.YoyoExit = nativeBinding.YoyoExit +module.exports.YoyoExitNode = nativeBinding.YoyoExitNode +module.exports.ZeroLagMACD = nativeBinding.ZeroLagMACD +module.exports.ZeroLagMacdNode = nativeBinding.ZeroLagMacdNode +module.exports.ZigZag = nativeBinding.ZigZag +module.exports.ZigZagNode = nativeBinding.ZigZagNode +module.exports.ZLEMA = nativeBinding.ZLEMA +module.exports.ZlemaNode = nativeBinding.ZlemaNode +module.exports.ZScore = nativeBinding.ZScore +module.exports.ZScoreNode = nativeBinding.ZScoreNode +module.exports.fetchBinanceKlines = nativeBinding.fetchBinanceKlines +module.exports.version = nativeBinding.version diff --git a/bindings/node/package-lock.json b/bindings/node/package-lock.json index 7591320c..5ac023c7 100644 --- a/bindings/node/package-lock.json +++ b/bindings/node/package-lock.json @@ -9,10 +9,10 @@ "version": "0.9.7", "license": "MIT OR Apache-2.0", "devDependencies": { - "@napi-rs/cli": "^2.18.0" + "@napi-rs/cli": "^3.7.2" }, "engines": { - "node": ">= 20" + "node": ">= 22" }, "optionalDependencies": { "wickra-darwin-arm64": "0.9.7", @@ -23,23 +23,1828 @@ "wickra-win32-x64-msvc": "0.9.7" } }, - "node_modules/@napi-rs/cli": { - "version": "2.18.4", - "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.4.tgz", - "integrity": "sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg==", + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", "dev": true, "license": "MIT", - "bin": { - "napi": "scripts/index.js" + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@inquirer/ansi": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.7.tgz", + "integrity": "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.1.tgz", + "integrity": "sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.1.1.tgz", + "integrity": "sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.2.1.tgz", + "integrity": "sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.7", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7", + "cli-width": "^4.1.0", + "fast-wrap-ansi": "^0.2.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.2.2.tgz", + "integrity": "sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/external-editor": "^3.0.3", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.1.tgz", + "integrity": "sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.2" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.7.tgz", + "integrity": "sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + } + }, + "node_modules/@inquirer/input": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.2.tgz", + "integrity": "sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.1.1.tgz", + "integrity": "sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.1.1.tgz", + "integrity": "sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.5.2.tgz", + "integrity": "sha512-IYR/3C/paEVVQYQvdDlFZVjRCJVYHHON0XXMH91KO9GSxs0TdKYWlUdvfQl2EfAHDxUaN3IBffkE/BDTh5nJ6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^5.2.1", + "@inquirer/confirm": "^6.1.1", + "@inquirer/editor": "^5.2.2", + "@inquirer/expand": "^5.1.1", + "@inquirer/input": "^5.1.2", + "@inquirer/number": "^4.1.1", + "@inquirer/password": "^5.1.1", + "@inquirer/rawlist": "^5.3.1", + "@inquirer/search": "^4.2.1", + "@inquirer/select": "^5.2.1" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.1.tgz", + "integrity": "sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.2.1.tgz", + "integrity": "sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.1.tgz", + "integrity": "sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.0.7.tgz", + "integrity": "sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@napi-rs/cli": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-3.7.2.tgz", + "integrity": "sha512-shDW0Td/XZQpP04Yy+OsMt1ILMKGGkoLcy1zVAsSAK0fLfWm0Upgkmfs/NOV2ZhMQwkgpR3ZEdyHmTwgrUDQuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/prompts": "^8.5.2", + "@napi-rs/cross-toolchain": "^1.0.3", + "@napi-rs/wasm-tools": "^1.0.1", + "@octokit/rest": "^22.0.1", + "clipanion": "^4.0.0-rc.4", + "colorette": "^2.0.20", + "emnapi": "^1.11.1", + "es-toolkit": "^1.47.0", + "js-yaml": "^4.2.0", + "obug": "^2.1.2", + "semver": "^7.8.2", + "typanion": "^3.14.0" + }, + "bin": { + "napi": "dist/cli.js", + "napi-raw": "cli.mjs" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/runtime": "^1.7.1" + }, + "peerDependenciesMeta": { + "@emnapi/runtime": { + "optional": true + } + } + }, + "node_modules/@napi-rs/cross-toolchain": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@napi-rs/cross-toolchain/-/cross-toolchain-1.0.3.tgz", + "integrity": "sha512-ENPfLe4937bsKVTDA6zdABx4pq9w0tHqRrJHyaGxgaPq03a2Bd1unD5XSKjXJjebsABJ+MjAv1A2OvCgK9yehg==", + "dev": true, + "license": "MIT", + "workspaces": [ + ".", + "arm64/*", + "x64/*" + ], + "dependencies": { + "@napi-rs/lzma": "^1.4.5", + "@napi-rs/tar": "^1.1.0", + "debug": "^4.4.1" + }, + "peerDependencies": { + "@napi-rs/cross-toolchain-arm64-target-aarch64": "^1.0.3", + "@napi-rs/cross-toolchain-arm64-target-armv7": "^1.0.3", + "@napi-rs/cross-toolchain-arm64-target-ppc64le": "^1.0.3", + "@napi-rs/cross-toolchain-arm64-target-s390x": "^1.0.3", + "@napi-rs/cross-toolchain-arm64-target-x86_64": "^1.0.3", + "@napi-rs/cross-toolchain-x64-target-aarch64": "^1.0.3", + "@napi-rs/cross-toolchain-x64-target-armv7": "^1.0.3", + "@napi-rs/cross-toolchain-x64-target-ppc64le": "^1.0.3", + "@napi-rs/cross-toolchain-x64-target-s390x": "^1.0.3", + "@napi-rs/cross-toolchain-x64-target-x86_64": "^1.0.3" + }, + "peerDependenciesMeta": { + "@napi-rs/cross-toolchain-arm64-target-aarch64": { + "optional": true + }, + "@napi-rs/cross-toolchain-arm64-target-armv7": { + "optional": true + }, + "@napi-rs/cross-toolchain-arm64-target-ppc64le": { + "optional": true + }, + "@napi-rs/cross-toolchain-arm64-target-s390x": { + "optional": true + }, + "@napi-rs/cross-toolchain-arm64-target-x86_64": { + "optional": true + }, + "@napi-rs/cross-toolchain-x64-target-aarch64": { + "optional": true + }, + "@napi-rs/cross-toolchain-x64-target-armv7": { + "optional": true + }, + "@napi-rs/cross-toolchain-x64-target-ppc64le": { + "optional": true + }, + "@napi-rs/cross-toolchain-x64-target-s390x": { + "optional": true + }, + "@napi-rs/cross-toolchain-x64-target-x86_64": { + "optional": true + } + } + }, + "node_modules/@napi-rs/lzma": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma/-/lzma-1.4.5.tgz", + "integrity": "sha512-zS5LuN1OBPAyZpda2ZZgYOEDC+xecUdAGnrvbYzjnLXkrq/OBC3B9qcRvlxbDR3k5H/gVfvef1/jyUqPknqjbg==", + "dev": true, + "license": "MIT", "engines": { "node": ">= 10" }, "funding": { "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/lzma-android-arm-eabi": "1.4.5", + "@napi-rs/lzma-android-arm64": "1.4.5", + "@napi-rs/lzma-darwin-arm64": "1.4.5", + "@napi-rs/lzma-darwin-x64": "1.4.5", + "@napi-rs/lzma-freebsd-x64": "1.4.5", + "@napi-rs/lzma-linux-arm-gnueabihf": "1.4.5", + "@napi-rs/lzma-linux-arm64-gnu": "1.4.5", + "@napi-rs/lzma-linux-arm64-musl": "1.4.5", + "@napi-rs/lzma-linux-ppc64-gnu": "1.4.5", + "@napi-rs/lzma-linux-riscv64-gnu": "1.4.5", + "@napi-rs/lzma-linux-s390x-gnu": "1.4.5", + "@napi-rs/lzma-linux-x64-gnu": "1.4.5", + "@napi-rs/lzma-linux-x64-musl": "1.4.5", + "@napi-rs/lzma-wasm32-wasi": "1.4.5", + "@napi-rs/lzma-win32-arm64-msvc": "1.4.5", + "@napi-rs/lzma-win32-ia32-msvc": "1.4.5", + "@napi-rs/lzma-win32-x64-msvc": "1.4.5" } }, + "node_modules/@napi-rs/lzma-android-arm-eabi": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm-eabi/-/lzma-android-arm-eabi-1.4.5.tgz", + "integrity": "sha512-Up4gpyw2SacmyKWWEib06GhiDdF+H+CCU0LAV8pnM4aJIDqKKd5LHSlBht83Jut6frkB0vwEPmAkv4NjQ5u//Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-android-arm64": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm64/-/lzma-android-arm64-1.4.5.tgz", + "integrity": "sha512-uwa8sLlWEzkAM0MWyoZJg0JTD3BkPknvejAFG2acUA1raXM8jLrqujWCdOStisXhqQjZ2nDMp3FV6cs//zjfuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-darwin-arm64": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-arm64/-/lzma-darwin-arm64-1.4.5.tgz", + "integrity": "sha512-0Y0TQLQ2xAjVabrMDem1NhIssOZzF/y/dqetc6OT8mD3xMTDtF8u5BqZoX3MyPc9FzpsZw4ksol+w7DsxHrpMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-darwin-x64": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-x64/-/lzma-darwin-x64-1.4.5.tgz", + "integrity": "sha512-vR2IUyJY3En+V1wJkwmbGWcYiT8pHloTAWdW4pG24+51GIq+intst6Uf6D/r46citObGZrlX0QvMarOkQeHWpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-freebsd-x64": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-freebsd-x64/-/lzma-freebsd-x64-1.4.5.tgz", + "integrity": "sha512-XpnYQC5SVovO35tF0xGkbHYjsS6kqyNCjuaLQ2dbEblFRr5cAZVvsJ/9h7zj/5FluJPJRDojVNxGyRhTp4z2lw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-arm-gnueabihf": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm-gnueabihf/-/lzma-linux-arm-gnueabihf-1.4.5.tgz", + "integrity": "sha512-ic1ZZMoRfRMwtSwxkyw4zIlbDZGC6davC9r+2oX6x9QiF247BRqqT94qGeL5ZP4Vtz0Hyy7TEViWhx5j6Bpzvw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-arm64-gnu": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-gnu/-/lzma-linux-arm64-gnu-1.4.5.tgz", + "integrity": "sha512-asEp7FPd7C1Yi6DQb45a3KPHKOFBSfGuJWXcAd4/bL2Fjetb2n/KK2z14yfW8YC/Fv6x3rBM0VAZKmJuz4tysg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-arm64-musl": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-musl/-/lzma-linux-arm64-musl-1.4.5.tgz", + "integrity": "sha512-yWjcPDgJ2nIL3KNvi4536dlT/CcCWO0DUyEOlBs/SacG7BeD6IjGh6yYzd3/X1Y3JItCbZoDoLUH8iB1lTXo3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-ppc64-gnu": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-ppc64-gnu/-/lzma-linux-ppc64-gnu-1.4.5.tgz", + "integrity": "sha512-0XRhKuIU/9ZjT4WDIG/qnX7Xz7mSQHYZo9Gb3MP2gcvBgr6BA4zywQ9k3gmQaPn9ECE+CZg2V7DV7kT+x2pUMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-riscv64-gnu": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-riscv64-gnu/-/lzma-linux-riscv64-gnu-1.4.5.tgz", + "integrity": "sha512-QrqDIPEUUB23GCpyQj/QFyMlr8SGxxyExeZz9OWFnHfb70kXdTLWrHS/hEI1Ru+lSbQ/6xRqeoGyQ4Aqdg+/RA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-s390x-gnu": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-s390x-gnu/-/lzma-linux-s390x-gnu-1.4.5.tgz", + "integrity": "sha512-k8RVM5aMhW86E9H0QXdquwojew4H3SwPxbRVbl49/COJQWCUjGi79X6mYruMnMPEznZinUiT1jgKbFo2A00NdA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.4.5.tgz", + "integrity": "sha512-6rMtBgnIq2Wcl1rQdZsnM+rtCcVCbws1nF8S2NzaUsVaZv8bjrPiAa0lwg4Eqnn1d9lgwqT+cZgm5m+//K08Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-musl": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-musl/-/lzma-linux-x64-musl-1.4.5.tgz", + "integrity": "sha512-eiadGBKi7Vd0bCArBUOO/qqRYPHt/VQVvGyYvDFt6C2ZSIjlD+HuOl+2oS1sjf4CFjK4eDIog6EdXnL0NE6iyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-wasm32-wasi": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-wasm32-wasi/-/lzma-wasm32-wasi-1.4.5.tgz", + "integrity": "sha512-+VyHHlr68dvey6fXc2hehw9gHVFIW3TtGF1XkcbAu65qVXsA9D/T+uuoRVqhE+JCyFHFrO0ixRbZDRK1XJt1sA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@napi-rs/lzma-win32-arm64-msvc": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-arm64-msvc/-/lzma-win32-arm64-msvc-1.4.5.tgz", + "integrity": "sha512-eewnqvIyyhHi3KaZtBOJXohLvwwN27gfS2G/YDWdfHlbz1jrmfeHAmzMsP5qv8vGB+T80TMHNkro4kYjeh6Deg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-win32-ia32-msvc": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-ia32-msvc/-/lzma-win32-ia32-msvc-1.4.5.tgz", + "integrity": "sha512-OeacFVRCJOKNU/a0ephUfYZ2Yt+NvaHze/4TgOwJ0J0P4P7X1mHzN+ig9Iyd74aQDXYqc7kaCXA2dpAOcH87Cg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/lzma-win32-x64-msvc": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-x64-msvc/-/lzma-win32-x64-msvc-1.4.5.tgz", + "integrity": "sha512-T4I1SamdSmtyZgDXGAGP+y5LEK5vxHUFwe8mz6D4R7Sa5/WCxTcCIgPJ9BD7RkpO17lzhlaM2vmVvMy96Lvk9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar/-/tar-1.1.0.tgz", + "integrity": "sha512-7cmzIu+Vbupriudo7UudoMRH2OA3cTw67vva8MxeoAe5S7vPFI7z0vp0pMXiA25S8IUJefImQ90FeJjl8fjEaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/tar-android-arm-eabi": "1.1.0", + "@napi-rs/tar-android-arm64": "1.1.0", + "@napi-rs/tar-darwin-arm64": "1.1.0", + "@napi-rs/tar-darwin-x64": "1.1.0", + "@napi-rs/tar-freebsd-x64": "1.1.0", + "@napi-rs/tar-linux-arm-gnueabihf": "1.1.0", + "@napi-rs/tar-linux-arm64-gnu": "1.1.0", + "@napi-rs/tar-linux-arm64-musl": "1.1.0", + "@napi-rs/tar-linux-ppc64-gnu": "1.1.0", + "@napi-rs/tar-linux-s390x-gnu": "1.1.0", + "@napi-rs/tar-linux-x64-gnu": "1.1.0", + "@napi-rs/tar-linux-x64-musl": "1.1.0", + "@napi-rs/tar-wasm32-wasi": "1.1.0", + "@napi-rs/tar-win32-arm64-msvc": "1.1.0", + "@napi-rs/tar-win32-ia32-msvc": "1.1.0", + "@napi-rs/tar-win32-x64-msvc": "1.1.0" + } + }, + "node_modules/@napi-rs/tar-android-arm-eabi": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-android-arm-eabi/-/tar-android-arm-eabi-1.1.0.tgz", + "integrity": "sha512-h2Ryndraj/YiKgMV/r5by1cDusluYIRT0CaE0/PekQ4u+Wpy2iUVqvzVU98ZPnhXaNeYxEvVJHNGafpOfaD0TA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-android-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-android-arm64/-/tar-android-arm64-1.1.0.tgz", + "integrity": "sha512-DJFyQHr1ZxNZorm/gzc1qBNLF/FcKzcH0V0Vwan5P+o0aE2keQIGEjJ09FudkF9v6uOuJjHCVDdK6S6uHtShAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-darwin-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-darwin-arm64/-/tar-darwin-arm64-1.1.0.tgz", + "integrity": "sha512-Zz2sXRzjIX4e532zD6xm2SjXEym6MkvfCvL2RMpG2+UwNVDVscHNcz3d47Pf3sysP2e2af7fBB3TIoK2f6trPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-darwin-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-darwin-x64/-/tar-darwin-x64-1.1.0.tgz", + "integrity": "sha512-EI+CptIMNweT0ms9S3mkP/q+J6FNZ1Q6pvpJOEcWglRfyfQpLqjlC0O+dptruTPE8VamKYuqdjxfqD8hifZDOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-freebsd-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-freebsd-x64/-/tar-freebsd-x64-1.1.0.tgz", + "integrity": "sha512-J0PIqX+pl6lBIAckL/c87gpodLbjZB1OtIK+RDscKC9NLdpVv6VGOxzUV/fYev/hctcE8EfkLbgFOfpmVQPg2g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-arm-gnueabihf": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-arm-gnueabihf/-/tar-linux-arm-gnueabihf-1.1.0.tgz", + "integrity": "sha512-SLgIQo3f3EjkZ82ZwvrEgFvMdDAhsxCYjyoSuWfHCz0U16qx3SuGCp8+FYOPYCECHN3ZlGjXnoAIt9ERd0dEUg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-arm64-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-arm64-gnu/-/tar-linux-arm64-gnu-1.1.0.tgz", + "integrity": "sha512-d014cdle52EGaH6GpYTQOP9Py7glMO1zz/+ynJPjjzYFSxvdYx0byrjumZk2UQdIyGZiJO2MEFpCkEEKFSgPYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-arm64-musl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-arm64-musl/-/tar-linux-arm64-musl-1.1.0.tgz", + "integrity": "sha512-L/y1/26q9L/uBqiW/JdOb/Dc94egFvNALUZV2WCGKQXc6UByPBMgdiEyW2dtoYxYYYYc+AKD+jr+wQPcvX2vrQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-ppc64-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-ppc64-gnu/-/tar-linux-ppc64-gnu-1.1.0.tgz", + "integrity": "sha512-EPE1K/80RQvPbLRJDJs1QmCIcH+7WRi0F73+oTe1582y9RtfGRuzAkzeBuAGRXAQEjRQw/RjtNqr6UTJ+8UuWQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-s390x-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-s390x-gnu/-/tar-linux-s390x-gnu-1.1.0.tgz", + "integrity": "sha512-B2jhWiB1ffw1nQBqLUP1h4+J1ovAxBOoe5N2IqDMOc63fsPZKNqF1PvO/dIem8z7LL4U4bsfmhy3gBfu547oNQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-x64-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-x64-gnu/-/tar-linux-x64-gnu-1.1.0.tgz", + "integrity": "sha512-tbZDHnb9617lTnsDMGo/eAMZxnsQFnaRe+MszRqHguKfMwkisc9CCJnks/r1o84u5fECI+J/HOrKXgczq/3Oww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-linux-x64-musl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-linux-x64-musl/-/tar-linux-x64-musl-1.1.0.tgz", + "integrity": "sha512-dV6cODlzbO8u6Anmv2N/ilQHq/AWz0xyltuXoLU3yUyXbZcnWYZuB2rL8OBGPmqNcD+x9NdScBNXh7vWN0naSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-wasm32-wasi": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-wasm32-wasi/-/tar-wasm32-wasi-1.1.0.tgz", + "integrity": "sha512-jIa9nb2HzOrfH0F8QQ9g3WE4aMH5vSI5/1NYVNm9ysCmNjCCtMXCAhlI3WKCdm/DwHf0zLqdrrtDFXODcNaqMw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@napi-rs/tar-win32-arm64-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-win32-arm64-msvc/-/tar-win32-arm64-msvc-1.1.0.tgz", + "integrity": "sha512-vfpG71OB0ijtjemp3WTdmBKJm9R70KM8vsSExMsIQtV0lVzP07oM1CW6JbNRPXNLhRoue9ofYLiUDk8bE0Hckg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-win32-ia32-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-win32-ia32-msvc/-/tar-win32-ia32-msvc-1.1.0.tgz", + "integrity": "sha512-hGPyPW60YSpOSgzfy68DLBHgi6HxkAM+L59ZZZPMQ0TOXjQg+p2EW87+TjZfJOkSpbYiEkULwa/f4a2hcVjsqQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/tar-win32-x64-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@napi-rs/tar-win32-x64-msvc/-/tar-win32-x64-msvc-1.1.0.tgz", + "integrity": "sha512-L6Ed1DxXK9YSCMyvpR8MiNAyKNkQLjsHsHK9E0qnHa8NzLFqzDKhvs5LfnWxM2kJ+F7m/e5n9zPm24kHb3LsVw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@napi-rs/wasm-tools": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools/-/wasm-tools-1.0.1.tgz", + "integrity": "sha512-enkZYyuCdo+9jneCPE/0fjIta4wWnvVN9hBo2HuiMpRF0q3lzv1J6b/cl7i0mxZUKhBrV3aCKDBQnCOhwKbPmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/wasm-tools-android-arm-eabi": "1.0.1", + "@napi-rs/wasm-tools-android-arm64": "1.0.1", + "@napi-rs/wasm-tools-darwin-arm64": "1.0.1", + "@napi-rs/wasm-tools-darwin-x64": "1.0.1", + "@napi-rs/wasm-tools-freebsd-x64": "1.0.1", + "@napi-rs/wasm-tools-linux-arm64-gnu": "1.0.1", + "@napi-rs/wasm-tools-linux-arm64-musl": "1.0.1", + "@napi-rs/wasm-tools-linux-x64-gnu": "1.0.1", + "@napi-rs/wasm-tools-linux-x64-musl": "1.0.1", + "@napi-rs/wasm-tools-wasm32-wasi": "1.0.1", + "@napi-rs/wasm-tools-win32-arm64-msvc": "1.0.1", + "@napi-rs/wasm-tools-win32-ia32-msvc": "1.0.1", + "@napi-rs/wasm-tools-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/@napi-rs/wasm-tools-android-arm-eabi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-android-arm-eabi/-/wasm-tools-android-arm-eabi-1.0.1.tgz", + "integrity": "sha512-lr07E/l571Gft5v4aA1dI8koJEmF1F0UigBbsqg9OWNzg80H3lDPO+auv85y3T/NHE3GirDk7x/D3sLO57vayw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-android-arm64/-/wasm-tools-android-arm64-1.0.1.tgz", + "integrity": "sha512-WDR7S+aRLV6LtBJAg5fmjKkTZIdrEnnQxgdsb7Cf8pYiMWBHLU+LC49OUVppQ2YSPY0+GeYm9yuZWW3kLjJ7Bg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-darwin-arm64/-/wasm-tools-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-qWTI+EEkiN0oIn/N2gQo7+TVYil+AJ20jjuzD2vATS6uIjVz+Updeqmszi7zq7rdFTLp6Ea3/z4kDKIfZwmR9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-darwin-x64/-/wasm-tools-darwin-x64-1.0.1.tgz", + "integrity": "sha512-bA6hubqtHROR5UI3tToAF/c6TDmaAgF0SWgo4rADHtQ4wdn0JeogvOk50gs2TYVhKPE2ZD2+qqt7oBKB+sxW3A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-freebsd-x64/-/wasm-tools-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-90+KLBkD9hZEjPQW1MDfwSt5J1L46EUKacpCZWyRuL6iIEO5CgWU0V/JnEgFsDOGyyYtiTvHc5bUdUTWd4I9Vg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-linux-arm64-gnu/-/wasm-tools-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-rG0QlS65x9K/u3HrKafDf8cFKj5wV2JHGfl8abWgKew0GVPyp6vfsDweOwHbWAjcHtp2LHi6JHoW80/MTHm52Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-linux-arm64-musl/-/wasm-tools-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-jAasbIvjZXCgX0TCuEFQr+4D6Lla/3AAVx2LmDuMjgG4xoIXzjKWl7c4chuaD+TI+prWT0X6LJcdzFT+ROKGHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-linux-x64-gnu/-/wasm-tools-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-Plgk5rPqqK2nocBGajkMVbGm010Z7dnUgq0wtnYRZbzWWxwWcXfZMPa8EYxrK4eE8SzpI7VlZP1tdVsdjgGwMw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-linux-x64-musl/-/wasm-tools-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-GW7AzGuWxtQkyHknHWYFdR0CHmW6is8rG2Rf4V6GNmMpmwtXt/ItWYWtBe4zqJWycMNazpfZKSw/BpT7/MVCXQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-wasm32-wasi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-wasm32-wasi/-/wasm-tools-wasm32-wasi-1.0.1.tgz", + "integrity": "sha512-/nQVSTrqSsn7YdAc2R7Ips/tnw5SPUcl3D7QrXCNGPqjbatIspnaexvaOYNyKMU6xPu+pc0BTnKVmqhlJJCPLA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@napi-rs/wasm-tools-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-win32-arm64-msvc/-/wasm-tools-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-PFi7oJIBu5w7Qzh3dwFea3sHRO3pojMsaEnUIy22QvsW+UJfNQwJCryVrpoUt8m4QyZXI+saEq/0r4GwdoHYFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-win32-ia32-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-win32-ia32-msvc/-/wasm-tools-win32-ia32-msvc-1.0.1.tgz", + "integrity": "sha512-gXkuYzxQsgkj05Zaq+KQTkHIN83dFAwMcTKa2aQcpYPRImFm2AQzEyLtpXmyCWzJ0F9ZYAOmbSyrNew8/us6bw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-tools-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-tools-win32-x64-msvc/-/wasm-tools-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-rEAf05nol3e3eei2sRButmgXP+6ATgm0/38MKhz9Isne82T4rPIMYsCIFj0kOisaGeVwoi2fnm7O9oWp5YVnYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@octokit/auth-token": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/endpoint": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/graphql": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-6.0.0.tgz", + "integrity": "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/request": { + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.10.tgz", + "integrity": "sha512-KxNC2pTqqhszMNrf12ZRd4PonRgyJdsM4F/jySiddQK+DsRcfBtUvqn8t7UsyZhnRJHvX46OohDt5N3VqIWC2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "content-type": "^2.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/request-error": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/rest": { + "version": "22.0.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-22.0.1.tgz", + "integrity": "sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-request-log": "^6.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/types": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/before-after-hook": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/chardet": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz", + "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/clipanion": { + "version": "4.0.0-rc.4", + "resolved": "https://registry.npmjs.org/clipanion/-/clipanion-4.0.0-rc.4.tgz", + "integrity": "sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q==", + "dev": true, + "license": "MIT", + "workspaces": [ + "website" + ], + "dependencies": { + "typanion": "^3.8.0" + }, + "peerDependencies": { + "typanion": "*" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/emnapi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/emnapi/-/emnapi-1.11.1.tgz", + "integrity": "sha512-kSRjhIcxjMFsBqk7ORvoc9aA5SBKDmecrtF5RMcmOTao0kD/zamaxsuTxMI8C1//wGUuvE7a+19pCE7AEhGVnA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "node-addon-api": ">= 6.1.0" + }, + "peerDependenciesMeta": { + "node-addon-api": { + "optional": true + } + } + }, + "node_modules/es-toolkit": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.49.0.tgz", + "integrity": "sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==", + "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-with-bigint": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", + "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/obug": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/typanion": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/typanion/-/typanion-3.14.0.tgz", + "integrity": "sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==", + "dev": true, + "license": "MIT", + "workspaces": [ + "website" + ] + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "dev": true, + "license": "ISC" + }, "node_modules/wickra-darwin-arm64": { "version": "0.9.7", "resolved": "https://registry.npmjs.org/wickra-darwin-arm64/-/wickra-darwin-arm64-0.9.7.tgz", diff --git a/bindings/node/package.json b/bindings/node/package.json index 6f57e768..5a5e8ddd 100644 --- a/bindings/node/package.json +++ b/bindings/node/package.json @@ -44,7 +44,7 @@ } }, "engines": { - "node": ">= 20" + "node": ">= 22" }, "optionalDependencies": { "wickra-linux-x64-gnu": "0.9.7", @@ -64,6 +64,6 @@ "bench": "node benchmarks/throughput.js" }, "devDependencies": { - "@napi-rs/cli": "^2.18.0" + "@napi-rs/cli": "^3.7.2" } }