コード例 #1
0
ファイル: ChartForm.cs プロジェクト: uzbekdev1/nfx
        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();
            }
        }
コード例 #2
0
ファイル: ChartForm.cs プロジェクト: vlapchenko/nfx
        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();
              }
        }