/// <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); }
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); }