/// <summary>
        /// Looks for opening white marubozus.
        /// </summary>
        private void LookForOpeningWhiteMarubozus(CandlestickAnalyzer candlestick, List<StockDaily> dailies, int index, DateTime date)
        {
            if (candlestick.IsOpeningWhiteMarubozu())
            {
                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.openingWhiteMarubozuNumOccurences++;
                this.openingWhiteMarubozuTotalLumens += lumens;
                this.openingWhiteMarubozuLumenRating = Convert.ToInt32(this.openingWhiteMarubozuTotalLumens / this.openingWhiteMarubozuNumOccurences);

                Console.WriteLine("Opening White Marubozus -- Symbol=" + candlestick.TickerSymbol + ";  Date=" + date.ToShortDateString() + ";  Lumens=" + lumens + "; Rating=" + this.openingWhiteMarubozuLumenRating);
            }
        }
        /// <summary>
        /// Looks for opening white marubozus.
        /// </summary>
        private void LookForOpeningWhiteMarubozus(CandlestickAnalyzer candlestick, List<StockDaily> dailies, int index, DateTime date)
        {
            if (candlestick.IsOpeningWhiteMarubozu())
            {
                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.openingWhiteMarubozuNumOccurences++;
                this.openingWhiteMarubozuTotalLumens += lumens;
                this.openingWhiteMarubozuLumenRating = Convert.ToInt32(this.openingWhiteMarubozuTotalLumens / this.openingWhiteMarubozuNumOccurences);

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

                using (var context = new StockScreenerEntities())
                {
                    if (context.CandlesticksToStocks.Count(entry => entry.CandlestickId == PatternIds.WhiteOpeningMarubozu && entry.Ticker.Equals(candlestick.TickerSymbol)) > 0)
                    {
                        var candlestickToStock = context.CandlesticksToStocks.First(
                            entry =>
                            entry.CandlestickId == PatternIds.WhiteOpeningMarubozu
                            && 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.WhiteOpeningMarubozu,
                                Exchange = candlestick.Exchange,
                                Ticker = candlestick.TickerSymbol,
                                LumenRating = lumens,
                                NumOccurrences = 1
                            });
                    }

                    context.SaveChanges();
                }
            }
        }