public static void OptimizeNotMain(string toolName, int startStop, int endStop, int stopStep)
        {
            var          repository       = new HistoryRepository(toolName, false);
            var          resultText       = new List <string>();
            const double breakevenPercent = 0.15;
            var          lastTradeTime    = new TimeSpan(15, 45, 00);
            const int    monotoneCount    = 4;
            const int    invertCount      = 3;
            const double stopPercent      = 1;

            //for (double stopPercent = 0.5; stopPercent < 1.6; stopPercent += 0.1)
            //{
            for (int stopLoss = startStop; stopLoss <= endStop; stopLoss += stopStep)
            {
                var strat = new MonotoneExtremumsStrategy(monotoneCount, stopLoss, invertCount, breakevenPercent, lastTradeTime, stopPercent);

                var result = strat.Run(repository.Days);
                result.PrintDepo(@"mono\depo\" + stopLoss + "_" + (int)(stopPercent * 10) + ".txt");

                if (result.DealsCount == 0)
                {
                    continue;
                }

                resultText.Add(stopLoss + " " + stopPercent);
                resultText.Add(result.ToString());
                resultText.Add("");
            }
            //}

            File.WriteAllLines(@"mono\out.txt", resultText);
        }
        public static void RunMonotoneExtremums(string toolName, int stopLoss, int pegTopSize, double breakevenSize)
        {
            var repository = new HistoryRepository(toolName, false);
            var resultText = new List <string>();

            var strat = new MonotoneExtremumsStrategy(5, stopLoss, 3, 0.2);

            var result = strat.Run(repository.Days);

            result.PrintDepo(@"mono\depo\run.txt");

            resultText.Add(result.ToString());
            resultText.Add("");

            File.WriteAllLines(@"mono\out.txt", resultText);
        }
        public static void OptimizeEndTime(string toolName, int stopLoss, int monotoneCount, int invertCount)
        {
            var repository = new HistoryRepository(toolName, false);
            var resultText = new List <string>();

            for (int hours = 12; hours <= 23; ++hours)
            {
                for (int minutes = 0; minutes < 60; minutes += 15)
                {
                    var time  = new TimeSpan(hours, minutes, 0);
                    var strat = new MonotoneExtremumsStrategy(monotoneCount, stopLoss, invertCount, 0.15, time);

                    var result = strat.Run(repository.Days);
                    result.PrintDepo(@"mono\depo\" + hours + "_" + minutes + ".txt");

                    resultText.Add(hours + "_" + minutes);
                    resultText.Add(result.ToString());
                    resultText.Add("");
                }
            }

            File.WriteAllLines(@"mono\out.txt", resultText);
        }