private static Dictionary <int, TimeSeries> GetInstrumentData(Trade trade, IDataSourcer dataSourcer, DateTime startDate, DateTime endDate) { var data = new Dictionary <int, TimeSeries>(); if (trade.Orders == null) { return(data); } foreach (EntityModel.Instrument inst in trade.Orders.Select(x => x.Instrument).Distinct(x => x.ID)) { data.Add(inst.ID, new TimeSeries(dataSourcer.GetData(inst, startDate, endDate))); } return(data); }
/// <summary> /// When we need external data (benchmarking vs Opening price), this is /// where we request it. /// </summary> private void RequestRequiredData() { _data.Clear(); Dictionary <Instrument, KeyValuePair <DateTime, DateTime> > neededDates = GetNeededDates(); foreach (var kvp in neededDates) { var instrument = kvp.Key; DateTime fromDate = kvp.Value.Key; DateTime toDate = kvp.Value.Value; var data = _datasourcer.GetData(instrument, fromDate, toDate); _data.Add(instrument.ID, data); } }
private static Dictionary<int, TimeSeries> GetInstrumentData(Trade trade, IDataSourcer dataSourcer, DateTime startDate, DateTime endDate) { var data = new Dictionary<int, TimeSeries>(); if (trade.Orders == null) return data; foreach (EntityModel.Instrument inst in trade.Orders.Select(x => x.Instrument).Distinct(x => x.ID)) { data.Add(inst.ID, new TimeSeries(dataSourcer.GetData(inst, startDate, endDate))); } return data; }