public StrategyResult_CodePeriod(ICodePeriod codePeriod, StrategyForwardPeriod forwardPeriod, StrategyReferedPeriods referedPeriods, IStrategyDrawer strategyDrawer, IStrategyTrader strategyTrader) { this.codePeriod = codePeriod; this.forwardPeriod = forwardPeriod; this.referedPeriods = referedPeriods; this.strategyDrawer = strategyDrawer; this.strategyTrader = strategyTrader; }
public override void OnEnd(Object sender, IStrategyOnEndArgument argument) { IStrategyDrawer drawHelper = StrategyOperator.DrawOperator.GetDrawer_KLine(MainKLinePeriod); //drawHelper.DrawPoints(arr_Price_Top, System.Drawing.Color.Blue); //drawHelper.DrawPoints(arr_Price_Bottom, System.Drawing.Color.White); drawHelper.DrawPoints(arr_Price_SureTop, System.Drawing.Color.Red); drawHelper.DrawPoints(arr_Price_SureBottom, System.Drawing.Color.Green); }
public override void OnEnd(Object sender, IStrategyOnEndArgument argument) { IStrategyDrawer drawHelper = StrategyOperator.DrawOperator.GetDrawer_KLine(MainKLinePeriod); drawHelper.DrawPolyLine(maPrice_1, color_1); drawHelper.DrawPolyLine(maPrice_2, color_2); drawHelper.DrawPolyLine(maPrice_3, color_3); drawHelper.DrawPolyLine(maPrice_4, color_4); drawHelper.DrawPolyLine(maPrice_5, color_5); drawHelper.DrawTitle(1, "MA组合(" + Param_1 + "," + Param_2 + "," + Param_3 + "," + Param_4 + "," + Param_5 + ")", color_2); }
/// <summary> /// 运行策略,并且将策略运行结果绑定到该 /// </summary> public void Run() { if (this.strategyData == null || this.strategyData.Strategy == null) { return; } IStrategy strategy = this.strategyData.Strategy; StrategyReferedPeriods referedPeriods = strategy.GetReferedPeriods(); if (referedPeriods == null) { referedPeriods = new StrategyReferedPeriods(); KLinePeriod currentPeriod = this.compChart.Controller.ChartComponentData.KlinePeriod; referedPeriods.UsedKLinePeriods.Add(currentPeriod); if (strategy is StrategyAbstract) { ((StrategyAbstract)strategy).MainKLinePeriod = currentPeriod; } } KLinePeriod mainPeriod = referedPeriods.MainPeriod; StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(referedPeriods.UseTickData, mainPeriod); IStrategyExecutorFactory executorFactory = StrategyCenter.Default.GetStrategyExecutorFactory(); IDataPackage_Code dataPackage = this.compChart.Controller.CurrentNavigater.DataPackage; Dictionary <KLinePeriod, int> dic_KLinePeriod_StartPos = new Dictionary <KLinePeriod, int>(); for (int i = 0; i < referedPeriods.UsedKLinePeriods.Count; i++) { KLinePeriod period = referedPeriods.UsedKLinePeriods[i]; dic_KLinePeriod_StartPos.Add(period, dataPackage.GetKLineData(period).BarPos); } drawOperator = new ChartComponentStrategyDrawer(this.compChart.Drawer, dic_KLinePeriod_StartPos, 0, 0); StrategyArguments_DataPackage strategyDataPackage = new StrategyArguments_DataPackage(dataPackage, referedPeriods, forwardPeriod);; StrategyHelper strategyOperator = new StrategyHelper(); strategyOperator.Drawer = drawOperator; strategyExecutor = executorFactory.CreateExecutor_History(strategyDataPackage); strategyExecutor.Strategy = strategy; //strategyExecutor.Run(); //strategyExecutor.ExecuteFinished += StrategyExecutor_ExecuteFinished; strategyExecutor.Execute(); }
public void Refresh() { CompData compData = this.compChart.Controller.CompData; ChartType chartType = compData.ChartType; if (chartType == ChartType.KLine) { IStrategyDrawer 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 Load(IList <XmlElement> xmlElems) { LoadMain(xmlElems[0]); if (xmlElems.Count > 1) { XmlElement elemShapes = xmlElems[1]; if (elemShapes != null) { this.strategyDrawer = new StrategyDrawer(); this.strategyDrawer.Load(elemShapes); } } if (xmlElems.Count > 2) { XmlElement elemTrader = xmlElems[2]; if (elemTrader != null) { this.strategyTrader = new StrategyTrader_History(); this.StrategyTrader.Load(elemTrader); } } }
public FormStrategy(CodePeriodListChooser codePackageInfo, IStrategyData strategyData, IStrategyDrawer drawer) { this.codePackageInfo = codePackageInfo; this.strategyData = strategyData; }