getMAIndicator static method

CachedIndicator<Tick> getMAIndicator(
  1. Indicator<Tick> indicator,
  2. MAOptions maOptions
)

Returns a moving average indicator based on maOptions values.

Implementation

static CachedIndicator<Tick> getMAIndicator(
  Indicator<Tick> indicator,
  MAOptions maOptions,
) {
  switch (maOptions.type) {
    case MovingAverageType.exponential:
      return EMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.weighted:
      return WMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.hull:
      return HMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.zeroLag:
      return ZLEMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.timeSeries:
      return LSMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.doubleExponential:
      return DEMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.tripleExponential:
      return TEMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.triangular:
      return TRIMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.wellesWilder:
      return WWSMAIndicator<Tick>(indicator, maOptions.period);
    case MovingAverageType.variable:
      return VMAIndicator<Tick>(indicator, maOptions.period);
    default:
      return SMAIndicator<Tick>(indicator, maOptions.period);
  }
}