示例#1
0
        public void TestAdjustKLineDataByTick()
        {
            DataReaderFactory  fac               = ResourceLoader.GetDefaultDataReaderFactory();
            IKLineData         klineData         = fac.KLineDataReader.GetData("m05", 20120104, 20120110, KLinePeriod.KLinePeriod_1Minute);
            KLineData_RealTime realtimeKLineData = new KLineData_RealTime(klineData);

            realtimeKLineData.BarPos = TimeIndeierUtils.IndexOfTime_KLine(klineData, 20120104.090000);
            ITickData tickData = fac.TickDataReader.GetTickData("m05", 20120104);

            tickData.BarPos = 0;

            int lastIndex    = -1;
            int currentIndex = 0;

            tickData.BarPos = currentIndex;

            KLineBar klineBar = KLineBar.CopyFrom(realtimeKLineData);

            klineBar.High  = klineBar.Start;
            klineBar.Low   = klineBar.Start;
            klineBar.End   = klineBar.Start;
            klineBar.Mount = 0;
            klineBar.Money = 0;
            klineBar.Hold  = 0;
            realtimeKLineData.SetRealTimeData(klineBar);

            for (int i = 0; i < tickData.Length; i++)
            {
                RealTimeDataNavigateUtils.ForwardKLineDataByForwardedTick(realtimeKLineData, tickData, lastIndex, currentIndex, new KLineBar());
                Console.WriteLine(realtimeKLineData);
                lastIndex = currentIndex;
                currentIndex++;
            }
        }