/// <summary> /// Resets this indicator to its initial state /// </summary> public override void Reset() { base.Reset(); ShortAverage.Reset(); MediumAverage.Reset(); LongAverage.Reset(); }
/// <summary> /// Copmutes the next value for this indicator from the given state. /// </summary> /// <param name="input">The input value to this indicator on this time step</param> /// <returns>A new value for this indicator</returns> protected override decimal ComputeNextValue(IndicatorDataPoint input) { ShortAverage.Update(input); MediumAverage.Update(input); LongAverage.Update(input); return(LongAverage.Current.Value - MediumAverage.Current.Value + ShortAverage.Current.Value); }