Example #1
0
        public void Change(string code, double time)
        {
            double prevTime = time;

            this.prevCodeInfo = codeInfo;
            this.codeInfo     = dataReader.CodeReader.GetCodeInfo(code);

            if (this.currentNavigate_Code != null)
            {
                this.currentNavigate_Code.OnNavigateTo      -= CurrentNavigate_Code_OnNavigateTo;
                this.currentNavigate_Code.OnRealTimeChanged -= CurrentNavigate_Code_OnRealTimeChanged;
                this.currentNavigate_Code = null;
            }
            this.currentNavigate_Code = dataNavigateFactory.CreateDataNavigate_Code(code, time, beforeDays, afterDays);
            this.currentNavigate_Code.OnNavigateTo      += CurrentNavigate_Code_OnNavigateTo;
            this.currentNavigate_Code.OnRealTimeChanged += CurrentNavigate_Code_OnRealTimeChanged;
            this.LastOperator = OPERATOR_NAVIGATE;

            if (this.OnNavigateTo != null)
            {
                this.OnNavigateTo(this, new DataNavigateEventArgs(prevCodeInfo.Code, code, prevTime, time));
            }
            if (this.OnRealTimeChanged != null)
            {
                this.OnRealTimeChanged(this, new RealTimeChangedArgument(prevTime, time, this));
            }
        }
Example #2
0
        public void TestNavigate_Code_RB1805()
        {
            string             code = "rb1805";
            double             time = 20171226.2100;
            IDataNavigate_Code nav  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time, 100, 0);

            time = 20171221.2100;
            nav.NavigateTo(time);

            IKLineData klineData_1  = nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            IKLineData klineData_5  = nav.GetKLineData(KLinePeriod.KLinePeriod_5Minute);
            IKLineData klineData_15 = nav.GetKLineData(KLinePeriod.KLinePeriod_15Minute);

            Assert.AreEqual(klineData_1.End, klineData_15.End);

            nav.Forward(KLinePeriod.KLinePeriod_1Minute);
            klineData_1  = nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            klineData_5  = nav.GetKLineData(KLinePeriod.KLinePeriod_5Minute);
            klineData_15 = nav.GetKLineData(KLinePeriod.KLinePeriod_15Minute);
            Assert.AreEqual(klineData_1.End, klineData_5.End);
            Assert.AreEqual(klineData_1.End, klineData_15.End);

            nav.NavigateTo(20171001);
            klineData_1  = nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            klineData_5  = nav.GetKLineData(KLinePeriod.KLinePeriod_5Minute);
            klineData_15 = nav.GetKLineData(KLinePeriod.KLinePeriod_15Minute);
            Assert.AreEqual(klineData_1.End, klineData_5.End);
            Assert.AreEqual(klineData_1.End, klineData_15.End);
            Console.WriteLine(klineData_15);
        }
Example #3
0
        public void TestNavigate_Code_Forward()
        {
            string             code = "rb1801";
            double             time = 20170929.145900;
            IDataNavigate_Code nav  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time, 100, 0);
            bool canForward         = nav.Forward(KLinePeriod.KLinePeriod_1Minute);

            Assert.IsTrue(canForward);

            canForward = nav.Forward(KLinePeriod.KLinePeriod_1Minute);
            Assert.IsFalse(canForward);
        }
Example #4
0
        public bool Backward(KLinePeriod forwardPeriod)
        {
            bool canBackWard = currentNavigate_Code.Backward(forwardPeriod);

            if (!canBackWard)
            {
                int startDate = this.DataPackage.StartDate;
                if (startDate > codeInfo.Start)
                {
                    currentNavigate_Code = dataNavigateFactory.CreateDataNavigate_Code(Code, Time);
                    this.LastOperator    = OPERATOR_NAVIGATE;
                    return(currentNavigate_Code.Backward(forwardPeriod));
                }
            }
            this.LastOperator = OPERATOR_NAVIGATE;
            return(canBackWard);
        }
Example #5
0
        public void TestNavigate_Code2()
        {
            string             code = "rb1801";
            double             time = 20170104.082800;
            IDataNavigate_Code nav  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time);

            Assert.IsNull(nav);
            //double time = 20170929.150000;
            //double time = 20170929.102800;
            //double time = 20170930.102800;

            time = 20170929.082800;
            nav  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time);
            //DataNavigateFactory.CreateDataNavigate(@"e:\scdata\cnfutures\", code, time);
            IKLineData klineData = nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute);

            AssertUtils.PrintKLineData(klineData);
        }
