/// <summary>
        /// Get request identifier by series.
        /// </summary>
        /// <param name="series">Candles series.</param>
        /// <returns>Request identifier.</returns>
        public long TryGetTransactionId(CandleSeries series)
        {
            if (series == null)
            {
                throw new ArgumentNullException(nameof(series));
            }

            lock (_holders.SyncRoot)
                return(_holders.FirstOrDefault(p => p.Value.Series == series).Key);
        }
Beispiel #2
0
            void ICandleSource <Candle> .Stop(CandleSeries series)
            {
                var pair = _seriesInfos.FirstOrDefault(p => p.Value.Series == series);

                if (pair.Value == null)
                {
                    return;
                }

                var transactionId = pair.Key;

                var mdMsg = series.ToMarketDataMessage(false);

                mdMsg.TransactionId         = _connector.TransactionIdGenerator.GetNextId();
                mdMsg.OriginalTransactionId = transactionId;

                mdMsg.FillSecurityInfo(_connector, series.Security);

                _seriesInfos.Remove(transactionId);
                _connector.MarketDataAdapter.SendInMessage(mdMsg);
            }