Ejemplo n.º 1
0
 /// <summary>
 /// To get the transactions storage the specified instrument.
 /// </summary>
 /// <param name="serializer">The serializer.</param>
 /// <returns>The transactions storage.</returns>
 public IMarketDataStorage <ExecutionMessage> GetTransactionStorage(IMarketDataSerializer <ExecutionMessage> serializer)
 {
     return(new TransactionStorage(Security, GetStorageDrive(serializer, ExecutionTypes.Transaction), serializer));
 }
Ejemplo n.º 2
0
        protected MarketDataStorage(SecurityId securityId, object arg, Func <TMessage, DateTimeOffset> getTime, Func <TMessage, SecurityId> getSecurityId, Func <TMessage, TId> getId, IMarketDataSerializer <TMessage> serializer, IMarketDataStorageDrive drive)
        {
            if (securityId.IsDefault())
            {
                throw new ArgumentException(LocalizedStrings.Str1025, nameof(securityId));
            }

            SecurityId = securityId;

            AppendOnlyNew = true;

            _getTime       = getTime ?? throw new ArgumentNullException(nameof(getTime));
            _getSecurityId = getSecurityId ?? throw new ArgumentNullException(nameof(getSecurityId));
            _getId         = getId ?? throw new ArgumentNullException(nameof(getId));
            Drive          = drive ?? throw new ArgumentNullException(nameof(drive));
            Serializer     = serializer ?? throw new ArgumentNullException(nameof(serializer));
            _arg           = arg;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// To get the storage of level1 data.
 /// </summary>
 /// <param name="serializer">The serializer.</param>
 /// <returns>The storage of level1 data.</returns>
 public IMarketDataStorage <Level1ChangeMessage> GetLevel1Storage(IMarketDataSerializer <Level1ChangeMessage> serializer)
 {
     return(new Level1Storage(Security, GetStorageDrive(serializer), serializer));
 }
Ejemplo n.º 4
0
        /// <summary>
        /// To get the candles storage the specified instrument.
        /// </summary>
        /// <param name="candleType">The candle type.</param>
        /// <param name="arg">Candle arg.</param>
        /// <param name="serializer">The serializer.</param>
        /// <returns>The candles storage.</returns>
        public IMarketDataStorage <CandleMessage> GetCandleStorage(Type candleType, object arg, IMarketDataSerializer <CandleMessage> serializer)
        {
            if (candleType == null)
            {
                throw new ArgumentNullException(nameof(candleType));
            }

            if (!candleType.IsCandleMessage())
            {
                throw new ArgumentOutOfRangeException(nameof(candleType), candleType, LocalizedStrings.WrongCandleType);
            }

            return(typeof(CandleStorage <,>).Make(candleType, candleType.ToCandleType()).CreateInstance <IMarketDataStorage <CandleMessage> >(Security, arg, GetStorageDrive(serializer, candleType, arg), serializer));
        }
Ejemplo n.º 5
0
			IMarketDataStorage<NewsMessage> IMarketDataDrive.GetNewsMessageStorage(IMarketDataSerializer<NewsMessage> serializer)
			{
				return GetDrive().GetNewsMessageStorage(serializer);
			}
Ejemplo n.º 6
0
        protected MarketDataStorage(SecurityId securityId, object arg, Func <TData, DateTimeOffset> getTime, Func <TData, SecurityId> getSecurityId, Func <TData, TId> getId, IMarketDataSerializer <TData> serializer, IMarketDataStorageDrive drive)
        {
            if (securityId == null)
            {
                throw new ArgumentNullException("securityId");
            }

            if (securityId == default(SecurityId))
            {
                throw new ArgumentException(LocalizedStrings.Str1025, "securityId");
            }

            if (getTime == null)
            {
                throw new ArgumentNullException("getTime");
            }

            if (getSecurityId == null)
            {
                throw new ArgumentNullException("getSecurityId");
            }

            if (getId == null)
            {
                throw new ArgumentNullException("getId");
            }

            if (serializer == null)
            {
                throw new ArgumentNullException("serializer");
            }

            if (drive == null)
            {
                throw new ArgumentNullException("drive");
            }

            SecurityId = securityId;

            AppendOnlyNew = true;

            _getTime       = getTime;
            _getSecurityId = getSecurityId;
            _getId         = getId;
            Drive          = drive;
            Serializer     = serializer;
            _arg           = arg;
        }
Ejemplo n.º 7
0
 private IMarketDataStorageDrive GetStorageDrive <TMessage>(IMarketDataSerializer <TMessage> serializer, object arg = null)
     where TMessage : Message
 {
     return(GetStorageDrive(serializer, typeof(TMessage), arg));
 }
Ejemplo n.º 8
0
 public MarketDepthStorage(SecurityMarketDataDrive parent, Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <QuoteChangeMessage> serializer)
     : base(parent, security, null, depth => depth.ServerTime, depth => depth.SecurityId, depth => depth.ServerTime.StorageTruncate(serializer.TimePrecision), serializer, drive)
 {
 }
Ejemplo n.º 9
0
 public Level1Storage(Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <Level1ChangeMessage> serializer)
     : base(security, null, value => value.ServerTime, value => value.SecurityId, value => value.ServerTime.Truncate(), serializer, drive)
 {
 }
Ejemplo n.º 10
0
 public TransactionStorage(Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <ExecutionMessage> serializer)
     : base(security, ExecutionTypes.Transaction, msg => msg.ServerTime, msg => msg.SecurityId, msg => msg.TransactionId, serializer, drive)
 {
     AppendOnlyNew = false;
 }
Ejemplo n.º 11
0
 public CandleStorage(Security security, object arg, IMarketDataStorageDrive drive, IMarketDataSerializer <TCandleMessage> serializer)
     : base(security, arg, drive, serializer)
 {
 }
Ejemplo n.º 12
0
 protected CandleMessageStorage(Security security, object arg, IMarketDataStorageDrive drive, IMarketDataSerializer <TCandleMessage> serializer)
     : base(security, arg, candle => candle.OpenTime, candle => candle.SecurityId, candle => candle.OpenTime.Truncate(), serializer, drive)
 {
 }
Ejemplo n.º 13
0
 public MarketDepthStorage(Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <QuoteChangeMessage> serializer)
     : base(security, null, depth => depth.ServerTime, depth => depth.SecurityId, depth => depth.ServerTime.Truncate(), serializer, drive)
 {
 }
Ejemplo n.º 14
0
 protected ConvertableStorage(SecurityMarketDataDrive parent, Security security, object arg, Func <TMessage, DateTimeOffset> getTime, Func <TMessage, SecurityId> getSecurity, Func <TMessage, TId> getId, IMarketDataSerializer <TMessage> serializer, IMarketDataStorageDrive drive)
     : base(security, arg, getTime, getSecurity, getId, serializer, drive)
 {
     _parent = parent;
 }
Ejemplo n.º 15
0
 private IMarketDataStorageDrive GetStorageDrive(IMarketDataSerializer serializer, Type messageType, object arg = null)
 {
     return(Drive.GetStorageDrive(Security.ToSecurityId(), messageType, arg, ToFormat(serializer)));
 }
Ejemplo n.º 16
0
 public TradeStorage(SecurityMarketDataDrive parent, Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <ExecutionMessage> serializer)
     : base(parent, security, ExecutionTypes.Tick, trade => trade.ServerTime, trade => trade.SecurityId, trade => trade.TradeId ?? 0, serializer, drive)
 {
 }
Ejemplo n.º 17
0
 /// <summary>
 /// To get the storage of order books for the specified instrument.
 /// </summary>
 /// <param name="serializer">The serializer.</param>
 /// <returns>The order books storage.</returns>
 public IMarketDataStorage <QuoteChangeMessage> GetQuoteStorage(IMarketDataSerializer <QuoteChangeMessage> serializer)
 {
     return(new MarketDepthStorage(Security, GetStorageDrive(serializer), serializer));
 }
Ejemplo n.º 18
0
 public OrderLogStorage(SecurityMarketDataDrive parent, Security security, IMarketDataStorageDrive drive, IMarketDataSerializer <ExecutionMessage> serializer)
     : base(parent, security, ExecutionTypes.OrderLog, item => item.ServerTime, item => item.SecurityId, item => item.TransactionId, serializer, drive)
 {
 }
Ejemplo n.º 19
0
 /// <summary>
 /// To get the storage of orders log for the specified instrument.
 /// </summary>
 /// <param name="serializer">The serializer.</param>
 /// <returns>The storage of orders log.</returns>
 public IMarketDataStorage <ExecutionMessage> GetOrderLogStorage(IMarketDataSerializer <ExecutionMessage> serializer)
 {
     return(new OrderLogStorage(Security, GetStorageDrive(serializer, ExecutionTypes.OrderLog), serializer));
 }
Ejemplo n.º 20
0
		/// <summary>
		/// Получить хранилище новостей.
		/// </summary>
		/// <param name="serializer">Сериализатор.</param>
		/// <returns>Хранилище новостей.</returns>
		public IMarketDataStorage<NewsMessage> GetNewsMessageStorage(IMarketDataSerializer<NewsMessage> serializer)
		{
			throw new NotImplementedException();
		}
Ejemplo n.º 21
0
        protected MarketDataStorage(Security security, object arg, Func <TData, DateTimeOffset> getTime, Func <TData, SecurityId> getSecurity, Func <TData, TId> getId, IMarketDataSerializer <TData> serializer, IMarketDataStorageDrive drive)
            : this(security.ToSecurityId(), arg, getTime, getSecurity, getId, serializer, drive)
        {
            if (security == null)
            {
                throw new ArgumentNullException("security");
            }

            if (security.Id.IsEmpty())
            {
                throw new ArgumentException(LocalizedStrings.Str1025, "security");
            }

            Security = security;
        }