private T SendRequest <T>(IntervalPeriod periodInterval, DataType dataType = DataType.Bid) where T : HistoricalData { T data = null; var request = new TimeHistoricalRequest(InstrumentsManager.Current, dataType, periodInterval.Period, periodInterval.Value); data = HistoricalDataManager.Get(request, new Interval(GetFromPeriod(periodInterval), DateTime.UtcNow)) as T; var result = new AsyncResult(data); HistoricalDataManager.OnLoaded = (historianData) => { result = new AsyncResult(historianData, true); result.Status = "Done"; }; do { result.Status = "Loading"; } while (!result.IsReady); asyncResults.Add(result); data = result.Data as T; return(data); }
public override void Update(TickStatus args) { if (!loadData) { HistoricalDataManager.Get(HistoryDataSeries.HistoricalRequest, new Interval(barData.GetTimeUtc(), DateTime.UtcNow)); loadData = true; } }
public override void Update(TickStatus args) { if (HistoryDataSeries.Count == 1) { var timeRequest = HistoryDataSeries.HistoricalRequest as TimeHistoricalRequest; if (timeRequest == null) { return; } var interval = new Interval(HistoryDataSeries.GetTimeUtc(HistoryDataSeries.Count - 1), DateTime.UtcNow); hd1 = HistoryDataSeries; hd2 = HistoricalDataManager.Get(timeRequest.GetRequest(instrument2), interval); } }
public override void Update(TickStatus args) { if (!historyRequested) { inst = InstrumentsManager.Current; var dayRequest = new TimeHistoricalRequest(inst, DataType.Trade, Period.Day, 1); var weekRequest = new TimeHistoricalRequest(inst, DataType.Trade, Period.Week, 1); var monthRequest = new TimeHistoricalRequest(inst, DataType.Trade, Period.Month, 1); dailyBars = HistoricalDataManager.Get(dayRequest, new Interval(DateTime.UtcNow.AddDays(-252).ToLocalTime(), DateTime.UtcNow.ToLocalTime())) as BarData; weeklyBars = HistoricalDataManager.Get(weekRequest, new Interval(DateTime.UtcNow.AddDays(-250).ToLocalTime(), DateTime.UtcNow.ToLocalTime())) as BarData; monthlyBars = HistoricalDataManager.Get(monthRequest, new Interval(DateTime.UtcNow.AddMonths(-160).ToLocalTime(), DateTime.UtcNow.ToLocalTime())) as BarData; historyRequested = true; } if (args == TickStatus.IsBar) { Process(); } }