ti-engine
    Preparing search index...

    Interface VolatilityIndicatorsBulk

    Bulk/rolling volatility indicators.

    interface VolatilityIndicatorsBulk {
        ulcerIndex(prices: number[], period: number): number[];
        volatilitySystem(
            high: number[],
            low: number[],
            close: number[],
            period: number,
            constantMultiplier: number,
            constantModelType: ConstantModelType,
        ): number[];
    }
    Index

    Methods

    • Rolling Ulcer Index.

      Parameters

      • prices: number[]

        Prices.

      • period: number

        Window length.

      Returns number[]

      Ulcer Index per window.

      If period > prices.length.

    • Welles Wilder's volatility system.

      Steps:

      • Compute typical price = (high + low + close)/3
      • Determine initial trend via overall OLS trend on first period typical prices
      • Compute ATR per window using the selected constant model
      • ARC = ATR * constantMultiplier
      • Seed SAR from significant close of initial segment (max for Long, min for Short)
      • For each subsequent bar, update SAR +/- ARC based on position and switch on crosses

      Parameters

      • high: number[]

        High prices.

      • low: number[]

        Low prices.

      • close: number[]

        Close prices.

      • period: number

        ATR/trend lookback window.

      • constantMultiplier: number

        Multiplier applied to ATR to form ARC.

      • constantModelType: ConstantModelType

        Model used inside ATR (SMA/EMA/etc.).

      Returns number[]

      SAR-like levels per bar (aligned to period windows).

      If arrays are empty, lengths differ, or period > length.