public DataSeriesObject(IDataSeries series, DateTime dateTime1, DateTime dateTime2, EventQueue dataQueue, DataProcessor processor)
{
this.queue = new EventQueue(EventQueueId.All, EventQueueType.Master, EventQueuePriority.Normal, 128, null);
this.series = series;
this.dataQueue = dataQueue;
this.processor = processor ?? new DataProcessor();
this.index1 = dateTime1 == DateTime.MinValue || dateTime1 < series.DateTime1 ? 0 : series.GetIndex(dateTime1, SearchOption.Next);
this.index2 = dateTime2 == DateTime.MaxValue || dateTime2 > series.DateTime2 ? series.Count - 1 : series.GetIndex(dateTime2, SearchOption.Prev);
this.current = this.index1;
this.delta = (int)Math.Ceiling((this.index2 - this.index1 + 1) / 100.0);
this.count = this.delta;
this.percent = 0;
}