示例#1
0
            void ICandleSource <Candle> .Start(CandleSeries series, DateTimeOffset from, DateTimeOffset to)
            {
                var transactionId = _connector.TransactionIdGenerator.GetNextId();

                var mdMsg = series.ToMarketDataMessage(true, from, to);

                mdMsg.TransactionId = transactionId;

                mdMsg.FillSecurityInfo(_connector, series.Security);

                _seriesInfos.Add(transactionId, new SeriesInfo(series, mdMsg));
                ((Connector)_connector).SendInMessage(mdMsg);                 // TODO remove cast
            }
示例#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);
            }
示例#3
0
 /// <summary>
 /// To create candles from the order books collection.
 /// </summary>
 /// <param name="depths">Market depths.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="type">Type of candle depth based data.</param>
 /// <param name="onlyFormed">Process only formed candles.</param>
 /// <returns>Candles.</returns>
 public static IEnumerable <CandleMessage> ToCandles(this IEnumerable <QuoteChangeMessage> depths, CandleSeries series, Level1Fields type = Level1Fields.SpreadMiddle, bool onlyFormed = true)
 {
     return(new CandleMessageEnumerable(series.ToMarketDataMessage(true), onlyFormed, depths, type));
 }
示例#4
0
 /// <summary>
 /// To create candles from the tick trades collection.
 /// </summary>
 /// <param name="trades">Tick trades.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="onlyFormed">Process only formed candles.</param>
 /// <returns>Candles.</returns>
 public static IEnumerable <CandleMessage> ToCandles(this IEnumerable <ExecutionMessage> trades, CandleSeries series, bool onlyFormed = true)
 {
     return(new CandleMessageEnumerable(series.ToMarketDataMessage(true), onlyFormed, trades));
 }
示例#5
0
 /// <summary>
 /// To create candles from the order books collection.
 /// </summary>
 /// <param name="depths">Market depths.</param>
 /// <param name="series">Candles series.</param>
 /// <param name="type">Type of candle depth based data.</param>
 /// <param name="onlyFormed">Process only formed candles.</param>
 /// <returns>Candles.</returns>
 public static IEnumerable <CandleMessage> ToCandles(this IEnumerable <QuoteChangeMessage> depths, CandleSeries series, DepthCandleSourceTypes type = DepthCandleSourceTypes.Middle, bool onlyFormed = true)
 {
     return(new CandleMessageEnumerable(series.ToMarketDataMessage(true), onlyFormed, depths, type));
 }