private void ReadFromFile(string pathChosen) { strCurrentFilePath = pathChosen; Tuple <Stream, string, double> tuple = ReadToStream(strCurrentFilePath); if (tuple == null) { return; } Stream stream = tuple.Item1; try { QuantBox.Data.Serializer.PbTickSerializer pts = new QuantBox.Data.Serializer.PbTickSerializer(); listTickData = pts.Read(stream).ToList(); strCurrentFileName = string.Format("{0} ({1}/{2}={3})", tuple.Item2, tuple.Item3, listTickData.Count(), tuple.Item3 / listTickData.Count()); ValueChanged(false); PbTickCodec Codec = new PbTickCodec(); listTickView = Codec.Data2View(this.listTickData, true); dgvTick.DataSource = this.listTickView; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private static List <PbTickView> ReadFromFile(string pathChosen) { Tuple <Stream, string, double> tuple = ReadToStream(pathChosen); IEnumerable <PbTick> listTickData; List <PbTickView> listTickView; if (tuple == null) { return(null); } Stream stream = tuple.Item1; try { QuantBox.Data.Serializer.PbTickSerializer pts = new QuantBox.Data.Serializer.PbTickSerializer(); listTickData = pts.Read(stream); PbTickCodec Codec = new PbTickCodec(); listTickView = Codec.Data2View(listTickData, true); return(listTickView); } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(null); } }
private void menuView_Convert_Click(object sender, EventArgs e) { ViewToDataByViewType(); SingleCheck(sender); PbTickCodec Codec = new PbTickCodec(); listTickView = Codec.Data2View(Codec.Restore(this.listTickData), false); dgvTick.DataSource = listTickView; dgvTick.CurrentCell = dgvTick.Rows[RowIndex].Cells[ColumnIndex]; if (Selected) { dgvTick.CurrentRow.Selected = Selected; } dgvTick.FirstDisplayedScrollingRowIndex = FirstDisplayedScrollingRowIndex; dgvTick.HorizontalScrollingOffset = HorizontalScrollingOffset; }
private DepthMarketDataField PbTick2DepthMarketDataField(PbTickCodec codec, PbTick tick) { PbTickView tickView = codec.Data2View(tick, false); DepthMarketDataField marketData = default(DepthMarketDataField); codec.GetUpdateTime(tick, out marketData.UpdateTime, out marketData.UpdateMillisec); marketData.TradingDay = tickView.TradingDay; marketData.ActionDay = tickView.ActionDay; marketData.LastPrice = tickView.LastPrice; marketData.Volume = tickView.Volume; marketData.Turnover = tickView.Turnover; marketData.OpenInterest = tickView.OpenInterest; marketData.AveragePrice = tickView.AveragePrice; if (tickView.Bar != null) { marketData.OpenPrice = tickView.Bar.Open; marketData.HighestPrice = tickView.Bar.High; marketData.LowestPrice = tickView.Bar.Low; marketData.ClosePrice = tickView.Bar.Close; } if (tickView.Static != null) { marketData.LowerLimitPrice = tickView.Static.LowerLimitPrice; marketData.UpperLimitPrice = tickView.Static.UpperLimitPrice; marketData.SettlementPrice = tickView.Static.SettlementPrice; marketData.Symbol = tickView.Static.Symbol; if (!string.IsNullOrWhiteSpace(tickView.Static.Exchange)) { marketData.Exchange = Enum <ExchangeType> .Parse(tickView.Static.Exchange); } } int count = tickView.DepthList == null ? 0 : tickView.DepthList.Count; if (count > 0) { int AskPos = DepthListHelper.FindAsk1Position(tickView.DepthList, tickView.AskPrice1); int BidPos = AskPos - 1; int _BidPos = BidPos; if (_BidPos >= 0) { marketData.BidPrice1 = tickView.DepthList[_BidPos].Price; marketData.BidVolume1 = tickView.DepthList[_BidPos].Size; --_BidPos; if (_BidPos >= 0) { marketData.BidPrice2 = tickView.DepthList[_BidPos].Price; marketData.BidVolume2 = tickView.DepthList[_BidPos].Size; --_BidPos; if (_BidPos >= 0) { marketData.BidPrice3 = tickView.DepthList[_BidPos].Price; marketData.BidVolume3 = tickView.DepthList[_BidPos].Size; --_BidPos; if (_BidPos >= 0) { marketData.BidPrice4 = tickView.DepthList[_BidPos].Price; marketData.BidVolume4 = tickView.DepthList[_BidPos].Size; --_BidPos; if (_BidPos >= 0) { marketData.BidPrice5 = tickView.DepthList[_BidPos].Price; marketData.BidVolume5 = tickView.DepthList[_BidPos].Size; } } } } } int _AskPos = AskPos; if (_AskPos < count) { marketData.AskPrice1 = tickView.DepthList[_AskPos].Price; marketData.AskVolume1 = tickView.DepthList[_AskPos].Size; ++_AskPos; if (_AskPos < count) { marketData.AskPrice2 = tickView.DepthList[_AskPos].Price; marketData.AskVolume2 = tickView.DepthList[_AskPos].Size; ++_AskPos; if (_AskPos < count) { marketData.AskPrice3 = tickView.DepthList[_AskPos].Price; marketData.AskVolume3 = tickView.DepthList[_AskPos].Size; ++_AskPos; if (_AskPos < count) { marketData.AskPrice4 = tickView.DepthList[_AskPos].Price; marketData.AskVolume4 = tickView.DepthList[_AskPos].Size; ++_AskPos; if (_AskPos < count) { marketData.AskPrice5 = tickView.DepthList[_AskPos].Price; marketData.AskVolume5 = tickView.DepthList[_AskPos].Size; } } } } } } return(marketData); }