Example #6
0
        public void TestNavigate_Code()
        {
            string code = "rb1705";
            double time = 20170405.093001;

            IDataNavigate_Code nav = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time);
            //DataNavigateFactory.CreateDataNavigate(@"e:\scdata\cnfutures\", code, time);
            ITickData tickData = nav.GetTickData();

            Console.WriteLine(tickData);
            Console.WriteLine(nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute));
            Console.WriteLine(nav.GetKLineData(KLinePeriod.KLinePeriod_1Day));
            //DataReaderFactory fac = new DataReaderFactory(@"d:\scdata\cnfutures\");
            //IDataNavigate2 navigate2 = fac.DataNavigateMgr.CreateNavigate("m05", 20141229.093100, 20150101, 20160101);

            //KLinePeriod period_day = new KLinePeriod(KLinePeriod.TYPE_DAY, 1);
            //KLinePeriod period_15minute = new KLinePeriod(KLinePeriod.TYPE_MINUTE, 15);
            //KLinePeriod period_minute = new KLinePeriod(KLinePeriod.TYPE_MINUTE, 1);

            //IKLineData klineData = navigate2.GetKLineData(period_day);
            //Console.WriteLine(klineData);
            //IKLineData klineData_15minute = navigate2.GetKLineData(period_15minute);
            //Console.WriteLine(klineData_15minute);
            //IKLineData klineData_minute = navigate2.GetKLineData(period_minute);
            //Console.WriteLine(klineData_minute);
            //ITimeLineData realData = navigate2.GetRealData();
            //Console.WriteLine(realData);
            //ITickData tickData = navigate2.GetTickData();
            //Console.WriteLine(tickData);

            //navigate2.ChangeTime(20141229.213508);
            //klineData = navigate2.GetKLineData(period_day);
            //Console.WriteLine(klineData);
            //klineData_15minute = navigate2.GetKLineData(period_15minute);
            //Console.WriteLine(klineData_15minute);
            //klineData_minute = navigate2.GetKLineData(period_minute);
            //Console.WriteLine(klineData_minute);
            //realData = navigate2.GetRealData();
            //Console.WriteLine(realData);
            //tickData = navigate2.GetTickData();
            //Console.WriteLine(tickData);
        }
Example #7
0
        public bool NavigateTo(double time)
        {
            if (Time == time)
            {
                return(true);
            }
            bool canNav = this.currentNavigate_Code.NavigateTo(time);

            if (!canNav)
            {
                int tradingDay = this.dataReader.CreateTradingTimeReader(Code).GetTradingDay(time);
                if (!IsInTradingDay(codeInfo, tradingDay))
                {
                    return(false);
                }
                this.currentNavigate_Code = dataNavigateFactory.CreateDataNavigate_Code(Code, time);
            }
            this.LastOperator = OPERATOR_NAVIGATE;
            return(canNav);
        }
Example #8
0
        public bool Forward(KLinePeriod forwardPeriod)
        {
            bool canForward = this.currentNavigate_Code.Forward(forwardPeriod);

            if (!canForward)
            {
                int endDate     = this.DataPackage.EndDate;
                int codeEndDate = codeInfo.End;
                if (codeEndDate == 0)
                {
                    codeEndDate = this.dataReader.TradingDayReader.FirstTradingDay;
                }
                if (endDate < codeEndDate)
                {
                    currentNavigate_Code = dataNavigateFactory.CreateDataNavigate_Code(Code, Time);
                    this.LastOperator    = OPERATOR_NAVIGATE;
                    return(currentNavigate_Code.Forward(forwardPeriod));
                }
            }
            this.LastOperator = OPERATOR_NAVIGATE;
            return(canForward);
        }
Example #9
0
        public void TestNavigate_Code_Day()
        {
            string             code      = "rb1805";
            double             time      = 20171226.2100;
            IDataNavigate_Code nav       = DataCenter.Default.DataNavigateFactory.CreateDataNavigate_Code(code, time, 100, 0);
            IKLineData         klineData = nav.GetKLineData(KLinePeriod.KLinePeriod_1Day);

            //for (int i = 0; i < klineData.Length; i++)
            //{
            //    Console.WriteLine(klineData.GetBar(i));
            //}

            time = 20171002.09;
            nav.NavigateTo(time);
            klineData = nav.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            Console.WriteLine(klineData);
            Assert.AreEqual("20170929.1459,3524,3540,3522,3538,7648,0,487716", klineData.ToString());


            //for (int i = 0; i < klineData.Length; i++)
            //{
            //    Console.WriteLine(klineData.GetBar(i));
            //}
        }
Example #10
0
 public IDataNavigate CreateDataNavigate(string code, double time, int beforeDays, int afterDays)
 {
     IDataNavigate_Code dataNav_Code = CreateDataNavigate_Code(code, time, beforeDays, afterDays);
     DataNavigate nav = new DataNavigate(this.dataCenter, code, time, beforeDays, afterDays);
     return nav;
 }
 public GraphicDataProvider_CandleNav(DataReaderFactory dataReaderFac, IDataNavigate_Code dataNavigate)
 {
     this.dataReaderFac = dataReaderFac;
     this.dataNavigate  = dataNavigate;
 }
 public GraphicDataProvider_CandleNav(DataReaderFactory dataReaderFac)
 {
     this.dataReaderFac = dataReaderFac;
     this.dataNavigate  = new DataNavigate(dataReaderFac);
 }