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); }
private static void ForwardNextDay_KLine(DataForForward_Code forwardData, IKLineData_RealTime klineData, KLinePeriod period) { ITickBar tickBar = forwardData.CurrentTickData.GetCurrentBar(); int nextbarPos = klineData.BarPos + 1; klineData.ChangeCurrentBar(KLineUtils.GetKLineBar(tickBar), nextbarPos); }
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 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 static void ForwardNextDay(DataForForward_Code forwardData, int tradingDay) { forwardData.TradingDay = tradingDay; foreach (KLinePeriod period in forwardData.ReferedKLinePeriods) { IKLineData_RealTime klineData = forwardData.GetKLineData(period); ForwardNextDay_KLine(forwardData, klineData, period); } ForwardNextDay_TimeLine(forwardData); }
public void Load(XmlElement xmlElem) { double time = double.Parse(xmlElem.GetAttribute("time")); this.forwardPeriod = new ForwardPeriod(); this.forwardPeriod.Load(xmlElem); this.dataForForward_Code = new DataForForward_Code(dataCenter); this.dataForForward_Code.Load(xmlElem); this.NavigateTo(time); }
private static void ForwardNextDay_TimeLine(DataForForward_Code forwardData) { if (!forwardData.UseTimeLineData) { return; } //ITimeLineBar timeLineBar = GetTimeLineBar(forwardData.CurrentTickData, forwardData.CurrentTimeLineData.YesterdayEnd); //forwardData.CurrentTimeLineData.ChangeCurrentBar(timeLineBar); }
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 static void ForwardNextDay_KLine(DataForForward_Code forwardData, IKLineData_RealTime klineData, KLinePeriod period) { ITickBar tickBar = forwardData.CurrentTickData.GetCurrentBar(); int nextbarPos = klineData.BarPos + 1; //TODO 这样nextday算法还是不够准确 while (!klineData.IsDayStart(nextbarPos)) { nextbarPos = klineData.BarPos + 1; } klineData.ChangeCurrentBar(GetKLineBar(tickBar), nextbarPos); }
public DataForForward_CodeIndeier(DataForForward_Code data) { this.data = data; IList <KLinePeriod> periods = data.ReferedKLinePeriods; for (int i = 0; i < periods.Count; i++) { KLinePeriod period = periods[i]; if (period.Equals(data.MainKLinePeriod)) { continue; } dic_Period_CurrentIndex.Add(period, data.GetKLineData(period).BarPos); } this.Index(); }
private void Print(IKLineBar bar, IList <KLineBarPos> posList, DataForForward_Code data1) { if (posList == null) { return; } StringBuilder sb = new StringBuilder(); sb.Append(bar.Time + ":"); //Console.Write(bar.Time + ":"); for (int i = 0; i < posList.Count; i++) { KLineBarPos periodBar = posList[i]; //Console.Write(periodBar + "," + data1.GetKLineData(periodBar.KLinePeriod).GetBar(periodBar.BarPos).Time + "|"); sb.Append(periodBar + "," + data1.GetKLineData(periodBar.KLinePeriod).GetBar(periodBar.BarPos).Time + "|"); //Assert.AreEqual(bar.Time, data1.GetKLineData(posList[i].KLinePeriod).Time); } //Console.WriteLine(); printLine.Add(sb.ToString()); }
public DataForward_AttachCode_Tick(IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods) { this.dataPackage = dataPackage; this.referedPeriods = referedPeriods; this.dataForForward = new DataForForward_Code(dataPackage, referedPeriods); }
public KLineDataForward_Tick(DataForForward_Code dataForForward) { this.dataForForward = dataForForward; //this.forwardDataIndeier = new ForwardDataIndeier() }