/// <summary>
        /// Is the timerange and granularity specifies more candles than Oanda can handle in one request?
        /// </summary>
        /// <param name="granularity">The granularity to check</param>
        /// <param name="from">From date time</param>
        /// <param name="to">To date time</param>
        /// <returns></returns>
        public static bool AreMultipleQueriesRequired(this CandlestickGranularity granularity, DateTime from, DateTime to)
        {
            // Always convert dates to UTC when working with Oanda
            from = from.ToUniversalTime();
            to   = to.ToUniversalTime();

            // Check the number of candles
            return(granularity.GetNumberOfCandlesForTimeRange(from, to) > OANDA_MAX_CANDLES);
        }
        /// <summary>
        /// Explode a datetime range to multiple to fit in to Oanda API limitation
        /// </summary>
        /// <param name="granularity"></param>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <returns></returns>
        public static IEnumerable <DateTimeRange> ExplodeToMultipleCandleRanges(this CandlestickGranularity granularity, DateTime from, DateTime to)
        {
            // Always convert dates to UTC when working with Oanda
            from = from.ToUniversalTime();
            to   = to.ToUniversalTime();

            // Make the timerange calulation
            var numberOfCandles = granularity.GetNumberOfCandlesForTimeRange(from, to);
            var numberOfQueries = Math.Ceiling(numberOfCandles / OANDA_MAX_CANDLES);
            var candleRanges    = new List <DateTimeRange>();

            for (var i = 0; i <= (numberOfQueries - 1); i++)
            {
                candleRanges.Add(new DateTimeRange()
                {
                    From = from.AddSeconds(i * OANDA_MAX_CANDLES * granularity.GetInSeconds()),
                    To   = (i == (numberOfQueries - 1)) ? to  : from.AddSeconds(((i + 1) * OANDA_MAX_CANDLES * granularity.GetInSeconds()) - 1)
                });
            }

            // Return the tim ranges created
            return(candleRanges);
        }