Beispiel #1
0
    public double Calculate()
    {
        var mavalue = _ma.Calculate();

        //do more stuff
        return(mavalue);
    }
Beispiel #2
0
        public void Calculate_1Periods()
        {
            double[] input         = new double[] { 275, 291, 307, 281, 295 };
            double[] forecast      = ArrayBased.Join(MovingAverage.Calculate(input, 5));
            double   expectedValue = 289.8;

            Assert.Equal(expectedValue, forecast.Last(), 1);
        }
Beispiel #3
0
 private void GetMovingAverages()
 {
     foreach (KeyValuePair <string, EpiCurveModel> keyValuePair in EpiCurveEntryByWard)
     {
         keyValuePair.Value.MAVG7  = MovingAverage.Calculate(mavg7[keyValuePair.Key], keyValuePair.Value.Anzahl, WEEK);
         keyValuePair.Value.MAVG28 = MovingAverage.Calculate(mavg28[keyValuePair.Key], keyValuePair.Value.Anzahl, MONTH);
     }
 }
Beispiel #4
0
        public void Calculate_0Periods()
        {
            double[] input              = new double[] { 654, 658, 665, 672, 673, 671, 693, 694, 701, 703, 702, 710, 712, 711, 728 };
            double[] forecast           = ArrayBased.Join(MovingAverage.Calculate(input, 3));
            double[] expectedValue      = new double[] { 659, 665, 670, 672, 679, 686, 696, 699, 702, 705, 708, 711, 717 };
            double[] simplifiedForecast = forecast.Select(d => Math.Round(d)).ToArray <double>();

            Assert.Equal(expectedValue, simplifiedForecast);
        }
        public override void Calculate(int index)
        {
            _ma1.Calculate(index);
            _ma2.Calculate(index);

            var diff = _ma1.Result[index] - _ma2.Result[index];

            Result[index] = _ma1.Result[index] + CorrectionFactor * diff;
        }
Beispiel #6
0
 public void Calculate_negativeMovinAverageTerms()
 {
     double[] input = new double[] { };
     try
     {
         MovingAverage.Calculate(input, -1);
     }
     catch (NegativeMovingAverageTerms e)
     {
         Assert.Equal(e.Message, NegativeMovingAverageTerms.eMessage);
     }
 }
Beispiel #7
0
        public override void Calculate(int index)
        {
            /*Calculate close - centered moving average*/

            Cycle[index] = MarketSeries.Close[index] - Avg.Result[index + back];

            /*Calculate a moving average of cycle index*/

            Avg_Cycle.Calculate(index);
            Cycle_Ma[index] = Avg_Cycle.Result[index];

            /*Calculate the difference of Cycle with her moving average*/
            ABS[index] = Math.Abs(Cycle[index] - Cycle_Ma[index]);
            Avg_Abs.Calculate(index);


            Band_Up[index]   = Cycle_Ma[index] + (Bands_Deviation * Avg_Abs.Result[index]);
            Band_Down[index] = Cycle_Ma[index] - (Bands_Deviation * Avg_Abs.Result[index]);
        }
Beispiel #8
0
        public override void Calculate(int index)
        {
            /** Create a defaut value **/
            UpCandle[index]       = 0.0;
            UpCandleBack[index]   = 0.0;
            UpShadow[index]       = 0.0;
            DownCandle[index]     = 0.0;
            DownCandleBack[index] = 0.0;
            DownShadow[index]     = 0.0;
            ShadowBack[index]     = 0.0;

            /*********/
            Range[index] = MarketSeries.High[index] - MarketSeries.Low[index];
            MovRange.Calculate(index);

            ///
            _Avalue[index] = 0.2 * MovRange.Result[index];

            ///
            MiddleRange[index] = (MarketSeries.High[index] + MarketSeries.Low[index]) / 2;
            _Bvalue.Calculate(index);

            DownNiveau[index]  = 7.0;
            UpNiveau[index]    = 23.0;
            DownNiveau2[index] = 9.0;
            UpNiveau2[index]   = 21.0;

            if (MarketSeries.Close[index] > MarketSeries.Open[index])
            {
                UpCandle[index]     = 15 + ((MarketSeries.Close[index] - _Bvalue.Result[index]) / _Avalue[index]);
                UpCandleBack[index] = 15 + ((MarketSeries.Open[index] - _Bvalue.Result[index]) / _Avalue[index]);
                UpShadow[index]     = 15 + ((MarketSeries.High[index] - _Bvalue.Result[index]) / _Avalue[index]);
            }
            else
            {
                DownCandle[index]     = 15 + ((MarketSeries.Open[index] - _Bvalue.Result[index]) / _Avalue[index]);
                DownCandleBack[index] = 15 + ((MarketSeries.Close[index] - _Bvalue.Result[index]) / _Avalue[index]);
                DownShadow[index]     = 15 + ((MarketSeries.High[index] - _Bvalue.Result[index]) / _Avalue[index]);
            }

            ShadowBack[index] = 15 + ((MarketSeries.Low[index] - _Bvalue.Result[index]) / _Avalue[index]);
        }