Exemple #1
0
 public ChartComponentDrawer(Control control, ChartComponentController compDataController)
 {
     this.control            = control;
     this.compDataController = compDataController;
     this.compData           = compDataController.ChartComponentData;
     this.compDataController.OnDataChanged += CompDataController_OnDataChanged;
     this.Init();
 }
Exemple #2
0
        public void Init(IDataCenter dataCenter, string code, double time, KLinePeriod klinePeriod)
        {
            this.dataCenter = dataCenter;
            IDataNavigate      dataNavigater  = dataCenter.DataNavigateFactory.CreateDataNavigate(code, time);
            IKLineData         klineData      = dataNavigater.GetKLineData(klinePeriod);
            int                showKLineIndex = klineData.BarPos;
            ChartComponentData compData       = new ChartComponentData(code, time, klinePeriod, showKLineIndex);

            this.controller = new ChartComponentController(dataNavigater, compData);
            this.drawer     = new ChartComponentDrawer(this, controller);
            //this.drawer.GraphicData_Candle.OnGraphicDataChange += GraphicData_Candle_OnGraphicDataChange;
            this.drawer.GraphicDrawer.AfterGraphicPaint += GraphicDrawer_AfterGraphicPaint;
        }
Exemple #3
0
        public void Init(ChartComponentController value)
        {
            if (value == null)
            {
                return;
            }
            this.Clear();
            this.chartComponentController = value;
            ITickData   tickData    = GetTickData();
            CurrentInfo currentInfo = GetCurrentInfo(tickData);

            this.graphicData_CurrentInfo = new GraphicData_CurrentInfo(currentInfo, tickData);
            this.drawer = new GraphicDrawer_CurrentInfo();
            this.drawer.DataProvider = this.graphicData_CurrentInfo;
            this.drawer.BindControl(this);
            this.chartComponentController.OnDataChanged += ChartComponentController_OnDataChanged;
        }
Exemple #4
0
        public void TestController()
        {
            string                   code           = "rb1710";
            double                   time           = 20170601.093055;
            KLinePeriod              klinePeriod    = KLinePeriod.KLinePeriod_1Minute;
            IDataNavigate            dataNavigater  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate(code, time);
            IKLineData               klineData      = dataNavigater.GetKLineData(klinePeriod);
            int                      showKLineIndex = klineData.BarPos;
            ChartComponentData       compData       = new ChartComponentData(code, time, klinePeriod, showKLineIndex);
            ChartComponentController controller     = new ChartComponentController(dataNavigater, compData);

            IRealTimeData_Code reader       = controller.CurrentRealTimeDataReader_Code;
            IKLineData         currentKLine = reader.GetKLineData(klinePeriod);

            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change("rb1801");
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change(code);
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);
            controller.ChangeChartType(ChartType.TimeLine);
            Console.WriteLine(compData);

            controller.Change(20170601.100531);
            controller.ChangeChartType(ChartType.KLine);
            Console.WriteLine(reader.GetKLineData(compData.KlinePeriod));
            Console.WriteLine(compData);

            controller.Change("rb1801", 20171014.093000, KLinePeriod.KLinePeriod_1Minute);
            Console.WriteLine(compData);
        }
Exemple #5
0
        public void TestPlay()
        {
            string                   code           = "rb1710";
            double                   time           = 20170601.093055;
            IDataNavigate            dataNavigater  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate(code, time);
            KLinePeriod              klinePeriod    = KLinePeriod.KLinePeriod_1Minute;
            IKLineData               klineData      = dataNavigater.GetKLineData(klinePeriod);
            int                      showKLineIndex = klineData.BarPos;
            ChartComponentData       compData       = new ChartComponentData(code, time, klinePeriod, showKLineIndex);
            ChartComponentController controller     = new ChartComponentController(dataNavigater, compData);

            controller.OnDataChanged += Controller_OnDataChanged;
            //controller.Play();
            //while (controller.IsPlayIng)
            //{

            //}

            //while(time<2017)
        }