IEnumerableEx <TEntity> IMarketDataStorage <TEntity> .Load(DateTime date)
        {
            if (typeof(TEntity) == typeof(Candle))
            {
                var messages = Load(date);

                return(messages
                       .Cast <CandleMessage>()
                       .ToEx(messages.Count)
                       .ToCandles <TEntity>(_security.GetSecurity(date))
                       .ToEx(messages.Count));
            }
            else
            {
                return(Load(date).ToEntities <TMessage, TEntity>(_security.GetSecurity(date)));
            }
        }
Esempio n. 2
0
        IEnumerable <Candle> IMarketDataStorage <Candle> .Load(DateTime date)
        {
            var messages = Load(date);

            return(messages
                   .ToCandles <TCandle>(_security.GetSecurity(date.ApplyTimeZone(TimeZoneInfo.Utc)))
                   .Cast <Candle>());
        }
        IEnumerableEx <Candle> IMarketDataStorage <Candle> .Load(DateTime date)
        {
            var messages = Load(date);

            return(messages
                   .ToCandles <TCandle>(_security.GetSecurity(date))
                   .Cast <Candle>()
                   .ToEx(messages.Count));
        }
		IEnumerableEx<TEntity> IMarketDataStorage<TEntity>.Load(DateTime date)
		{
			var security = _security.GetSecurity(date.ApplyTimeZone(TimeZoneInfo.Utc));

			if (typeof(TEntity) == typeof(Candle))
			{
				var messages = Load(date);

				return messages
					.Cast<CandleMessage>()
					.ToEx(messages.Count)
					.ToCandles<TEntity>(security)
					.ToEx(messages.Count);
			}
			else
				return Load(date).ToEntities<TMessage, TEntity>(security);
		}
		private IMarketDataStorage<T> GetStorage(DateTime date)
		{
			return _getStorage(_security.GetSecurity(date.ApplyTimeZone(TimeZoneInfo.Utc)), Drive.Drive);
		}
Esempio n. 6
0
        /// <summary>
        /// To load messages from embedded storages for specified date.
        /// </summary>
        /// <param name="date">Date.</param>
        /// <returns>The messages.</returns>
        protected override IEnumerable <T> OnLoad(DateTime date)
        {
            var securityId        = _security.ToSecurityId();
            var currentSecurityId = _security.GetSecurity(date);

            foreach (Message msg in base.OnLoad(date))
            {
                switch (msg.Type)
                {
                case MessageTypes.CandlePnF:
                case MessageTypes.CandleRange:
                case MessageTypes.CandleRenko:
                case MessageTypes.CandleTick:
                case MessageTypes.CandleTimeFrame:
                case MessageTypes.CandleVolume:
                {
                    var candleMsg = (CandleMessage)msg;

                    if (candleMsg.SecurityId == currentSecurityId)
                    {
                        yield return(ReplaceSecurityId(msg, securityId));
                    }

                    break;
                }

                case MessageTypes.Execution:
                {
                    var execMsg = (ExecutionMessage)msg;

                    if (execMsg.SecurityId == currentSecurityId)
                    {
                        yield return(ReplaceSecurityId(msg, securityId));
                    }

                    break;
                }

                case MessageTypes.QuoteChange:
                {
                    var quoteMsg = (QuoteChangeMessage)msg;

                    if (quoteMsg.SecurityId == currentSecurityId)
                    {
                        yield return(ReplaceSecurityId(msg, securityId));
                    }

                    break;
                }

                case MessageTypes.Level1Change:
                {
                    var l1Msg = (Level1ChangeMessage)msg;

                    if (l1Msg.SecurityId == currentSecurityId)
                    {
                        yield return(ReplaceSecurityId(msg, securityId));
                    }

                    break;
                }

                default:
                    yield return((T)msg);

                    break;
                }
            }
        }
 private IMarketDataStorage <T> GetStorage(DateTime date)
 {
     return(_getStorage(_security.GetSecurity(date), Drive.Drive));
 }