Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }