Exemplo n.º 1
0
        private void DataForward_OnTick(object sender, IForwardOnTickArgument argument)
        {
            double time = argument.Time;
            //if (time < 20170601.205900)
            //    return;
            int tradingDay = argument.TickInfo.TickData.TradingDay;

            if (prevTime == time)
            {
                return;
            }
            this.prevTime = time;
            ITickData_Extend tickData = GetTickData(tradingDay);

            //Console.WriteLine(tickData);
            DataNavigate_ChangeTime.ChangeTime_TickData(tickData, time);
            Assert.AreEqual(argument.TickInfo.TickBar.ToString(), tickData.ToString());

            IRealTimeData_Code realTimeData = ((IRealTimeData_Code)sender);

            DataNavigate_ChangeTime.ChangeTime_KLineData(klineData_1Minute, tradingDay, time, tickData);
            Assert.AreEqual(realTimeData.GetKLineData(KLinePeriod.KLinePeriod_1Minute).ToString(), klineData_1Minute.ToString());
            DataNavigate_ChangeTime.ChangeTime_KLineData(klineData_5Minute, tradingDay, time, tickData);
            Assert.AreEqual(realTimeData.GetKLineData(KLinePeriod.KLinePeriod_5Minute).ToString(), klineData_5Minute.ToString());
            DataNavigate_ChangeTime.ChangeTime_KLineData(klineData_15Minute, tradingDay, time, tickData);
            Assert.AreEqual(realTimeData.GetKLineData(KLinePeriod.KLinePeriod_15Minute).ToString(), klineData_15Minute.ToString());
            DataNavigate_ChangeTime.ChangeTime_KLineData(klineData_1Day, tradingDay, time, tickData);
            Assert.AreEqual(realTimeData.GetKLineData(KLinePeriod.KLinePeriod_1Day).ToString(), klineData_1Day.ToString());

            ITimeLineData_RealTime timeLineData = GetTimeLineData(tradingDay);

            DataNavigate_ChangeTime.ChangeTime_TimeLineData(timeLineData, time, tickData);
            Assert.AreEqual(realTimeData.GetTimeLineData().ToString(), timeLineData.ToString());
        }
Exemplo n.º 2
0
        public void TestController()
        {
            string                   code           = "rb1710";
            double                   time           = 20170601.093055;
            KLinePeriod              klinePeriod    = KLinePeriod.KLinePeriod_1Minute;
            IDataNavigate            dataNavigater  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate(code, time);
            IKLineData               klineData      = dataNavigater.GetKLineData(klinePeriod);
            int                      showKLineIndex = klineData.BarPos;
            ChartComponentData       compData       = new ChartComponentData(code, time, klinePeriod, showKLineIndex);
            ChartComponentController controller     = new ChartComponentController(dataNavigater, compData);

            IRealTimeData_Code reader       = controller.CurrentRealTimeDataReader_Code;
            IKLineData         currentKLine = reader.GetKLineData(klinePeriod);

            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change("rb1801");
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change(code);
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);
            controller.ChangeChartType(ChartType.TimeLine);
            Console.WriteLine(compData);

            controller.Change(20170601.100531);
            controller.ChangeChartType(ChartType.KLine);
            Console.WriteLine(reader.GetKLineData(compData.KlinePeriod));
            Console.WriteLine(compData);

            controller.Change("rb1801", 20171014.093000, KLinePeriod.KLinePeriod_1Minute);
            Console.WriteLine(compData);
        }
Exemplo n.º 3
0
 public abstract void OnTick_(IRealTimeData_Code currentData);
Exemplo n.º 4
0
 public RealTimeDataReader_CodeWrapper(IRealTimeData_Code realTimeDataReader_Code)
 {
     this.realTimeDataReader_Code = realTimeDataReader_Code;
     this.realTimeDataReader_Code.OnRealTimeChanged += RealTimeDataReader_Code_OnRealTimeChanged;
 }
Exemplo n.º 5
0
 public StrategyTrader_Account(double money, IDataForward_Code realTimeDataReader)
 {
     this.account = DataCenter.Default.AccountManager.CreateAccount(money, realTimeDataReader);
     this.account.AccountSetting.TradeType = AccountTradeType.IMMEDIATELY;
     this.realTimeDataReader = realTimeDataReader;
 }