public override void ApplyTo(StockSerie stockSerie)
        {
            FloatSerie rocSerie = (
             stockSerie.CalculateRateOfRise((int)this.parameters[0]) + stockSerie.CalculateRateOfDecline((int)this.parameters[0]) +
             stockSerie.CalculateRateOfRise((int)this.parameters[1]) + stockSerie.CalculateRateOfDecline((int)this.parameters[1]) +
             stockSerie.CalculateRateOfRise((int)this.parameters[2]) + stockSerie.CalculateRateOfDecline((int)this.parameters[2])).CalculateEMA((int)this.parameters[3]);
             FloatSerie signalSerie = rocSerie.CalculateEMA((int)this.parameters[4]);

             this.series[0] = rocSerie;
             this.Series[0].Name = this.Name;

             this.series[1] = signalSerie;
             this.Series[1].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] > signalSerie[i]);
            this.eventSeries[3][i] = (rocSerie[i] < signalSerie[i]);
            this.eventSeries[4][i] = (rocSerie[i] >= 0);
            this.eventSeries[5][i] = (rocSerie[i] < 0);
            this.eventSeries[6][i] = (rocSerie[i] > signalSerie[i]) && (rocSerie[i - 1] < signalSerie[i - 1]);
            this.eventSeries[7][i] = (rocSerie[i] < signalSerie[i]) && (rocSerie[i - 1] > signalSerie[i - 1]);
             }
        }