internal DataSeriesObject(IDataSeries series, DateTime dateTime1, DateTime dateTime2, EventQueue queue, DataProcessor processor)
 {
     this.series = series;
     eventQueue = queue;
     if (processor == null)
     {
         this.processor = new DataProcessor();
     }
     else
     {
         this.processor = processor;
     }
     if (!(dateTime1 == DateTime.MinValue) && (dateTime1 >= series.DateTime1))
     {
         index1 = series.GetIndex(dateTime1, SearchOption.Next);
     }
     else
     {
         index1 = 0L;
     }
     if (!(dateTime2 == DateTime.MaxValue) && (dateTime2 <= series.DateTime2))
     {
         index2 = series.GetIndex(dateTime2);
     }
     else
     {
         index2 = series.Count - 1L;
     }
     current = index1;
     progressDelta = (int)Math.Ceiling(Count() / 100.0);
     progressCount = progressDelta;
     progressPercent = 0;
 }
 public FileDataSimulator(Framework framework)
     : base(framework)
 {
     if (Environment.Is64BitProcess)
     {
         SevenZipBase.SetLibraryPath("7z64.dll");
     }
     else
     {
         SevenZipBase.SetLibraryPath("7z.dll");
     }
     RunOnSubscribe = true;
     id = 50;
     name = "QBDataSimulator";
     description = "QuantBox Data Simulator";
     url = "www.smartquant.cn";
     _barFilter = new BarFilter();
     SubscribeAsk = true;
     SubscribeBid = true;
     SubscribeTrade = true;
     Series = new List<IDataSeries>();
     Processor = new DataProcessor();
     DateTime1 = DateTime.MinValue;
     DateTime2 = DateTime.MaxValue;
 }