public ChartComponentDrawer(Control control, ChartComponentController compDataController) { this.control = control; this.compDataController = compDataController; this.compData = compDataController.ChartComponentData; this.compDataController.OnDataChanged += CompDataController_OnDataChanged; this.Init(); }
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; }
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; }
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); }
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) }