Esempio n. 1
0
        protected override void OnInit()
        {
            this.instrument = this.Key as Instrument;
            DataSeriesList dataSeries = this.instrument.GetDataSeries();

            this.template = Global.ChartManager.Templates["Default Template"];
            this.Text     = "Chart [" + ((FIXInstrument)this.instrument).Symbol + "]";
            this.instrumentListSource.AddInstrument(this.instrument);
            this.instrumentListSource.SelectedInstrument = this.instrument;
            IEnumerator enumerator = dataSeries.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    IDataSeries idataSeries = (IDataSeries)enumerator.Current;
                    string      key         = DataSeriesHelper.SeriesNameToString(idataSeries.Name);
                    if (key.StartsWith("Bar") || key == "Daily")
                    {
                        this.seriesNames.Add(key, idataSeries.Name);
                        this.instrumentListSource.AddSeries(this.instrument, new BarSeries(key));
                    }
                }
            }
            finally
            {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            this.instrumentListSource.Refresh();
        }
Esempio n. 2
0
        protected override void OnInit()
        {
            BarSeries barSeries = new BarSeries(DataSeriesHelper.SeriesNameToString(this.dataSeries.Name));

            foreach (Bar bar in (IEnumerable)this.dataSeries)
            {
                barSeries.Add(bar);
            }
            this.chart.ApplyDefaultTemplate();
            this.chart.SetMainSeries((DoubleSeries)barSeries, true);
        }
Esempio n. 3
0
 public void Update()
 {
     if (this.dataSeries.Count == this.objectsCount)
     {
         return;
     }
     this.objectsCount     = this.dataSeries.Count;
     this.SubItems[0].Text = DataSeriesHelper.SeriesNameToString(this.dataSeries.Name);
     this.SubItems[1].Text = this.dataSeries.Count.ToString("n0");
     if (this.dataSeries.Count > 0)
     {
         this.SubItems[2].Text = this.dataSeries.FirstDateTime.ToString();
         this.SubItems[3].Text = this.dataSeries.LastDateTime.ToString();
     }
     else
     {
         this.SubItems[2].Text = "-";
         this.SubItems[3].Text = "-";
     }
 }
Esempio n. 4
0
 public ExportTaskViewItem(ExportTask task) : base(new string[4])
 {
     this.Task             = task;
     this.SubItems[0].Text = string.Format("{0} {1}", (object)DataSeriesHelper.GetDataSeriesInfo(task.DataSeries.Name).Symbol, (object)DataSeriesHelper.SeriesNameToString(task.DataSeries.Name));
     this.SubItems[1].Text = task.OutputFileName;
     this.UpdateState();
 }
Esempio n. 5
0
        private void DoExport(ExportSettings settings, ExportTask task)
        {
            try
            {
                IDataSeries dataSeries = task.DataSeries;
                FileInfo    fileInfo   = new FileInfo(string.Format("{0}\\{1}", (object)settings.Directory.FullName, (object)task.OutputFileName));
                DataType    dataType   = DataSeriesHelper.GetDataSeriesInfo(dataSeries.Name).DataType;
                task.State = ExportTaskState.Exporting;
                this.UpdateTaskState(task);
                this.SetLabelText(this.lblCurrentProgress, string.Format("{0} {1} -> {2}", (object)DataSeriesHelper.GetDataSeriesInfo(dataSeries.Name).Symbol, (object)DataSeriesHelper.SeriesNameToString(dataSeries.Name), (object)fileInfo.FullName));
                this.SetProgressValue(this.pgbCurrent, 0);
                Thread.Sleep(0);
                DataExporter dataExporter;
                switch (dataType)
                {
                case DataType.Trade:
                    dataExporter = (DataExporter) new TradeExporter();
                    break;

                case DataType.Quote:
                    dataExporter = (DataExporter) new QuoteExporter();
                    break;

                case DataType.Bar:
                    dataExporter = (DataExporter) new BarExporter();
                    break;

                case DataType.Daily:
                    dataExporter = (DataExporter) new DailyExporter();
                    break;

                default:
                    throw new NotSupportedException(string.Format("Insupported data type - {0}", (object)dataType));
                }
                StreamWriter streamWriter = new StreamWriter(fileInfo.FullName);
                streamWriter.WriteLine(this.ToString(dataExporter.GetHeader()));
                int num1 = 0;
                int num2 = 0;
                for (int index = 0; index < dataSeries.Count; ++index)
                {
                    IDataObject idataObject = dataSeries[index] as IDataObject;
                    if (!this.pendingCancel)
                    {
                        DateTime dateTime = idataObject.DateTime;
                        if (!(dateTime < settings.RangeBegin) && !(dateTime > settings.RangeEnd))
                        {
                            streamWriter.WriteLine(this.ToString(dataExporter.DataObjectToString(idataObject)));
                        }
                        ++num1;
                        int num3 = (int)((long)num1 * 100L / (long)dataSeries.Count);
                        if (num3 > num2)
                        {
                            num2 = num3;
                            this.SetProgressValue(this.pgbCurrent, num2);
                        }
                        Thread.Sleep(0);
                    }
                    else
                    {
                        break;
                    }
                }
                streamWriter.Close();
                if (this.pendingCancel)
                {
                    task.State = ExportTaskState.Error;
                    task.Text  = "Aborted";
                }
                else
                {
                    task.State = ExportTaskState.Done;
                    task.Text  = "Completed";
                }
                this.UpdateTaskState(task);
            }
            catch (Exception ex)
            {
                task.State = ExportTaskState.Error;
                task.Text  = ((object)ex).ToString();
                this.UpdateTaskState(task);
            }
        }
Esempio n. 6
0
        public void Init(IDataSeries[] seriesList)
        {
            this.ltvExportTasks.BeginUpdate();
            this.ltvExportTasks.Items.Clear();
            foreach (IDataSeries dataSeries in seriesList)
            {
                string str = DataSeriesHelper.GetDataSeriesInfo(dataSeries.Name).Symbol;
                foreach (char oldChar in Path.GetInvalidFileNameChars())
                {
                    str = str.Replace(oldChar, '_');
                }
                string             outputFileName     = string.Format("{0}.{1}.csv", (object)str, (object)DataSeriesHelper.SeriesNameToString(dataSeries.Name));
                ExportTask         exportTask         = new ExportTask(dataSeries, outputFileName);
                ExportTaskViewItem exportTaskViewItem = new ExportTaskViewItem(exportTask);
                this.taskItems.Add(exportTask, exportTaskViewItem);
                this.ltvExportTasks.Items.Add((ListViewItem)exportTaskViewItem);
            }
            this.ltvExportTasks.EndUpdate();
            this.lblCurrentProgress.Text = "";
            this.pgbTotal.Maximum        = seriesList.Length;
            List <DateTime> list = new List <DateTime>();

            foreach (IDataSeries idataSeries in seriesList)
            {
                if (idataSeries.Count > 0)
                {
                    list.Add(idataSeries.FirstDateTime);
                    list.Add(idataSeries.LastDateTime);
                }
            }
            if (list.Count == 0)
            {
                this.dtpRangeBegin.Value = DateTime.Today;
                this.dtpRangeEnd.Value   = DateTime.Today;
            }
            else
            {
                this.dtpRangeBegin.Value = Enumerable.Min <DateTime>((IEnumerable <DateTime>)list).Date;
                this.dtpRangeEnd.Value   = Enumerable.Max <DateTime>((IEnumerable <DateTime>)list).Date;
            }
            this.OnExportRangeChanged();
        }