示例#1
0
        public void Transaction_do_nothing_when_file_not_exists()
        {
            ITransaction import = new ImportBarsTransaction(this.marketData.Get <ObservableCollection <Bar> >(), "no-such-file.txt");

            import.Execute();

            Assert.AreEqual(0, this.marketData.Get <ObservableCollection <Bar> >().Count);
        }
        static void Main(string[] args)
        {
            TradingData.Instance.Get <ICollection <Strategy> >().Add(strategy);

            //BarSettings barSettings = new BarSettings(strategy, "RIH4", 3600, 3);
            BarSettings barSettings = new BarSettings(strategy, "SPFB.RTS-3.14", 3600, 3);

            TradingData.Instance.Get <ICollection <BarSettings> >().Add(barSettings);

            BreakOutOnBar breakOnBar =
                new BreakOutOnBar(strategy,
                                  TradingData.Instance,
                                  SignalQueue.Instance,
                                  DefaultLogger.Instance);

            StopLossOnBar stopLossOnBar =
                new StopLossOnBar(strategy,
                                  100,
                                  TradingData.Instance,
                                  SignalQueue.Instance,
                                  DefaultLogger.Instance);

            TakeProfitOnBar takeProfitOnBar =
                new TakeProfitOnBar(strategy,
                                    100,
                                    TradingData.Instance,
                                    SignalQueue.Instance,
                                    DefaultLogger.Instance);


            ITransaction importBars =
                new ImportBarsTransaction(TradingData.Instance.Get <ObservableCollection <Bar> >(),
                                          "bars.txt");

            importBars.Execute();
            while (true)
            {
                try
                {
                    string command = Console.ReadLine();

                    if (command == "stop")
                    {
                        break;
                    }

                    if (command == "pnl")
                    {
                        Console.WriteLine(String.Format("Реализованный профит и лосс составляет {0} пунктов",
                                                        TradingData.Instance.GetProfitAndLossPoints(strategy)));
                    }
                }
                catch (System.Runtime.InteropServices.COMException e)
                {
                    DefaultLogger.Instance.Log(e.Message);
                }
            }
        }
示例#3
0
        public void Transaction_import_bars_when_file_exists()
        {
            string path = String.Concat(ProjectRootFolderNameFactory.Make(), "\\TestData\\SPFB.RTS_130807_130807.txt");

            Assert.AreEqual(0, this.marketData.Get <ObservableCollection <Bar> >().Count);

            ITransaction import = new ImportBarsTransaction(this.marketData.Get <ObservableCollection <Bar> >(), path);

            import.Execute();

            Assert.AreEqual(7, this.marketData.Get <ObservableCollection <Bar> >().Count);
        }
示例#4
0
        static void Main(string[] args)
        {
            try
            {
                Console.BufferHeight = 300;
                Console.BufferWidth  = 230;

                Console.WindowHeight = 90;
                Console.WindowWidth  = 110;

                Console.WindowTop  = 0;
                Console.WindowLeft = 0;
            }
            catch
            {
                Console.WriteLine(String.Format("Error Console.Window Size"));
            }

            Console.WriteLine(String.Format("Console.BufferHeight {0}", Console.BufferHeight));
            Console.WriteLine(String.Format("Console.BufferWidth {0}", Console.BufferWidth));
            Console.WriteLine(String.Format("Console.WindowHeight {0}", Console.WindowHeight));
            Console.WriteLine(String.Format("Console.WindowWidth {0}", Console.WindowWidth));
            Console.WriteLine(String.Format("Console.WindowTop {0}", Console.WindowTop));
            Console.WriteLine(String.Format("Console.WindowLeft {0}", Console.WindowLeft));


            TradingData.Instance.Get <ICollection <StrategyHeader> >().Add(strategyHeader);

            //BarSettings barSettings = new BarSettings(strategyHeader, "RIH4", 3600, 3);
            //BarSettings barSettings = new BarSettings(strategyHeader, "SPFB.RTS-3.14", 3600, 3);
            TradingData.Instance.Get <ICollection <BarSettings> >().Add(barSettings);

            BreakOutOnBar breakOnBar =
                new BreakOutOnBar(strategyHeader,
                                  TradingData.Instance,
                                  SignalQueue.Instance,
                                  DefaultLogger.Instance);

            StopLossOnBar stopLossOnBar =
                new StopLossOnBar(strategyHeader,
                                  100,
                                  TradingData.Instance,
                                  SignalQueue.Instance,
                                  DefaultLogger.Instance);

            TakeProfitOnBar takeProfitOnBar =
                new TakeProfitOnBar(strategyHeader,
                                    100,
                                    TradingData.Instance,
                                    SignalQueue.Instance,
                                    DefaultLogger.Instance);


            ITransaction importBars =
                new ImportBarsTransaction(TradingData.Instance.Get <ObservableCollection <Bar> >(),
                                          "bars.txt");

            importBars.Execute();

            //список доступных команд
            ConsoleWriteCommands();

            while (true)
            {
                try
                {
                    string command = Console.ReadLine();

                    if (command == "x")
                    {
                        //adapter.Stop();

                        //ExportData<Order>(AppSettings.GetValue<bool>("ExportOrdersOnExit"));
                        ExportData <Trade>(AppSettings.GetValue <bool>("ExportTradesOnExit"));
                        ExportData <Bar>(AppSettings.GetValue <bool>("ExportBarsOnExit"));

                        break;
                    }
                    if (command == "h")
                    {
                        Console.Clear();
                        ConsoleWriteCommands();
                    }

                    if (command == "t")
                    {
                        Console.Clear();

                        foreach (Trade item in TradingData.Instance.Get <IEnumerable <Trade> >())
                        {
                            Console.WriteLine(item.ToString());
                        }
                    }

                    if (command == "b")
                    {
                        Console.Clear();
                        foreach (Bar item in TradingData.Instance.Get <IEnumerable <Bar> >().OrderBy(i => i.DateTime))
                        //foreach (Bar item in TradingData.Instance.Get<IEnumerable<Bar>>())
                        {
                            Console.WriteLine(item.ToString());
                        }
                    }

                    if (command == "p")
                    {
                        Console.WriteLine(String.Format("Реализованный профит и лосс составляет {0} пунктов",
                                                        TradingData.Instance.GetProfitAndLossPoints(strategyHeader)));
                    }
                }
                catch (System.Runtime.InteropServices.COMException e)
                {
                    DefaultLogger.Instance.Log(e.Message);
                }
            }
        }