Beispiel #1
0
        public override DataObjectEditor GetEditor()
        {
            BarEditor barEditor = new BarEditor();
            BarType   barType;
            long      barSize;

            if (!DataSeriesNameHelper.TryGetBarTypeSize(this.dataSeries, out barType, out barSize))
            {
                barType = BarType.Time;
                barSize = 0L;
            }
            barEditor.InitBarSettings(barType, barSize);
            return((DataObjectEditor)barEditor);
        }
        public static string Convert(DataSeries series)
        {
            byte dataType = DataSeriesNameHelper.GetDataType(series);

            if ((int)dataType != 6)
            {
                return(DataTypeConverter.Convert(dataType, new BarType?(), new long?()));
            }
            BarType barType;
            long    barSize;

            if (DataSeriesNameHelper.TryGetBarTypeSize(series, out barType, out barSize))
            {
                return(DataTypeConverter.Convert(dataType, new BarType?(barType), new long?(barSize)));
            }
            return(string.Empty);
        }
        void LoadDataSeriesDetail(DataSeries dataSeries)
        {
            byte    dataType = DataSeriesNameHelper.GetDataType(dataSeries);
            BarType barType;
            long    barSize;

            DataSeriesNameHelper.TryGetBarTypeSize(dataSeries, out barType, out barSize);

            var model = new TreeStore(typeof(string), typeof(double), typeof(double));

            for (int i = 0; i < dataSeries.Count; ++i)
            {
                var item = dataSeries[i];
                switch (dataType)
                {
                case DataObjectType.Bid:
                    Bid bid = (Bid)item;
                    model.AppendValues(bid.DateTime, bid.Price, bid.Size);
                    break;

                case DataObjectType.Ask:
                    Ask ask = (Ask)item;
                    model.AppendValues(ask.DateTime, ask.Price, ask.Size);
                    break;

                case  DataObjectType.Trade:
                    Trade trade = (Trade)item;
                    model.AppendValues(trade.DateTime, trade.Price, trade.Size);
                    break;

                case  DataObjectType.Quote:
                    Quote quote = (Quote)item;
                    model.AppendValues(quote.DateTime, quote.Ask.Price, quote.Ask.Size);
                    break;

                case  DataObjectType.Bar:
                    Bar bar = (Bar)item;
                    model.AppendValues(bar.DateTime, bar.Close, bar.Size);
                    break;
                }
            }

            detailTvw.Model = model;
        }
Beispiel #4
0
 private void InitDataSeriesList()
 {
     this.ltvDataSeries.BeginUpdate();
     this.ltvDataSeries.Items.Clear();
     foreach (DataSeries dataSeries in this.framework.DataManager.GetDataSeriesList(this.instrument, (string)null))
     {
         byte dataType = DataSeriesNameHelper.GetDataType(dataSeries);
         if ((int)dataType == 6)
         {
             BarType barType;
             long    barSize;
             if (DataSeriesNameHelper.TryGetBarTypeSize(dataSeries, out barType, out barSize))
             {
                 this.ltvDataSeries.Items.Add((ListViewItem) new DataSeriesViewItem(dataSeries, dataType, new BarType?(barType), new long?(barSize)));
             }
         }
         else
         {
             this.ltvDataSeries.Items.Add((ListViewItem) new DataSeriesViewItem(dataSeries, dataType, new BarType?(), new long?()));
         }
     }
     this.ltvDataSeries.EndUpdate();
 }
        public InstrumentDataWidget(string symbol)
        {
            Build();
            // dsTvw.CursorChanged += HandleCursorChanged;
            dsTvw.Selection.Changed += HandleChanged;
            dsTvw.AppendColumn("Data Series", new CellRendererText(), "text", 0);
            dsTvw.AppendColumn("Object Count", new CellRendererText(), "text", 1);
            dsTvw.AppendColumn("First DateTime", new CellRendererText(), "text", 2);
            dsTvw.AppendColumn("Last DateTime", new CellRendererText(), "text", 3);
            dsTvw.HeadersVisible = true;

            detailTvw.AppendColumn("DateTime", new CellRendererText(), "text", 0);
            detailTvw.AppendColumn("Price", new CellRendererText(), "text", 0);
            detailTvw.AppendColumn("Size", new CellRendererText(), "text", 0);
            detailTvw.HeadersVisible = true;

            mapping = new Dictionary <TreeIter, DataSeries>();
            var model = new TreeStore(typeof(string), typeof(long), typeof(string), typeof(string));

            dsTvw.Model     = model;
            detailModel     = new TreeStore(typeof(string), typeof(double), typeof(double));
            detailTvw.Model = detailModel;

            var f = Framework.Current;

            this.instrument = f.InstrumentManager.Get(symbol);
            foreach (var ds in f.DataManager.GetDataSeriesList(this.instrument, null))
            {
                byte    dataType = DataSeriesNameHelper.GetDataType(ds);
                BarType barType;
                long    barSize;
                DataSeriesNameHelper.TryGetBarTypeSize(ds, out barType, out barSize);
                var name = GetSeriesName(dataType, barType, barSize);
                var iter = model.AppendValues(name, ds.Count, ds.DateTime1.ToString(), ds.DateTime2.ToString());
                mapping.Add(iter, ds);
            }
        }
