public TradesResult Run(List <Day> days)
        {
            var result = new TradesResult();

            foreach (var day in days)
            {
                var profit = GetDaysDeal(day.FiveMins);
                if (profit == null)
                {
                    continue;
                }

                result.AddDeal(profit);
            }

            return(result);
        }
        public static TradesResult TestTakeProfit(List <List <Tick> > candles, uint timeOffset, int exitMovingSize, int stopLoss, int takeProfit)
        {
            if (timeOffset > TimeFrame)
            {
                throw new Exception("Bad time offset");
            }

            var tradesResult = new TradesResult();

            foreach (var candle in candles)
            {
                int dealResult = GetCandleResult(candle, timeOffset, exitMovingSize, stopLoss, takeProfit);

                if (dealResult == -1)
                {
                    continue;
                }

                tradesResult.AddDeal(dealResult);
            }

            return(tradesResult);
        }