示例#1
0
        ///// <summary>
        ///// пример
        ///// </summary>
        ///// <param name="args"></param>
        //override public void Do(string[] args)
        //{
        //    //TradeConsole.ConsoleSetSize();
        //    //TradeConsole.LogAssemblyInfo(assemblies);
        //    //список доступных команд
        //    TradeConsole.ConsoleWriteCommands();
        //    Initialize();
        //    SetupStrategy(args);
        //    base.Do(args);
        //}

        /// <summary>
        /// пример переопределения
        /// Program.Sample1.Initialize()
        /// </summary>
        override public void Initialize()
        {
            Console.WriteLine("Program.Sample1.Initialize()");
            marketDataProvider     = new MarketDataProvider();
            rawTradingDataProvider = new RawTradingDataProvider(DefaultLogger.Instance);
            symbolsDataProvider    = new SymbolsDataProvider();
            traderBase             = new TraderBase(new SmartComOrderManager());
            adapter = new SmartComAdapter();

            SmartComHandlers.Instance.Add <_IStClient_DisconnectedEventHandler>(IsDisconnected);
            SmartComHandlers.Instance.Add <_IStClient_ConnectedEventHandler>(IsConnected);

            sendItemTrade = new SendItemOnTrade(TradingData.Instance, DefaultLogger.Instance);
            //ObservableQueue<Order> orderQueue = TradingData.Instance.Get<ObservableQueue<Order>>();
            //ObservableHashSet<Order> orderQueue = TradingData.Instance.Get<ObservableHashSet<Order>>();

            //sendItemOrder = new SendItemOnOrder(TradingData.Instance.Get<ObservableQueue<Order>>());
            //Отправляем данные клиентам
            {
                //sendItemBar.AddItemHandler(TradeConsole.ConsoleWriteLineBar);
                sendItemTrade.AddItemHandler(TradeConsole.ConsoleWriteLineTrade);
                //senderItemOrder.AddedItemHandler(TradeHubStarter.sendOrder);

                if (AppSettings.GetValue <bool>("SignalHub"))
                {
                    //отправляем через signalR
                    //sendItemBar.AddItemHandler(TradeHubStarter.sendBar);
                    sendItemTrade.AddItemHandler(TradeHubStarter.sendTrade);
                }
            }
        }
        public void Setup()
        {
            this.tradingData  = new TradingDataContext();
            this.signalQueue  = new ObservableQueue <Signal>();
            this.orderQueue   = new ObservableQueue <Order>();
            this.orderManager = new MockOrderManager();

            TraderBase traderBase = new TraderBase(this.tradingData, this.signalQueue, this.orderQueue, this.orderManager, new AlwaysTimeToTradeSchedule(), new NullLogger());
        }
