public BarSeries Compress(DataEntryEnumerator enumerator) { enumerator.TimeRangeSelector = _timeRangeSelector; BarSeries series = new BarSeries(DataSeriesNameHelper.GetName(inst, DataObjectType.Bar, BarType.Time, newBarSize)); NewCompressedBar += delegate(object sender, CompressedBarEventArgs args) { series.Add(args.Bar); }; while (enumerator.MoveNext()) { Add(enumerator.Current); } Flush(); return(series); }
private void NewDataSeries(byte dataType, BarType?barType, long?barSize) { string name = (int)dataType == 6 ? DataSeriesNameHelper.GetName(this.instrument, barType.Value, barSize.Value) : DataSeriesNameHelper.GetName(this.instrument, dataType); if (this.framework.DataServer.GetDataSeries(name) == null) { this.framework.DataServer.AddDataSeries(name); this.InitDataSeriesList(); this.InitDataSeriesViewer(); } else { int num = (int)MessageBox.Show((IWin32Window)this, "The series already exists.", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private static void EnsureDataReady() { var f = Framework.Current; var i = f.InstrumentManager.Get(symbol); if (i == null) { i = new Instrument(InstrumentType.FX, symbol, string.Empty, CurrencyId.USD); f.InstrumentManager.Add(i, true); } var filename = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..", "..", "..", "Data", string.Format("{0}.csv", symbol))); if (File.Exists(filename)) { var name = DataSeriesNameHelper.GetName(i, BarType.Time, 60); var bs = new BarSeries(name); using (var reader = new StreamReader(filename)) { var line = reader.ReadLine(); while (line != null) { var fields = line.Split(new char[] { ',' }); var closeDateTime = DateTime.ParseExact(string.Format("{0} {1}", fields [0], fields [1]), "yyyy.MM.dd HH:mm", CultureInfo.InvariantCulture); var openDateTime = closeDateTime.Subtract(TimeSpan.FromMinutes(1)); var open = double.Parse(fields [2]); var high = double.Parse(fields [3]); var low = double.Parse(fields [4]); var close = double.Parse(fields [5]); var vol = long.Parse(fields [6]); bs.Add(new Bar(openDateTime, closeDateTime, i.Id, BarType.Time, 60, open, high, low, close, vol, 0)); line = reader.ReadLine(); } } f.DataManager.Save(bs, SaveMode.Add); } }