Beispiel #6
0
        private void Init()
        {
            this.seriesLists.Clear();
            foreach (Instrument instrument in this.framework.InstrumentManager.Instruments)
            {
                foreach (DataSeries dataSeries in this.framework.DataManager.GetDataSeriesList(instrument, (string)null))
                {
                    byte         dataType     = DataSeriesNameHelper.GetDataType(dataSeries);
                    DataTypeItem dataTypeItem = (DataTypeItem)null;
                    if ((int)dataType == 6)
                    {
                        BarType barType;
                        long    barSize;
                        if (DataSeriesNameHelper.TryGetBarTypeSize(dataSeries, out barType, out barSize))
                        {
                            dataTypeItem = new DataTypeItem(dataType, new BarType?(barType), new long?(barSize));
                        }
                    }
                    else
                    {
                        dataTypeItem = new DataTypeItem(dataType, new BarType?(), new long?());
                    }
                    if (dataTypeItem != null)
                    {
                        List <InstrumentDataSeries> list;
                        if (!this.seriesLists.TryGetValue(dataTypeItem, out list))
                        {
                            list = new List <InstrumentDataSeries>();
                            this.seriesLists.Add(dataTypeItem, list);
                        }
                        list.Add(new InstrumentDataSeries(instrument, dataSeries, dataTypeItem));
                    }
                }
            }
            string           str     = this.trvDataTypes.SelectedNode == null ? (string)null : this.trvDataTypes.SelectedNode.Text;
            HashSet <string> hashSet = new HashSet <string>();

            foreach (ListViewItem listViewItem in this.ltvDataSeries.SelectedItems)
            {
                hashSet.Add(listViewItem.Text);
            }
            this.trvDataTypes.BeginUpdate();
            this.trvDataTypes.Nodes.Clear();
            foreach (DataTypeItem dataTypeItem in (IEnumerable <DataTypeItem>) this.seriesLists.Keys)
            {
                this.trvDataTypes.Nodes.Add((TreeNode) new DataTypeNode(dataTypeItem));
            }
            this.trvDataTypes.EndUpdate();
            this.UpdateDataSeriesList((DataTypeItem)null);
            if (str == null)
            {
                return;
            }
            foreach (TreeNode treeNode in this.trvDataTypes.Nodes)
            {
                if (treeNode.Text == str)
                {
                    this.trvDataTypes.SelectedNode = treeNode;
                    if (hashSet.Count <= 0)
                    {
                        break;
                    }
                    IEnumerator enumerator = this.ltvDataSeries.Items.GetEnumerator();
                    try
                    {
                        while (enumerator.MoveNext())
                        {
                            ListViewItem listViewItem = (ListViewItem)enumerator.Current;
                            if (hashSet.Contains(listViewItem.Text))
                            {
                                listViewItem.Selected = true;
                            }
                        }
                        break;
                    }
                    finally
                    {
                        IDisposable disposable = enumerator as IDisposable;
                        if (disposable != null)
                        {
                            disposable.Dispose();
                        }
                    }
                }
            }
        }