示例#3
0
 /// <summary>
 /// пример переопределения
 /// BackTest Sample1 Initialize()
 /// </summary>
 override public void Initialize()
 {
     Console.WriteLine("BackTest.Converter.Initialize()");
     //marketDataProvider = new MarketDataProvider();
     //rawTradingDataProvider = new RawTradingDataProvider(DefaultLogger.Instance);
     //symbolsDataProvider = new SymbolsDataProvider();
     orderManager = new TRL.Emulation.BacktestOrderManager(TradingData.Instance, DefaultLogger.Instance);
     traderBase   = new TraderBase(orderManager);
 }
        public void Setup()
        {
            this.tradingData  = new TradingDataContext();
            this.signalQueue  = new ObservableQueue <Signal>();
            this.orderQueue   = new ObservableQueue <Order>();
            this.orderManager = new MockOrderManager();

            TraderBase traderBase = new TraderBase(this.tradingData, this.signalQueue, this.orderQueue, this.orderManager, new AlwaysTimeToTradeSchedule(), new NullLogger());

            this.strategyHeader = new StrategyHeader(1, "strategyHeader", "BP12345-RF-01", "RTS-9.13_FT", 10);
            AddStrategy(this.strategyHeader);
        }
        public void Setup()
        {
            this.tradingData  = new TradingDataContext();
            this.signalQueue  = new ObservableQueue <Signal>();
            this.orderQueue   = new ObservableQueue <Order>();
            this.orderManager = new MockOrderManager();
            this.tb           = new TraderBase(this.tradingData,
                                               this.signalQueue,
                                               this.orderQueue,
                                               this.orderManager,
                                               new AlwaysTimeToTradeSchedule(),
                                               new NullLogger());

            StrategyHeader strategyHeader = new StrategyHeader(1, "Strategy Description", "BP12345-RF-01", "RTS-9.13_FT", 10);

            this.tradingData.Get <ICollection <StrategyHeader> >().Add(strategyHeader);

            StopPointsSettings spSettings = new StopPointsSettings(strategyHeader, 50, false);

            this.tradingData.Get <ICollection <StopPointsSettings> >().Add(spSettings);

            StopLossOrderSettings sloSettings = new StopLossOrderSettings(strategyHeader, 100);

            this.tradingData.Get <ICollection <StopLossOrderSettings> >().Add(sloSettings);

            ProfitPointsSettings ppSettings = new ProfitPointsSettings(strategyHeader, 100, false);

            this.tradingData.Get <ICollection <ProfitPointsSettings> >().Add(ppSettings);

            TakeProfitOrderSettings tpoSettings = new TakeProfitOrderSettings(strategyHeader, 100);

            this.tradingData.Get <ICollection <TakeProfitOrderSettings> >().Add(tpoSettings);

            StrategyStopLossByPointsOnTick stopLossHandler =
                new StrategyStopLossByPointsOnTick(strategyHeader, this.tradingData, this.signalQueue, new NullLogger());
            StrategyTakeProfitByPointsOnTick takeProfitHandler =
                new StrategyTakeProfitByPointsOnTick(strategyHeader, this.tradingData, this.signalQueue, new NullLogger());

            PlaceStrategyStopLossByPointsOnTrade placeStopOnTradeHandler =
                new PlaceStrategyStopLossByPointsOnTrade(strategyHeader, this.tradingData, this.signalQueue, new NullLogger());
            PlaceStrategyTakeProfitByPointsOnTrade placeTakeProfitOnTradeHandler =
                new PlaceStrategyTakeProfitByPointsOnTrade(strategyHeader, this.tradingData, this.signalQueue, new NullLogger());


            Assert.AreEqual(0, this.tradingData.Get <IEnumerable <Signal> >().Count());
            Assert.AreEqual(0, this.tradingData.Get <IEnumerable <Order> >().Count());
            Assert.AreEqual(0, this.tradingData.Get <IEnumerable <Trade> >().Count());
            Assert.AreEqual(0, this.tradingData.Get <IEnumerable <Position> >().Count());
            Assert.AreEqual(0, this.signalQueue.Count);
            Assert.AreEqual(0, this.orderQueue.Count);
        }
示例#6
0
        public TraderBaseInitializer()
        {
            this.tradingData  = SampleTradingDataContextFactory.Make();
            this.signalQueue  = new ObservableQueue <Signal>();
            this.orderQueue   = new ObservableQueue <Order>();
            this.orderManager = new MockOrderManager();

            this.traderBase =
                new TraderBase(this.tradingData,
                               this.signalQueue,
                               this.orderQueue,
                               this.orderManager,
                               new AlwaysTimeToTradeSchedule(),
                               new NullLogger());
        }
示例#7
0
        ///// <summary>
        ///// пример
        ///// </summary>
        ///// <param name="args"></param>
        //override public void Do(string[] args)
        //{
        //    //TradeConsole.ConsoleSetSize();
        //    //TradeConsole.LogAssemblyInfo(assemblies);
        //    //список доступных команд
        //    TradeConsole.ConsoleWriteCommands();
        //    Initialize();
        //    SetupStrategy(args);
        //    base.Do(args);
        //}

        /// <summary>
        /// пример переопределения
        /// BackTest Sample1 Initialize()
        /// </summary>
        override public void Initialize()
        {
            Console.WriteLine("BackTest.Sample1.Initialize()");
            marketDataProvider     = new MarketDataProvider();
            rawTradingDataProvider = new RawTradingDataProvider(DefaultLogger.Instance);
            symbolsDataProvider    = new SymbolsDataProvider();
            orderManager           = new TRL.Emulation.BacktestOrderManager(TradingData.Instance, DefaultLogger.Instance);
            //private static SmartComAdapter adapter =
            //    new SmartComAdapter();
            traderBase = new TraderBase(orderManager);
            //new TraderBase(new SmartComOrderManager());
            //strategySettings = new StrategySettings(1,
            //    "ReversMaOnBar strategy",
            //    AppSettings.GetStringValue("Portfolio"),
            //    AppSettings.GetStringValue("Symbol"),
            //    AppSettings.GetValue<double>("Amount"));
            //barSettings = new BarSettings(
            //    strategySettings,
            //    strategySettings.Symbol,
            //    AppSettings.GetValue<int>("Interval"),
            //    AppSettings.GetValue<int>("Period"));
            //assemblies = { "Interop.SmartCOM3Lib.dll", "TRL.Common.dll", "TRL.Connect.Smartcom.dll" };
        }