Example #1
0
        public void TestTrade()
        {
            string code      = "RB1710";
            int    startDate = 20170601;
            int    endDate   = 20170603;

            StrategyReferedPeriods referedPeriods = new StrategyReferedPeriods();

            referedPeriods.UseTickData = false;
            referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_1Minute);
            referedPeriods.UsedKLinePeriods.Add(KLinePeriod.KLinePeriod_5Minute);
            StrategyForwardPeriod forwardPeriod = new StrategyForwardPeriod(false, KLinePeriod.KLinePeriod_1Minute);

            StrategyArguments_CodePeriod strategyCodePeriod = new StrategyArguments_CodePeriod(code, startDate, endDate, referedPeriods, forwardPeriod);
            IStrategyExecutor_Single     executor           = StrategyCenter.Default.GetStrategyExecutorFactory().CreateExecutor_History(strategyCodePeriod);

            StrategyAbstract strategy = (StrategyAbstract)StrategyGetter.GetStrategy(typeof(MockStrategy_Trade));

            executor.Strategy = strategy;
            executor.Run();

            StrategyTrader_History trader     = ((StrategyTrader_History)strategy.StrategyHelper.Trader);
            IList <TradeInfo>      tradeInfos = trader.Account.CurrentTradeInfo;

            AssertUtils.PrintLineList((IList)tradeInfos);
            AssertUtils.AssertEqual_List("StrategyTrade", GetType(), tradeInfos);
            Assert.AreEqual(96250, trader.Account.Asset);
            //Assert.AreEqual(98870, trader.Account.Asset);
            //IList<OrderInfo> orderInfos = strategy.StrategyOperator.Trader.CurrentOrderInfo;
            //for (int i = 0; i < tradeInfos.Count; i++)
            //{
            //    Console.WriteLine(tradeInfos[i]);
            //}
            //Console.WriteLine(strategy.StrategyOperator.Trader.OwnerTrader.Account.Asset);
        }
Example #2
0
        public IStrategyTrader GetStrategyTrader(string code)
        {
            if (dic_Code_Trader.ContainsKey(code))
            {
                return(dic_Code_Trader[code]);
            }
            StrategyTrader_History trader = new StrategyTrader_History(this, code);

            this.dic_Code_Trader.Add(code, trader);
            this.codes.Add(code);
            return(trader);
        }
Example #3
0
        public IStrategyHelper GetDefaultStrategyHelper()
        {
            if (defaultStrategyHelper != null)
            {
                return(defaultStrategyHelper);
            }
            defaultStrategyHelper = new StrategyHelper();
            //初始化交易器
            StrategyTraderSetting traderSetting = GetDefaultTraderSetting();
            IAccount account = DataCenter.Default.AccountManager.CreateAccount(traderSetting.InitMoney);

            account.AccountSetting.AutoFilter = traderSetting.AutoFilter;
            account.AccountSetting.TradeType  = traderSetting.TradeType;
            StrategyTrader_History trader = new StrategyTrader_History(account);

            defaultStrategyHelper.Trader = trader;
            return(defaultStrategyHelper);
        }