ti-engine
    Preparing search index...

    Interface MomentumIndicatorsBulk

    Bulk/rolling momentum indicators.

    General:

    • Output length is L - N + 1 where N is period (or longPeriod for two-window indicators).
    • Each output at index i corresponds to the input window [i..i+N-1].
    interface MomentumIndicatorsBulk {
        chaikinOscillator(
            highs: number[],
            lows: number[],
            close: number[],
            volume: number[],
            shortPeriod: number,
            longPeriod: number,
            previousAccumulationDistribution: number,
            shortPeriodModel: ConstantModelType,
            longPeriodModel: ConstantModelType,
        ): [number, number][];
        chandeMomentumOscillator(prices: number[], period: number): number[];
        commodityChannelIndex(
            prices: number[],
            constantModelType: ConstantModelType,
            deviationModel: DeviationModel,
            constantMultiplier: number,
            period: number,
        ): number[];
        macdLine(
            prices: number[],
            shortPeriod: number,
            shortPeriodModel: ConstantModelType,
            longPeriod: number,
            longPeriodModel: ConstantModelType,
        ): number[];
        mcginleyDynamicCommodityChannelIndex(
            prices: number[],
            previousMcginleyDynamic: number,
            deviationModel: DeviationModel,
            constantMultiplier: number,
            period: number,
        ): [number, number][];
        mcginleyDynamicMacdLine(
            prices: number[],
            shortPeriod: number,
            previousShortMcginley: number,
            longPeriod: number,
            previousLongMcginley: number,
        ): [number, number, number][];
        moneyFlowIndex(
            prices: number[],
            volume: number[],
            period: number,
        ): number[];
        onBalanceVolume(
            prices: number[],
            volume: number[],
            previousOnBalanceVolume: number,
        ): number[];
        percentagePriceOscillator(
            prices: number[],
            shortPeriod: number,
            longPeriod: number,
            constantModelType: ConstantModelType,
        ): number[];
        rateOfChange(prices: number[]): number[];
        relativeStrengthIndex(
            prices: number[],
            constantModelType: ConstantModelType,
            period: number,
        ): number[];
        signalLine(
            macds: number[],
            constantModelType: ConstantModelType,
            period: number,
        ): number[];
        slowestStochastic(
            slowStochastics: number[],
            constantModelType: ConstantModelType,
            period: number,
        ): number[];
        slowStochastic(
            stochastics: number[],
            constantModelType: ConstantModelType,
            period: number,
        ): number[];
        stochasticOscillator(prices: number[], period: number): number[];
        williamsPercentR(
            high: number[],
            low: number[],
            close: number[],
            period: number,
        ): number[];
    }
    Index

    Methods

    • Rolling Chaikin Oscillator (CO).

      Builds AD for each window from a running previous AD seed. Returns [oscillatorValue, lastAD] per window.

      Parameters

      • highs: number[]

        High prices.

      • lows: number[]

        Low prices.

      • close: number[]

        Close prices.

      • volume: number[]

        Volumes.

      • shortPeriod: number

        Short AD period.

      • longPeriod: number

        Long AD period.

      • previousAccumulationDistribution: number

        Previous AD seed (0.0 if none).

      • shortPeriodModel: ConstantModelType

        Model for short AD average.

      • longPeriodModel: ConstantModelType

        Model for long AD average.

      Returns [number, number][]

      Array of [oscValue, lastAD] per window.

      If lengths differ, length < longPeriod, or shortPeriod >= longPeriod.

    • Rolling Chande Momentum Oscillator (CMO).

      Parameters

      • prices: number[]

        Prices.

      • period: number

        Window length.

      Returns number[]

      CMO values per window (range [-100, 100]).

      If prices is empty or period > prices.length.

    • Rolling Commodity Channel Index (CCI).

      Parameters

      • prices: number[]

        Prices.

      • constantModelType: ConstantModelType

        Central model.

      • deviationModel: DeviationModel

        Deviation model.

      • constantMultiplier: number

        Scale factor (normally 0.015).

      • period: number

        Window length.

      Returns number[]

      CCI per window.

      If period > prices.length.

    • Rolling MACD line (short vs long window).

      Parameters

      • prices: number[]

        Prices.

      • shortPeriod: number

        Short window length (must be <= longPeriod).

      • shortPeriodModel: ConstantModelType

        Model for short average.

      • longPeriod: number

        Long window length (<= prices.length).

      • longPeriodModel: ConstantModelType

        Model for long average.

      Returns number[]

      MACD values per window.

      If shortPeriod > longPeriod or longPeriod > prices.length.

    • Rolling McGinley Dynamic CCI.

      Seeds the first window with previousMcginleyDynamic, then chains each window's McGinley into the next.

      Parameters

      • prices: number[]

        Prices.

      • previousMcginleyDynamic: number

        Previous McGinley (0.0 if none).

      • deviationModel: DeviationModel

        Deviation model.

      • constantMultiplier: number

        Scale factor (normally 0.015).

      • period: number

        Window length.

      Returns [number, number][]

      Array of [cci, mcginley] per window.

      If period > prices.length.

    • Rolling McGinley Dynamic MACD.

      Chains short/long McGinley values across windows:

      • Returns [macd, shortMcginley, longMcginley] per window.

      Parameters

      • prices: number[]

        Prices.

      • shortPeriod: number

        Short window length.

      • previousShortMcginley: number

        Previous short McGinley (0.0 if none).

      • longPeriod: number

        Long window length.

      • previousLongMcginley: number

        Previous long McGinley (0.0 if none).

      Returns [number, number, number][]

      Array of [macd, shortMcginley, longMcginley].

      If prices is empty, longPeriod > prices.length, or shortPeriod >= longPeriod.

    • Rolling Money Flow Index (MFI).

      Parameters

      • prices: number[]

        Prices.

      • volume: number[]

        Volumes (same length).

      • period: number

        Window length.

      Returns number[]

      MFI values per window.

      If period > prices.length or lengths mismatch.

    • Rolling On-Balance Volume (OBV).

      Parameters

      • prices: number[]

        Prices (length >= 1).

      • volume: number[]

        Volumes (same length).

      • previousOnBalanceVolume: number

        Previous OBV seed (0 if none).

      Returns number[]

      OBV values per step (length = prices.length - 1).

      If prices is empty or lengths mismatch.

    • Rolling Percentage Price Oscillator (PPO) (%).

      Parameters

      • prices: number[]

        Prices.

      • shortPeriod: number

        Short window length.

      • longPeriod: number

        Long window length.

      • constantModelType: ConstantModelType

        Central model for both averages.

      Returns number[]

      PPO values per window (%).

      If shortPeriod >= longPeriod, prices is empty, or longPeriod > prices.length.

    • Pairwise Rate of Change across the series.

      Parameters

      • prices: number[]

        Prices (length >= 1).

      Returns number[]

      Array of successive RoC values (length = prices.length - 1).

      If prices is empty.

    • Rolling RSI.

      Parameters

      • prices: number[]

        Slice of prices.

      • constantModelType: ConstantModelType

        Central model for gains/losses aggregation.

      • period: number

        Window length.

      Returns number[]

      RSI per window.

      If period > prices.length.

    • Rolling MACD signal line.

      Parameters

      • macds: number[]

        MACD values.

      • constantModelType: ConstantModelType

        Central model.

      • period: number

        Window length.

      Returns number[]

      Signal values per window.

      If period > macds.length.

    • Rolling Slowest Stochastic (smoothing of Slow Stochastic).

      Parameters

      • slowStochastics: number[]

        Slice of slow stochastic values.

      • constantModelType: ConstantModelType

        Central model.

      • period: number

        Window length.

      Returns number[]

      Slowest stochastic per window.

      If period > slowStochastics.length.

    • Rolling Slow Stochastic (smoothing of Stochastic Oscillator).

      Parameters

      • stochastics: number[]

        Slice of stochastic values.

      • constantModelType: ConstantModelType

        Central model.

      • period: number

        Window length.

      Returns number[]

      Slow stochastic per window.

      If period > stochastics.length.

    • Rolling Stochastic Oscillator.

      Parameters

      • prices: number[]

        Slice of prices.

      • period: number

        Window length.

      Returns number[]

      %K per window in [0, 100].

      If period > prices.length.

    • Rolling Williams %R.

      Parameters

      • high: number[]

        High prices.

      • low: number[]

        Low prices.

      • close: number[]

        Close prices.

      • period: number

        Window length.

      Returns number[]

      %R values per window.

      If lengths differ or period > lengths.