Exemple #1
0
        private int Forward(DataForForward_Code dataForForward, ForwardDataIndeier indeier, int tradingDay, int klineIndex, List <string> list_OnBar)
        {
            IKLineData_Extend klineData = dataForForward.GetMainKLineData();
            ITickData_Extend  tickData  = dataForForward.CurrentTickData;
            int         lastMainKLineBarPos;
            int         mainBarPos = 0;
            KLinePeriod mainPeriod = dataForForward.MainKLinePeriod;

            for (int i = 0; i < tickData.Length; i++)
            {
                tickData.BarPos = i;
                Console.WriteLine("tick:" + tickData);
                list_OnBar.Add("tick:" + tickData);
                mainBarPos = indeier.GetMainKLineBarPosIfFinished(i, out lastMainKLineBarPos);
                if (mainBarPos < 0)
                {
                    continue;
                }
                PrintData(dataForForward, indeier, klineData, mainBarPos, mainPeriod, list_OnBar);
                if (lastMainKLineBarPos >= 0 && lastMainKLineBarPos != mainBarPos)
                {
                    for (int m = mainBarPos + 1; m <= lastMainKLineBarPos; m++)
                    {
                        PrintData(dataForForward, indeier, klineData, m, mainPeriod, list_OnBar);
                    }
                }
            }
            return(mainBarPos);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
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);
     }
 }
Exemple #4
0
 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);
 }
Exemple #5
0
        public static DataForNavigate_Code Create(DataForForward_Code dataForForward)
        {
            DataForNavigate_Code dataForNav = new DataForNavigate_Code(dataForForward.DataPackage, dataForForward.Time);

            foreach (KLinePeriod klinePeriod in dataForForward.ReferedKLinePeriods)
            {
                IKLineData_RealTime klineData = dataForForward.GetKLineData(klinePeriod);
                dataForNav.dic_Period_KLineData.Add(klinePeriod, klineData);
            }
            return(dataForNav);
        }
Exemple #6
0
 private static void PrintData(DataForForward_Code dataForForward, ForwardDataIndeier indeier, IKLineData_Extend klineData, int mainBarPos, KLinePeriod mainPeriod, List <string> list_OnBar)
 {
     Console.WriteLine(klineData.Period + ":" + klineData.GetBar(mainBarPos));
     list_OnBar.Add(klineData.Period + ":" + klineData.GetBar(mainBarPos));
     for (int m = 0; m < dataForForward.ReferedKLinePeriods.Count; m++)
     {
         KLinePeriod period = dataForForward.ReferedKLinePeriods[m];
         if (mainPeriod.Equals(period))
         {
             continue;
         }
         int barPos = indeier.GetOtherKLineBarPosIfFinished(mainBarPos, period);
         if (barPos >= 0)
         {
             IKLineData otherKLine = dataForForward.GetKLineData(period);
             Console.WriteLine(period + ":" + otherKLine.GetBar(barPos));
             list_OnBar.Add(period + ":" + otherKLine.GetBar(barPos));
         }
     }
     Console.WriteLine("分时线:" + dataForForward.CurrentTimeLineData.GetBar(mainBarPos));
     list_OnBar.Add("分时线:" + dataForForward.CurrentTimeLineData.GetBar(mainBarPos));
 }
Exemple #7
0
 public DataForward_AttachCode_Tick(IDataPackage_Code dataPackage, ForwardReferedPeriods referedPeriods)
 {
     this.dataPackage    = dataPackage;
     this.referedPeriods = referedPeriods;
     this.dataForForward = new DataForForward_Code(dataPackage, referedPeriods);
 }