public DataNavigate_Code_KLine(IDataPackage_Code dataPackage, double time, KLinePeriod klinePeriod) { this.dataPackage = dataPackage; this.klinePeriod = klinePeriod; this.sessionReader = dataPackage.GetTradingTimeReader(); this.ChangeTime(time); }
private void AssertText(string code, int start, int end, string fileName) { List <string> list_OnBar = new List <string>(); IDataPackage_Code datapackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, end, 0, 0); IKLineData_Extend klineData = datapackage.GetKLineData(KLinePeriod.KLinePeriod_1Minute); ITickData tickData = datapackage.GetTickData(start); KLineToTickIndeier indeier = new KLineToTickIndeier(tickData, klineData); int lastBarPos; for (int i = 0; i < tickData.Length; i++) { list_OnBar.Add("tick:" + tickData.GetBar(i)); Console.WriteLine("tick:" + tickData.GetBar(i)); int pos = indeier.GetKLineBarPosIfFinished(i, out lastBarPos); if (pos >= 0) { list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(pos)); Console.WriteLine(klineData.Period + ":" + klineData.GetBar(pos)); for (int m = pos + 1; m <= lastBarPos; m++) { list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(m)); Console.WriteLine(klineData.Period + ":" + klineData.GetBar(m)); //lastBarPos = 1; } } } AssertUtils.AssertEqual_List(fileName, GetType(), list_OnBar); }
public void TestRunStrategy_Minute() { string code = "RB1710"; int startDate = 20170301; int endDate = 20170603; IDataPackage_Code dataPackage = CommonData.GetDataPackage(code, startDate, endDate); StrategyReferedPeriods referedPeriods = new StrategyReferedPeriods(); referedPeriods.UseTickData = false; referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute); StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(false, KLinePeriod.KLinePeriod_1Minute); StrategyArguments_DataPackage strategyDataPackage = new StrategyArguments_DataPackage(dataPackage, referedPeriods, forwardPeriod); //strategyDataPackage.IsSaveResult = true; IStrategyExecutor_Single executor = StrategyCenter.Default.GetStrategyExecutorFactory().CreateExecutor_History(strategyDataPackage); IStrategy strategy = StrategyGetter.GetStrategy(typeof(MockStrategy_Simple)); executor.Strategy = strategy; executor.Run(); Console.WriteLine(executor.StrategyResult); }
private void AssertForwardData(string code, int start, int end, List <string> list_OnBar) { IDataPackage_Code dataPackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, end, 0, 0); List <KLinePeriod> usedKLinePeriods = new List <KLinePeriod>(); usedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); usedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute); usedKLinePeriods.Add(KLinePeriod.KLinePeriod_15Minute); usedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Hour); usedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Day); ForwardReferedPeriods referedPeriods = new ForwardReferedPeriods(usedKLinePeriods, true, true); DataForForward_Code dataForForward = new DataForForward_Code(dataPackage, referedPeriods); List <int> tradingDays = dataForForward.TradingDayReader.GetAllTradingDays(); dataForForward.TradingDay = tradingDays[0]; ForwardDataIndeier indeier = new ForwardDataIndeier(dataForForward); IKLineData_Extend klineData = dataForForward.MainKLine; int currentBarPos = klineData.BarPos; for (int i = 0; i < tradingDays.Count; i++) { int tradingDay = tradingDays[i]; dataForForward.TradingDay = tradingDay; currentBarPos = Forward(dataForForward, indeier, tradingDay, currentBarPos, list_OnBar); } }
private void btStrategyDataPackage_Click(object sender, EventArgs e) { IDataPackage_Code dataPackage = this.chartComponent.Controller.CurrentNavigater.DataPackage; FormStrategyDataPackage form = new FormStrategyDataPackage(dataPackage); form.ShowDialog(); }
public void TestRunStrategy_Tick() { //data.reader.IDataReader dataReader = CommonData.GetDataReader(); string code = "RB1710"; int start = 20170601; int endDate = 20170603; IDataPackage_Code dataPackage = CommonData.GetDataPackage(code, start, endDate); StrategyReferedPeriods referedPeriods = new StrategyReferedPeriods(); referedPeriods.UseTickData = true; referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute); StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(true, KLinePeriod.KLinePeriod_1Minute); StrategyArguments_DataPackage arguments = new StrategyArguments_DataPackage(dataPackage, referedPeriods, forwardPeriod); IStrategyExecutor_Single runner = StrategyCenter.Default.GetStrategyExecutorFactory().CreateExecutor_History(arguments); DateTime prevtime = DateTime.Now; runner.Strategy = new MockStrategy(referedPeriods); runner.Run(); DateTime time = DateTime.Now; TimeSpan span = time.Subtract(prevtime); Console.WriteLine(span.Minutes * 60 * 1000 + span.Seconds * 1000 + span.Milliseconds); }
public void TestExecuteStrategy() { string code = "RB1710"; int start = 20170601; int endDate = 20170603; IDataPackage_Code dataPackage = CommonData.GetDataPackage(code, start, endDate); StrategyReferedPeriods referedPeriods = new StrategyReferedPeriods(); referedPeriods.UseTickData = false; referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(false, KLinePeriod.KLinePeriod_1Minute); StrategyArguments_DataPackage arguments = new StrategyArguments_DataPackage(dataPackage, referedPeriods, forwardPeriod); IStrategyExecutor_Single runner = StrategyCenter.Default.GetStrategyExecutorFactory().CreateExecutor_History(arguments); DateTime prevtime = DateTime.Now; runner.Strategy = new MockStrategy(null); runner.OnFinished += Runner_OnFinished; runner.Execute(); while (!isFinished) { } DateTime time = DateTime.Now; TimeSpan span = time.Subtract(prevtime); Console.WriteLine(span.Minutes * 60 + span.Seconds); }
private static IDataForward_Code GetKLineDataForward(string code, int start, int endDate) { //KLineData_RealTime klineData_1Minute = CommonData.GetKLineData_RealTime(code, start, endDate, KLinePeriod.KLinePeriod_1Minute); //KLineData_RealTime klineData_5Minute = CommonData.GetKLineData_RealTime(code, start, endDate, KLinePeriod.KLinePeriod_5Minute); //KLineData_RealTime klineData_15Minute = CommonData.GetKLineData_RealTime(code, start, endDate, KLinePeriod.KLinePeriod_15Minute); //KLineData_RealTime klineData_1Day = CommonData.GetKLineData_RealTime(code, start, endDate, KLinePeriod.KLinePeriod_1Day); //Dictionary<KLinePeriod, KLineData_RealTime> dic = new Dictionary<KLinePeriod, KLineData_RealTime>(); //IList<int> tradingDays = CommonData.GetDataReader().TradingDayReader.GetTradingDays(start, endDate); //dic.Add(KLinePeriod.KLinePeriod_1Minute, klineData_1Minute); //dic.Add(KLinePeriod.KLinePeriod_5Minute, klineData_5Minute); //dic.Add(KLinePeriod.KLinePeriod_15Minute, klineData_15Minute); //dic.Add(KLinePeriod.KLinePeriod_1Day, klineData_1Day); IDataPackage_Code dataPackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, endDate); ForwardReferedPeriods referedPeriods = new ForwardReferedPeriods(); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_15Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Day); referedPeriods.UseTickData = true; ForwardPeriod forwardPeriod = new ForwardPeriod(true, KLinePeriod.KLinePeriod_1Minute); IDataForward_Code klineDataForward = DataCenter.Default.HistoryDataForwardFactory.CreateDataForward_Code(dataPackage, referedPeriods, forwardPeriod); //new HistoryDataForward_Code_TickPeriod(, code, periods, KLinePeriod.KLinePeriod_1Minute); return(klineDataForward); }
public StrategyExecutor_CodePeriod_MainContract(IStrategyCenter strategyCenter, StrategyArguments_CodePeriod strategyArguments) : base(strategyCenter, strategyArguments) { this.strategyArguments = strategyArguments; this.PrepareStrategyHelper(); IList <ICodePeriod> codePeriods = this.strategyArguments.CodePeriod.Contracts; this.dataPackages = new List <IDataPackage_Code>(); for (int i = 0; i < codePeriods.Count; i++) { ICodePeriod codePeriod = codePeriods[i]; this.dataPackages.Add(strategyCenter.BelongDataCenter.DataPackageFactory.CreateDataPackage_Code(codePeriod.Code, codePeriod.StartDate, codePeriod.EndDate)); } this.BuildExecutorInfo(); for (int i = 0; i < dataPackages.Count; i++) { IDataPackage_Code dataPackage = dataPackages[i]; StrategyHelper executorStrategyHelper = new StrategyHelper(); executorStrategyHelper.QueryResultManager = this.strategyHelper.QueryResultManager; executorStrategyHelper.Drawer = null;//TODO executorStrategyHelper.Trader = this.strategyHelper.Trader; StrategyArguments_DataPackage strategyArgument = new StrategyArguments_DataPackage(dataPackage, strategyArguments.ReferedPeriods, strategyArguments.ForwardPeriod, executorStrategyHelper); StrategyExecutor_DataPackage executor = new StrategyExecutor_DataPackage(strategyCenter, strategyArgument, this.strategyExecutorInfo); executor.OnBarFinished += Executor_OnBarFinished; executor.OnDayFinished += Executor_OnDayFinished; this.executors.Add(executor); } }
public void TestForwardCodeIndeier() { string code = "RB1710"; int start = 20170601; int endDate = 20170603; IDataPackage_Code dataPackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, endDate); ForwardReferedPeriods referedPeriods = new ForwardReferedPeriods(); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_15Minute); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Hour); referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Day); referedPeriods.UseTickData = true; referedPeriods.UseTimeLineData = true; printLine.Clear(); DataForForward_Code data1 = new DataForForward_Code(dataPackage, referedPeriods); DataForForward_CodeIndeier indeier = new DataForForward_CodeIndeier(data1); int len = data1.GetMainKLineData().Length; for (int i = 0; i < len; i++) { IKLineBar bar = data1.GetMainKLineData().GetBar(i); Print(bar, indeier.GetFinishedBarsRelativeToMainKLine(i), data1); } AssertUtils.AssertEqual_List("forwardcodeindeier", GetType(), printLine); }
public HistoryDataForward_Code(IDataReader dataReader, string code, HistoryDataForwardArguments args) { IDataPackage_Code dataPackage = DataPackageFactory.CreateDataPackage(dataReader, code, args.StartDate, args.EndDate); ForwardReferedPeriods referedPeriods = args.ReferedPeriods; ForwardPeriod forwardPeriod = new ForwardPeriod(args.IsTickForward, args.ForwardKLinePeriod); this.Init(dataPackage, referedPeriods, forwardPeriod); }
public FormStrategyDataPackage(IDataPackage_Code dataPackage) { InitializeComponent(); this.lbCode.Text = dataPackage.Code; this.lbStart.Text = dataPackage.StartDate.ToString(); this.lbEnd.Text = dataPackage.EndDate.ToString(); }
public DataForward_Code_Tick2(IDataCenter dataCenter, IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods, ForwardPeriod forwardPeriod) { this.dataCenter = dataCenter; this.dataPackage = dataPackage; this.referedPeriods = referedPeriods; this.forwardPeriod = forwardPeriod; this.dataForForward_Code = new DataForForward_Code(dataPackage, referedPeriods); }
public IDataNavigate_Code CreateDataNavigate_Code(string code, double time) { int openDate = this.dataReader.CreateTradingTimeReader(code).GetRecentTradingDay(time); if (openDate < 0) return null; IDataPackage_Code dataPackage = DataPackageFactory.CreateDataPackage(dataReader, code, openDate, 500, 500); return CreateDataNavigate_Code(dataPackage, time); }
public FormStrategy(CompChartStrategyBinder binder, IStrategyInfo strategyInfo, IStrategy strategy, IDataPackage_Code dataPackage) { InitializeComponent(); this.binder = binder; this.dataPackage = dataPackage; InitStrategy(strategyInfo, strategy); }
public DataForward_Code_Tick3(IDataCenter dataCenter, IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods, ForwardPeriod forwardPeriod) { this.dataCenter = dataCenter; this.forwardData = new DataForForward_Code(dataPackage, referedPeriods); this.forwardDataIndeier = new DataForForward_CodeIndeier(forwardData); this.forwardPeriod = forwardPeriod; Init(); InitData(); }
public IDataForward_Code CreateDataForward_Code(IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods, ForwardPeriod forwardPeriod) { if (forwardPeriod.IsTickForward) { return(new DataForward_Code_Tick2(dataCenter, dataPackage, referedPeriods, forwardPeriod)); } //return new HistoryDataForward_Code_TickPeriod(dataPackage, referedPeriods.UsedKLinePeriods, forwardPeriod.KlineForwardPeriod, referedPeriods.UseTimeLineData); return(new DataForward_Code_KLine(dataCenter, dataPackage, referedPeriods, forwardPeriod)); }
public DataForForward_Code(IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods) { this.dataPackage = dataPackage; this.referedPeriods = referedPeriods; this.dic_Period_KLineData = dataPackage.CreateKLineData_RealTimes(referedPeriods.UsedKLinePeriods); this.mainKLinePeriod = referedPeriods.GetMinPeriod(); this.mainKLineData = this.dic_Period_KLineData[mainKLinePeriod]; this.cache_TradingDay = new CacheUtils_TradingDay(dataPackage.GetTradingDays()); }
public IStrategyExecutor CreateExecutor(IDataPackage_Code dataPackage, IStrategy strategy, KLinePeriod period) { StrategyReferedPeriods referedPeriods = new StrategyReferedPeriods(); referedPeriods.UsedKLinePeriods.Add(period); StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(false, period); return(StrategyCenter.Default.GetStrategyExecutorFactory_History().CreateExecutorByDataPackage(dataPackage, referedPeriods, forwardPeriod, compChart1.StrategyHelper)); }
public HistoryDataForward_Code_TickPeriod(IDataPackage_Code dataPackage, IList <KLinePeriod> periods, KLinePeriod forwardPeriod, bool useTimeLineData) { this.allKLinePeriods = periods; Dictionary <KLinePeriod, IKLineData_RealTime> allKLineData = dataPackage.CreateKLineData_RealTimes(periods); IList <int> tradingDays = dataPackage.GetTradingDays(); this.useTimeLineData = useTimeLineData; this.onBarArgument = new ForwardOnBarArgument(barFinishedInfos); Init(dataPackage, allKLineData, tradingDays, forwardPeriod); }
private void InitCodePackage(ChartComponent chartComponent) { IDataPackage_Code dataPackage = chartComponent.Controller.CurrentNavigater.DataPackage; CodePeriodListChooser codePackageInfo = new CodePeriodListChooser(); codePackageInfo.Codes.Add(dataPackage.Code); codePackageInfo.Start = dataPackage.StartDate; codePackageInfo.End = dataPackage.EndDate; this.compCodePackage1.Init(codePackageInfo); }
public void Load(XmlElement xmlElem) { this.dataPackage = this.dataCenter.DataPackageFactory.CreateDataPackage_Code(xmlElem); this.referedPeriods = new ForwardReferedPeriods(); this.referedPeriods.Load(xmlElem); this.dic_Period_KLineData = dataPackage.CreateKLineData_RealTimes(referedPeriods.UsedKLinePeriods); this.cache_TradingDay = new CacheUtils_TradingDay(dataPackage.GetTradingDays()); this.TradingDay = int.Parse(xmlElem.GetAttribute("tradingDay")); }
public StrategyDrawer(IDataPackage_Code dataPackage, StrategyReferedPeriods referPeriods) { this.dataPackage = dataPackage; foreach (KLinePeriod period in referPeriods.UsedKLinePeriods) { IKLineData_Extend klineData = dataPackage.GetKLineData(period); dic_KLinePeriod_Start.Add(period, klineData.BarPos); dic_KLinePeriod_DataKey.Add(period, new KLineKey(dataPackage.Code, dataPackage.StartDate, dataPackage.EndDate, period)); } }
public IDataForward CreateHistoryDataForward(string[] codes, int startDate, int endDate, ForwardReferedPeriods[] referedPeriods, ForwardPeriod forwardPeriod) { IDataPackage_Code[] dataPackages = new IDataPackage_Code[codes.Length]; for (int i = 0; i < codes.Length; i++) { string code = codes[i]; IDataPackage_Code dataPackage = dataCenter.DataPackageFactory.CreateDataPackage_Code(code, startDate, endDate); dataPackages[i] = dataPackage; } return(CreateHistoryDataForward(dataPackages, referedPeriods, forwardPeriod)); }
public DataForward_Code_KLine(IDataCenter dataCenter, IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods, ForwardPeriod forwardPeriod) { this.dataCenter = dataCenter; this.navigateData = new DataForForward_Code(dataPackage, referedPeriods); this.navigateData.TradingDay = navigateData.StartDate; this.forwardPeriod = forwardPeriod; this.mainKLineData = this.navigateData.GetKLineData(forwardPeriod.KlineForwardPeriod); this.listenedCodes[0] = mainKLineData.Code; this.onBarArgument = new ForwardOnBarArgument(this.barFinishedInfos, this); InitKLine(); }
private void Init(IDataPackage_Code dataPackage, Dictionary <KLinePeriod, IKLineData_RealTime> allKLineData, IList <int> tradingDays, KLinePeriod forwardPeriod) { this.dataPackage = dataPackage; this.dic_Period_KLineData = allKLineData; this.tradingDays = tradingDays; this.forwardPeriod = new ForwardPeriod(true, forwardPeriod); InitData(); timer.Elapsed += Timer_Elapsed; timer.AutoReset = true; }
public DataNavigate_Code2(IDataPackage_Code dataPackage, DataForForward_Code forwarddata) { this.dataPackage = dataPackage; foreach (KLinePeriod klinePeriod in forwarddata.ReferedKLinePeriods) { IKLineData_RealTime klineData = forwarddata.GetKLineData(klinePeriod); //this.dicNavigateKLine.Add(klinePeriod,new DataNavigate_Code_KLine()) } //dicNavigateKLine //this.NavigateTo(time); }
public static IStrategyExecutor_Single CreateExecutor_DataPackage(string code, int start, int end) { IStrategyExecutorFactory executorFactory = StrategyCenter.Default.GetStrategyExecutorFactory(); StrategyReferedPeriods referedPeriods = GetReferedPeriods(); StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(true, KLinePeriod.KLinePeriod_1Minute); IDataPackage_Code dataPackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, end); StrategyArguments_DataPackage strategyCodePeriod = new StrategyArguments_DataPackage(dataPackage, referedPeriods, forwardPeriod); IStrategyExecutor_Single executor = executorFactory.CreateExecutor_History(strategyCodePeriod); return(executor); }
public StrategyExecutor_DataPackage(IStrategyCenter strategyCenter, StrategyArguments_DataPackage strategyArguments, StrategyExecutorInfo strategyExecutorInfo) : base(strategyCenter, strategyArguments) { this.dataPackage = strategyArguments.DataPackage; this.codePeriod = new CodePeriod(dataPackage.Code, dataPackage.StartDate, dataPackage.EndDate); if (strategyExecutorInfo == null) { this.InitStrategyExecutorInfo(); } else { this.strategyExecutorInfo = strategyExecutorInfo; } }
public void AttachOtherData(string code) { if (dic_Code_DataForward.ContainsKey(code)) { return; } int startDate = this.DataPackage.StartDate; int endDate = this.DataPackage.EndDate; IDataPackage_Code dataPackage_AttachCode = dataCenter.DataPackageFactory.CreateDataPackage_Code(code, startDate, endDate); IDataForward_Code dataForward_AttachCode = new DataForward_Code_KLine(dataCenter, dataPackage_AttachCode, navigateData.ReferedPeriods, forwardPeriod); this.dic_Code_DataForward.Add(code, dataForward_AttachCode); }