/// <summary> /// Specify either start or end date. It doesn't accept both /// </summary> /// <param name="reqId"></param> /// <param name="contract"></param> /// <param name="start"></param> /// <param name="end"></param> /// <param name="whatToShow"></param> public void GetLatestHistoricalTimeAndSales(int reqId, Contract contract, WhatToShow whatToShow) { _historicalTicks = new Dictionary <int, List <HistoricalTick> >(); _historicalTickBidAsk = new Dictionary <int, List <HistoricalTickBidAsk> >(); _historicalTickLast = new Dictionary <int, List <HistoricalTickLast> >(); if (_allowedTimeAndSalesTickTypes.Contains(whatToShow)) { string endTime = DateHelper.ConvertToApiDate(DateTime.Now); InitializeHistoricalTickDictionary(reqId, whatToShow); ClientSocket.reqHistoricalTicks(reqId, contract, null, endTime, 1000, whatToShow.ToString(), 0, true, null); Notify($"Time and Sales for symbol {contract.Symbol} requested"); } else { NotifyError($"WhatToShow tick type: {whatToShow} not allowed"); } }
/// <summary> /// For Bar Sizes check BarSize class /// For durations check Duration class /// </summary> public void GetHistoricalData(int reqId, Contract contract, string duration, string barSize, WhatToShow whatToShow, Rth rth, bool keepUpToDate) { _historicalData.Add(reqId, new List <Bar>()); ClientSocket.reqHistoricalData(reqId, contract, string.Empty, duration, barSize, whatToShow.ToString(), (int)rth, 1, keepUpToDate, null); Notify($"Historical data for symbol {contract.Symbol} requested"); }