/// <summary>
        /// Looks for closing white marubozus.
        /// </summary>
        private void LookForClosingWhiteMarubozus(CandlestickAnalyzer candlestick, List<StockDaily> dailies, int index, DateTime date)
        {
            if (candlestick.IsClosingWhiteMarubozu())
            {
                var peekIndex = index + 1;
                var lumens = 0;
                while (peekIndex < dailies.Count)
                {
                    if (dailies[peekIndex].LowPrice > candlestick.Low)
                    {
                        lumens++;
                    }
                    else
                    {
                        break;
                    }

                    if (peekIndex - index >= 20)
                    {
                        break;
                    }

                    peekIndex++;
                }

                this.closingWhiteMarubozuNumOccurences++;
                this.closingWhiteMarubozuTotalLumens += lumens;
                this.closingWhiteMarubozuLumenRating = Convert.ToInt32(this.closingWhiteMarubozuTotalLumens / this.closingWhiteMarubozuNumOccurences);

                Console.WriteLine("Closing White Marubozus -- Symbol=" + candlestick.TickerSymbol + ";  Date=" + date.ToShortDateString() + ";  Lumens=" + lumens + "; Rating=" + this.closingWhiteMarubozuLumenRating);
            }
        }
        /// <summary>
        /// Looks for closing white marubozus.
        /// </summary>
        private void LookForClosingWhiteMarubozus(CandlestickAnalyzer candlestick, List<StockDaily> dailies, int index, DateTime date)
        {
            if (candlestick.IsClosingWhiteMarubozu())
            {
                var peekIndex = index + 1;
                var lumens = 0;
                while (peekIndex < dailies.Count)
                {
                    if (dailies[peekIndex].LowPrice > candlestick.Low)
                    {
                        lumens++;
                    }
                    else
                    {
                        break;
                    }

                    if (peekIndex - index >= 100)
                    {
                        break;
                    }

                    peekIndex++;
                }

                this.closingWhiteMarubozuNumOccurences++;
                this.closingWhiteMarubozuTotalLumens += lumens;
                this.closingWhiteMarubozuLumenRating = Convert.ToInt32(this.closingWhiteMarubozuTotalLumens / this.closingWhiteMarubozuNumOccurences);

                Console.WriteLine("Closing White Marubozus -- Symbol=" + candlestick.TickerSymbol + ";  Date=" + date.ToShortDateString() + ";  Lumens=" + lumens + "; Rating=" + this.closingWhiteMarubozuLumenRating);

                using (var context = new StockScreenerEntities())
                {
                    if (context.CandlesticksToStocks.Count(entry => entry.CandlestickId == PatternIds.WhiteClosingMarubozu && entry.Ticker.Equals(candlestick.TickerSymbol)) > 0)
                    {
                        var candlestickToStock = context.CandlesticksToStocks.First(
                            entry =>
                            entry.CandlestickId == PatternIds.WhiteClosingMarubozu
                            && entry.Ticker.Equals(candlestick.TickerSymbol));

                        var newLumenRating = ((candlestickToStock.LumenRating * candlestickToStock.NumOccurrences)
                                              + lumens) / ++candlestickToStock.NumOccurrences;

                        candlestickToStock.LumenRating = newLumenRating;
                    }
                    else
                    {
                        context.CandlesticksToStocks.AddObject(new CandlesticksToStock
                        {
                            CandlestickId = PatternIds.WhiteClosingMarubozu,
                            Exchange = candlestick.Exchange,
                            Ticker = candlestick.TickerSymbol,
                            LumenRating = lumens,
                            NumOccurrences = 1
                        });
                    }

                    context.SaveChanges();
                }
            }
        }