private bool UpdateRequired(SymbolDescription description, BarDataScale barDataScale) { if (!_dataStore.ContainsSymbol(description.FullCode, barDataScale.Scale, barDataScale.BarInterval)) { return(true); } MarketHours mktHours = new MarketHours(); mktHours.Market = GetMarketInfo(description.FullCode); DateTime updateTime = _dataStore.SymbolLastUpdated(description.FullCode, barDataScale.Scale, barDataScale.BarInterval); if (!barDataScale.IsIntraday) { if ((DateTime.Now.Date >= updateTime.Date.AddDays(1)) || (updateTime.Date < mktHours.LastTradingSessionEndedNative.Date)) { return(true); } else { return(false); } } else { if (mktHours.IsMarketOpenNow || (updateTime < mktHours.LastTradingSessionEndedNative)) { return(true); } else { return(false); } } }