private void mavParameterNext_Click(object sender, EventArgs e) { mavResultTitle.Text = Code + " için Moving Average sonucu"; MAVPeriod = (int)mavPeriod.Value; mavResultChart.Series.Clear(); var closeSeries = new Series { Name = "Kapanış", Color = System.Drawing.Color.Black, ChartType = SeriesChartType.Line }; var smaSeries = new Series { Name = "Simple Moving Average", Color = System.Drawing.Color.Red, ChartType = SeriesChartType.Line }; var wmaSeries = new Series { Name = "Weighted Moving Average", Color = System.Drawing.Color.Green, ChartType = SeriesChartType.Line }; var emaSeries = new Series { Name = "Exponential Moving Average", Color = System.Drawing.Color.Blue, ChartType = SeriesChartType.Line }; var closeData = IndicatorService.GetData(Code, TargetDate, new string[] { "Tarih", "Kapanis" }, NumberOfData); double[] smaData, wmaData, emaData; if (MapReduceAllowed) { smaData = MovingAverage.SimpleMR(Code, TargetDate, MAVPeriod, NumberOfData); wmaData = MovingAverage.WeightedMR(Code, TargetDate, MAVPeriod, NumberOfData); emaData = MovingAverage.ExponentialMR(Code, TargetDate, MAVPeriod, NumberOfData); } else { smaData = MovingAverage.Simple(Code, TargetDate, MAVPeriod, NumberOfData); wmaData = MovingAverage.Weighted(Code, TargetDate, MAVPeriod, NumberOfData); emaData = MovingAverage.Exponential(Code, TargetDate, MAVPeriod, NumberOfData); } DateTime date; for (int i = 0; i < smaData.Length; i++) { var close = closeData.ElementAt(i); date = close.GetElement("Tarih").Value.AsBsonDateTime.ToLocalTime(); closeSeries.Points.AddXY(date, close.GetElement("Kapanis").Value.ToDouble()); smaSeries.Points.AddXY(date, smaData[i]); wmaSeries.Points.AddXY(date, wmaData[i]); emaSeries.Points.AddXY(date, emaData[i]); } mavResultChart.ChartAreas[0].AxisY.Minimum = Math.Floor(new double[] { closeData.Select(p => p.GetElement("Kapanis").Value.ToDouble()).Min(), smaData.Min(), wmaData.Min(), emaData.Min() }.Min()); mavResultChart.ChartAreas[0].AxisY.Maximum = Math.Ceiling(new double[] { closeData.Select(p => p.GetElement("Kapanis").Value.ToDouble()).Max(), smaData.Max(), wmaData.Max(), emaData.Max() }.Max()); mavResultChart.Series.Add(closeSeries); mavResultChart.Series.Add(smaSeries); mavResultChart.Series.Add(wmaSeries); mavResultChart.Series.Add(emaSeries); mavResultChart.Invalidate(); mavResultPanel.BringToFront(); }