예제 #1
0
        /// <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");
            }
        }
예제 #2
0
 /// <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");
 }