34 private readonly
int _period;
39 public override bool IsReady => _rollingSum.IsReady;
55 _rollingSum =
new Sum(name +
"_Sum", period);
63 : this($
"MGD({period})", period)
75 _rollingSum.Update(input.
Time, input.
Value);
80 else if (Samples == _period)
82 return _rollingSum.Current.Value / _period;
86 if ((Current.Value == 0) || (input.
Value == 0) || (_period == 0))
90 return Current.Value + (input.
Value - Current.Value) / (_period * (decimal)Math.Pow((
double)(input.
Value / Current.Value), 4.0));