public override void ApplyTo(StockSerie stockSerie) { FloatSerie rocSerie = stockSerie.CalculateRateOfChange((int)this.parameters[0]); FloatSerie slowSerie = rocSerie.CalculateEMA((int)this.parameters[1]); this.series[0] = slowSerie; this.Series[0].Name = this.Name; // Detecting events this.CreateEventSeries(stockSerie.Count); for (int i = 2; i < stockSerie.Count; i++) { this.eventSeries[0][i] = (rocSerie[i - 2] < rocSerie[i - 1] && rocSerie[i - 1] > rocSerie[i]); this.eventSeries[1][i] = (rocSerie[i - 2] > rocSerie[i - 1] && rocSerie[i - 1] < rocSerie[i]); this.eventSeries[2][i] = (rocSerie[i - 1] < 0 && rocSerie[i] >= 0); this.eventSeries[3][i] = (rocSerie[i - 1] > 0 && rocSerie[i] <= 0); } }