Exemple #1
0
 public ForwardDataIndeier(DataForForward_Code dataForForward)
 {
     this.dataForForward = dataForForward;
     if (this.dataForForward.ReferedKLinePeriods.Count > 1)
     {
         List <IKLineData_Extend> indexKLines = new List <IKLineData_Extend>();
         for (int i = 0; i < this.dataForForward.ReferedKLinePeriods.Count; i++)
         {
             KLinePeriod klinePeriod = this.dataForForward.ReferedKLinePeriods[i];
             if (this.dataForForward.MainKLinePeriod == klinePeriod)
             {
                 continue;
             }
             indexKLines.Add(this.dataForForward.GetKLineData(klinePeriod));
         }
         this.klineToKlineIndeier = new KLineToKLineIndeier(dataForForward.MainKLine, indexKLines);
     }
     if (this.dataForForward.UseTickData)
     {
         int tradingDay            = dataForForward.TradingDay;
         ITickData_Extend tickData = this.dataForForward.CurrentTickData;
         this.klineToTickIndeier = new KLineToTickIndeier(tickData, dataForForward.MainKLine);
     }
     if (this.dataForForward.UseTimeLineData)
     {
         int tradingDay = dataForForward.TradingDay;
         ITimeLineData_Extend timeLineData = this.dataForForward.CurrentTimeLineData;
         this.timeToKLineIndeier = new TimeLineToKLineIndeier(dataForForward.MainKLine, timeLineData);
     }
 }
 private void PrintKLines(int mainPos, KLineToKLineIndeier indeier, IList <IKLineData_Extend> indexKLines, List <string> list_OnBar)
 {
     for (int i = 0; i < indexKLines.Count; i++)
     {
         IKLineData klineData = indexKLines[i];
         int        pos       = indeier.GetOtherKLineBarPosIfFinished(mainPos, klineData.Period);
         if (pos >= 0)
         {
             list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(pos));
             Console.WriteLine(klineData.Period + ":" + klineData.GetBar(pos));
         }
     }
 }
        private void AssertKLineToKLine(string code, int start, int end, List <string> list_OnBar)
        {
            IDataPackage_Code         datapackage = DataCenter.Default.DataPackageFactory.CreateDataPackage_Code(code, start, end);
            IKLineData_Extend         mainKLine   = datapackage.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            IList <IKLineData_Extend> indexKLines = new List <IKLineData_Extend>();

            indexKLines.Add(datapackage.GetKLineData(KLinePeriod.KLinePeriod_5Minute));
            indexKLines.Add(datapackage.GetKLineData(KLinePeriod.KLinePeriod_15Minute));
            indexKLines.Add(datapackage.GetKLineData(KLinePeriod.KLinePeriod_1Hour));
            indexKLines.Add(datapackage.GetKLineData(KLinePeriod.KLinePeriod_1Day));
            KLineToKLineIndeier indeier = new KLineToKLineIndeier(mainKLine, indexKLines);

            int startMainPos = mainKLine.BarPos;
            int endMainPos   = mainKLine.Length - 1;

            for (int i = startMainPos; i <= endMainPos; i++)
            {
                Console.WriteLine(mainKLine.Period + ":" + mainKLine.GetBar(i));
                list_OnBar.Add(mainKLine.Period + ":" + mainKLine.GetBar(i));
                PrintKLines(i, indeier, indexKLines, list_OnBar);
            }
        }