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(); }
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); }
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 = "-"; } }
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(); }
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); } }
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(); }