ti-engine
    Preparing search index...

    Interface StrengthIndicatorsSingle

    Single-value strength indicators. Volume- and price-based measures of trend/conviction.

    interface StrengthIndicatorsSingle {
        accumulationDistribution(
            high: number,
            low: number,
            close: number,
            volume: number,
            previousAccumulationDistribution: number,
        ): number;
        relativeVigorIndex(
            open: number[],
            high: number[],
            low: number[],
            close: number[],
            constantModelType: ConstantModelType,
        ): number;
        volumeIndex(
            currentClose: number,
            previousClose: number,
            previousVolumeIndex: number,
        ): number;
    }
    Index

    Methods

    • Accumulation/Distribution (AD) update. moneyFlowMultiplier = ((close - low) - (high - close)) / (high - low) moneyFlowVolume = moneyFlowMultiplier * volume AD = previousAD + moneyFlowVolume

      Parameters

      • high: number

        High price.

      • low: number

        Low price.

      • close: number

        Close price.

      • volume: number

        Volume.

      • previousAccumulationDistribution: number

        Previous AD seed (0.0 if none).

      Returns number

      Updated AD value.

    • Relative Vigor Index (RVI) over the full window. Uses 4-sample weights on close-open and high-low differences, then a central model (SMA/EMA/etc.) on numerator and denominator and returns their ratio.

      Parameters

      • open: number[]

        Opening prices.

      • high: number[]

        Highs.

      • low: number[]

        Lows.

      • close: number[]

        Closes.

      • constantModelType: ConstantModelType

        Central model for smoothing numerator/denominator.

      Returns number

      RVI value.

      If lengths differ, empty, or length < 4.

    • Generic Volume Index update step (used by PVI/NVI). change = (currentClose - previousClose)/previousClose If previousIndex == 0: return change + change^2 Else: return previousIndex + (change * previousIndex)

      Parameters

      • currentClose: number
      • previousClose: number
      • previousVolumeIndex: number

      Returns number