public double Calculate() { var mavalue = _ma.Calculate(); //do more stuff return(mavalue); }
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); }
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); } }
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; }
public void Calculate_negativeMovinAverageTerms() { double[] input = new double[] { }; try { MovingAverage.Calculate(input, -1); } catch (NegativeMovingAverageTerms e) { Assert.Equal(e.Message, NegativeMovingAverageTerms.eMessage); } }
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]); }
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]); }