Ejemplo n.º 1
0
 /// <summary>
 /// необъодимо вызывать метов из переопределения консольной команды
 /// Бары
 /// </summary>
 public void ConsoleHandlerB()
 {
     Console.Clear();
     foreach (Bar item in TradingData.Instance.Get <IEnumerable <Bar> >().OrderBy(i => i.DateTime))
     //foreach (Bar item in TradingData.Instance.Get<IEnumerable<Bar>>())
     {
         TradeConsole.ConsoleWriteLineBar(item);
         //TradeHubStarter.sendBarString(item);
         TradeHubStarter.sendBar(item);
     }
     //foreach (double item in indicatorsOnBar.MaFast)
     //{
     //    TradeHubStarter.sendDouble1(item);
     //}
     //foreach (double item in indicatorsOnBar.MaSlow)
     //{
     //    TradeHubStarter.sendDouble2(item);
     //}
     foreach (var item in indicatorsOnBar.MaFastValue)
     {
         TradeHubStarter.sendValueDouble1(item);
     }
     foreach (var item in indicatorsOnBar.MaSlowValue)
     {
         TradeHubStarter.sendValueDouble2(item);
     }
     foreach (var item in indicatorsOnBar.CrossX)
     {
         TradeHubStarter.sendValueBool(item);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Статистика
        /// </summary>
        virtual public void ConsoleHandlerS()
        {
            Console.Clear();
            Console.WriteLine("Base.ConsoleHandlerS()");
            TradeConsole.GetBuySellTrades(strategyHeader);
            var dealList = TradeConsole.GetDeals(strategyHeader);

            TradeConsole.ConsoleWriteDealList(dealList);
            //TradeConsole.ExportData<Deal>(dealList.Deals);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Бары
 /// </summary>
 virtual public void ConsoleHandlerB()
 {
     Console.Clear();
     Console.WriteLine("Base.ConsoleHandlerB()");
     foreach (Bar item in TradingData.Instance.Get <IEnumerable <Bar> >().OrderBy(i => i.DateTime))
     //foreach (Bar item in TradingData.Instance.Get<IEnumerable<Bar>>())
     {
         TradeConsole.ConsoleWriteLineBar(item);
         //TradeHubStarter.sendBarString(item);
         TradeHubStarter.sendBar(item);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// StartSignalHub + ConsoleWhile()
        /// </summary>
        virtual public void Do()
        {
            TradeConsole.ConsoleSetSize();
            //TradeConsole.LogAssemblyInfo(assemblies);
            //////Setup();

            MethodHelp();

            Template.MethodSignalRServerStart();
            MethodWaitStart();
            ////ImportTicksTransaction(args);
            MethodPreStart(args);
            MethodWhile();
            Template.MethodSignalRServerDispose();
        }
        private void Experiment(OrderQueueType type, EventWaitHandle waitHandler)
        {
            Stopwatch sw = Stopwatch.StartNew();
            QueueProvider.SetQueueType(type);

            TradeConsole tc = new TradeConsole();
            tc.Execute();

            Broker broker = new Broker();
            broker.Complete = () =>
            {
                sw.Stop();
                Console.WriteLine(string.Format("{1, 35}\t\t\t\t{0}", sw.ElapsedMilliseconds, type.ToString()));

                waitHandler.Set();
            };
            broker.Sell();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Выход
        /// </summary>
        virtual public void ConsoleHandlerX()
        {
            Console.WriteLine("Base.ConsoleHandlerX()");
            Console.WriteLine("Base.ConsoleHandlerX().ExportDataOnExit");
            Export.ExportData <Tick>(AppSettings.GetValue <bool>("ExportTicksOnExit"));
            Export.ExportData <Bar>(AppSettings.GetValue <bool>("ExportBarsOnExit"));
            Export.ExportData <Signal>(AppSettings.GetValue <bool>("ExportSignalsOnExit"));
            Export.ExportData <Order>(AppSettings.GetValue <bool>("ExportOrdersOnExit"));
            Export.ExportData <Trade>(AppSettings.GetValue <bool>("ExportTradesOnExit"));

            ///TODO 2. Перенести Список сделок в Контекст
            if (AppSettings.GetValue <bool>("ExportDealsOnExit"))
            {
                Console.WriteLine("Base.ConsoleHandlerX().ExportDealsOnExit");
                var dealList = TradeConsole.GetDeals(strategyHeader);
                if (dealList != null)
                {
                    Export.ExportData <Deal>(dealList.Deals);
                }
            }

            MethodWaitExit();
        }
Ejemplo n.º 7
0
        //private static Strategy strategyHeader = new Strategy(1, "Sample strategyHeader", "ST46520-RF-01", "SPFB.Si-9.15", 1);
        //private static Strategy strategyHeader = new Strategy(1, "Sample strategyHeader", null, null, 1);

        static void Main(string[] args)
        {
            TradeConsole.ConsoleSetSize();

            //AppSettings.GetStringValue("Symbol")
            string symbol = System.Configuration.ConfigurationManager.AppSettings["Symbol"];

            //Console.WriteLine(String.Format("Sybol: {0}", symbol));
            if (symbol == "")
            {
                symbol = null;
            }

            StrategyHeader strategyHeader = new StrategyHeader(1, "Sample strategyHeader", null, symbol, 1);
            BarSettings    barSettings    = new BarSettings(
                strategyHeader,
                strategyHeader.Symbol,
                //null,
                AppSettings.GetValue <int>("Interval"),
                AppSettings.GetValue <int>("Period"));

            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);

            MakeRangeBarsOnTick updateBarsHandler =
                new MakeRangeBarsOnTick(barSettings,
                                        new TimeTracker(),
                                        TradingData.Instance,
                                        DefaultLogger.Instance);

            TradeConsole.ImportTicksTransaction(args);

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

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

                    if (command == "x")
                    {
                        //adapter.Stop();
                        //TradeConsole.ExportData<Order>(AppSettings.GetValue<bool>("ExportOrdersOnExit"));
                        //TradeConsole.ExportData<Trade>(AppSettings.GetValue<bool>("ExportTradesOnExit"));
                        Export.ExportData <Bar>(AppSettings.GetValue <bool>("ExportBarsOnExit"));

                        break;
                    }
                    if (command == "h")
                    {
                        Console.Clear();
                        TradeConsole.ConsoleWriteCommands();
                        Console.WriteLine("Use data files in args:");
                        Console.WriteLine("Converter.exe in.txt");
                        Console.WriteLine("or use filename by default: {0}", TradeConsole.fileNameDefault);
                        Console.WriteLine("Interval - config file");
                        Console.WriteLine("Symbol - config file");
                    }

                    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());
                            //Console.WriteLine(item.ToImportString());
                        }
                    }

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