private void Subscribe(Instrument instrument, DateTime dateTime1, DateTime dateTime2)
{
Console.WriteLine($"{DateTime.Now} DataSimulator::Subscribe {instrument.Symbol}");
var list = new List <DataSeries>();
if (SubscribeTrade)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Trade, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeBid)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Bid, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeAsk)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Ask, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeQuote)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Quote, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeBar)
{
var dataSeriesList = this.framework.DataManager.GetDataSeriesList(instrument, "Bar");
foreach (DataSeries series in dataSeriesList)
{
if (BarFilter.Count != 0)
{
BarType barType;
long barSize;
DataSeriesNameHelper.TryGetBarTypeSize(series, out barType, out barSize);
if (!BarFilter.Contains(barType, barSize))
{
continue;
}
}
list.Add(series);
}
}
if (SubscribeLevelII)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Level2, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeFundamental)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.Fundamental, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
if (SubscribeNews)
{
var series = this.framework.DataManager.GetDataSeries(instrument, DataObjectType.News, BarType.Time, 60);
if (series != null)
{
list.Add(series);
}
}
foreach (var s in list)
{
this.emitters.Add(CreateDataSeriesEmitter(s, dateTime1, dateTime2));
}
}