Exemple #1
0
        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;
     }
 }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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();
            }
        }