public static double Value(ISeries input, int index, int length) { int i = index - length + 1; if (i < 0) { return(double.NaN); } double num = 50; for (int j = length - 1; j <= index; ++j) { num = (2 * num + K_Fast.Value(input, j, length)) / 3.0; } return(num); }
public override void Calculate(int index) { int i = index - length + 1; if (i < 0) { return; } double num = 50; if (i == 0) { num = (2 * num + K_Fast.Value(input, index, length)) / 3.0; } else { num = (2 * this[i - 1] + K_Fast.Value(input, index, length)) / 3.0; } base.Add(base.input.GetDateTime(index), num); }