Example #1
0
            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);
            }
Example #2
0
            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);
            }