private void btnLoadSecDB_Click(object sender, EventArgs e) { using (var fs = new LocalFileSystem()) { var sdb = new SecDBFileReader(fs, new FileSystemSessionConnectParams(), tbSecDBFile.Text); Text = "Exchange: {0}, Origin time: {1}, {2}".Args(sdb.SystemHeader.Exchange, sdb.SystemHeader.Date + sdb.SystemHeader.OriginLocalTimeOffset, sdb.SystemHeader.OriginLocalTimeName); MessageBox.Show(sdb.Headers.ToJSON()); m_Data = new CandleTimeSeries("From file", 0); m_Data.YLevels.Register(new TimeSeries.YLevel("LAST_PRICE", 0) { Value = 0f }); //, HLineStyle = new LineStyle{Color=Color.Red}}); m_Data.Views.Register(new CandleView("Candles", 0) { ShowYLevels = true, ShowBalloons = true }); m_Data.Views.Register(new CandleBuySellView("BuySell", 0) { }); m_Data.Views.Register( new CandleMidLineView("MidLineHiLo", 1) { MidLineType = MidLineType.HighLow, LineStyle = new LineStyle { Color = Color.FromArgb(200, 255, 0, 0), Width = 2 } }); m_Data.Views.Register( new CandleMidLineView("MidLineOpCl1", 2) { MidLineType = MidLineType.OpenClose, LineStyle = new LineStyle { Color = Color.FromArgb(200, 50, 0, 200), Width = 1.5f, DashStyle = System.Drawing.Drawing2D.DashStyle.Dot } }); m_Data.MaxSamples = 100000; var data = sdb.GetCandleDataAsCandleSamples(sdb.CandlesMetadata.Resolutions.Min()); data.ForEach(s => m_Data.Add(s)); m_Data.YLevels["LAST_PRICE"].Value = m_Data.DataReveresed.First().ClosePrice; m_Data.YLevels.Register(new TimeSeries.YLevel("Lo", 0) { Value = m_Data.Data.Min(cs => cs.LowPrice), AffectsScale = false, HLineStyle = new LineStyle { Color = Color.Red, Width = 2 } }); m_Data.YLevels.Register(new TimeSeries.YLevel("Hi", 0) { Value = m_Data.Data.Max(cs => cs.HighPrice), AffectsScale = false, HLineStyle = new LineStyle { Color = Color.Blue, Width = 2 } }); m_Data.Views.Register(new CandleView("Candles2", 0, "MLPane") { BlackWhite = true, ShowBalloons = true }); m_Data.Views.Register( new CandleMidLineView("MidLineOpCl2", 1, "MLPane") { MidLineType = MidLineType.OpenClose, ShowYLevels = true, LineStyle = new LineStyle { Color = Color.FromArgb(200, 255, 180, 0), Width = 3f } }); chart.Series = m_Data; //chart.NotifySeriesChange(); } }
private void btnLoadSecDB_Click(object sender, EventArgs e) { using(var fs = new LocalFileSystem()) { var sdb = new SecDBFileReader(fs, new FileSystemSessionConnectParams(), tbSecDBFile.Text); Text = "Exchange: {0}, Origin time: {1}, {2}".Args(sdb.SystemHeader.Exchange, sdb.SystemHeader.Date+sdb.SystemHeader.OriginLocalTimeOffset, sdb.SystemHeader.OriginLocalTimeName); MessageBox.Show( sdb.Headers.ToJSON() ); m_Data = new CandleTimeSeries("From file", 0); m_Data.YLevels.Register( new TimeSeries.YLevel("LAST_PRICE", 0){Value = 0f});//, HLineStyle = new LineStyle{Color=Color.Red}}); m_Data.Views.Register( new CandleView("Candles", 0){ ShowYLevels = true, ShowBalloons = true } ); m_Data.Views.Register( new CandleBuySellView("BuySell", 0){} ); m_Data.Views.Register( new CandleMidLineView("MidLineHiLo", 1) { MidLineType = MidLineType.HighLow, LineStyle = new LineStyle{ Color = Color.FromArgb(200, 255, 0,0), Width = 2} }); m_Data.Views.Register( new CandleMidLineView("MidLineOpCl1", 2) { MidLineType = MidLineType.OpenClose, LineStyle = new LineStyle{ Color = Color.FromArgb(200, 50, 0, 200), Width = 1.5f, DashStyle = System.Drawing.Drawing2D.DashStyle.Dot} }); m_Data.MaxSamples = 100000; var data = sdb.GetCandleDataAsCandleSamples( sdb.CandlesMetadata.Resolutions.Min() ); data.ForEach( s => m_Data.Add( s )); m_Data.YLevels["LAST_PRICE"].Value = m_Data.DataReveresed.First().ClosePrice; m_Data.YLevels.Register( new TimeSeries.YLevel("Lo", 0){Value = m_Data.Data.Min(cs=>cs.LowPrice), AffectsScale = false, HLineStyle = new LineStyle{Color=Color.Red, Width =2}}); m_Data.YLevels.Register( new TimeSeries.YLevel("Hi", 0){Value = m_Data.Data.Max(cs=>cs.HighPrice), AffectsScale = false, HLineStyle = new LineStyle{Color=Color.Blue, Width =2}}); m_Data.Views.Register( new CandleView("Candles2", 0, "MLPane"){ BlackWhite = true, ShowBalloons = true}); m_Data.Views.Register( new CandleMidLineView("MidLineOpCl2", 1, "MLPane") { MidLineType = MidLineType.OpenClose, ShowYLevels = true, LineStyle = new LineStyle{ Color = Color.FromArgb(200, 255, 180, 0), Width = 3f} }); chart.Series = m_Data; //chart.NotifySeriesChange(); } }