public ChartComponentController(IDataNavigate dataNavigater, ChartComponentData ChartComponentData) { this.chartComponentData = ChartComponentData; this.prevChartComponentData = (ChartComponentData)ChartComponentData.Clone(); this.currentNavigater = dataNavigater; this.currentNavigater.OnNavigateTo += CurrentNavigater_OnNavigateTo; }
public Object Clone() { ChartComponentData compData = new ChartComponentData(this.code, this.time, this.klinePeriod, this.showKLineIndex); compData.chartType = this.chartType; return(compData); }
public ChartComponentData(ChartComponentData compData) { this.code = compData.code; this.time = compData.time; this.chartType = compData.chartType; this.klinePeriod = compData.klinePeriod; this.showKLineIndex = compData.showKLineIndex; }
public ChartComponentDrawer(Control control, ChartComponentController compDataController) { this.control = control; this.compDataController = compDataController; this.compData = compDataController.ChartComponentData; this.compDataController.OnDataChanged += CompDataController_OnDataChanged; this.Init(); }
public override bool Equals(object obj) { if (!(obj is ChartComponentData)) { return(false); } ChartComponentData compData = (ChartComponentData)obj; return(Object.Equals(this.code, compData.code) && this.time == compData.time && this.chartType == compData.chartType && this.klinePeriod == compData.klinePeriod && this.showKLineIndex == compData.showKLineIndex); }
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; }
private void GraphicDrawer_AfterGraphicPaint(object sender, GraphicRefreshArgs e) { if (OnChartRefresh != null) { OnChartRefresh(this, new ChartComponentRefreshArguments(prevCompData, controller.ChartComponentData)); } if (prevCompData == null) { prevCompData = new ChartComponentData(controller.ChartComponentData); } else { prevCompData.CopyFrom(controller.ChartComponentData); } }
private void GraphicData_Candle_OnGraphicDataChange(object sender, GraphicDataChangeArgument arg) { if (OnChartRefresh != null) { OnChartRefresh(this, new ChartComponentRefreshArguments(prevCompData, controller.ChartComponentData)); } if (prevCompData == null) { prevCompData = new ChartComponentData(controller.ChartComponentData); } else { prevCompData.CopyFrom(controller.ChartComponentData); } }
public void Refresh() { ChartComponentData compData = this.compChart.Controller.ChartComponentData; ChartType chartType = compData.ChartType; if (chartType == ChartType.KLine) { IStrategyDrawer_PriceRect drawer = drawOperator.GetDrawer_KLine(compData.KlinePeriod); drawer.Refresh(); } //else if (chartType == ChartType.TimeLine) // drawOperator.GetDrawer_TimeLine().Refresh(); //else if (chartType == ChartType.Tick) // drawOperator.GetDrawer_Tick().Refresh(); }
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) }
public ChartComponentRefreshArguments(ChartComponentData prevCompData, ChartComponentData compData) { this.prevCompData = prevCompData; this.compData = compData; this.dataRefreshed = this.compData.Equals(prevCompData); }
public ChartComponentDataChangeArgument(ChartComponentData prevChartComponentData, ChartComponentData currentChartComponentData) { this.prevChartComponentData = prevChartComponentData; this.currentChartComponentData = currentChartComponentData; }