Esempio n. 1
0
 public ClientWrapper(ILogger <ClientWrapper> logger, IIBClient ibClient, IEReaderSignal signal, ServerConfig config)
 {
     this.ibClient = ibClient ?? throw new ArgumentNullException(nameof(ibClient));
     this.signal   = signal ?? throw new ArgumentNullException(nameof(signal));
     this.config   = config ?? throw new ArgumentNullException(nameof(config));
     this.logger   = logger ?? throw new ArgumentNullException(nameof(logger));
     TimeZone      = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
 }
Esempio n. 2
0
File: IB.cs Progetto: karlcc/qdms
        public IB(string host, int port, int clientID = -1, IIBClient client = null)
        {
            Name = "Interactive Brokers";

            if (clientID < 0)
            {
                clientID = 99;
            }
            _host     = host;
            _port     = port;
            _clientID = clientID;

            _realTimeDataRequests = new Dictionary <int, RealTimeDataRequest>();
            _realTimeRequestQueue = new Queue <int>();

            _historicalDataRequests = new ConcurrentDictionary <int, HistoricalDataRequest>();
            _historicalRequestQueue = new Queue <int>();

            _arrivedHistoricalData = new ConcurrentDictionary <int, List <OHLCBar> >();

            _subRequestIDMap = new Dictionary <int, int>();
            _subRequestCount = new Dictionary <int, int>();
            _requestIDMap    = new Dictionary <int, int>();

            _requestRepeatTimer          = new Timer(20000); //we wait 20 seconds to repeat failed requests
            _requestRepeatTimer.Elapsed += ReSendRequests;

            _connectionStatusUpdateTimer          = new Timer(1000);
            _connectionStatusUpdateTimer.Elapsed += _connectionStatusUpdateTimer_Elapsed;
            _connectionStatusUpdateTimer.Start();

            _requestCounter = 1;

            _client                   = client ?? new IBClient();
            _client.Error            += _client_Error;
            _client.ConnectionClosed += _client_ConnectionClosed;
            _client.RealTimeBar      += _client_RealTimeBar;
            _client.HistoricalData   += _client_HistoricalData;
        }
Esempio n. 3
0
File: IB.cs Progetto: herbota/QDMS
        public IB(ISettings settings, IIBClient client = null, int?clientId = null)
        {
            Name = "Interactive Brokers";

            _host     = settings.ibClientHost;
            _port     = settings.ibClientPort;
            _clientID = clientId.HasValue ? clientId.Value : settings.histClientIBID;
            _ibUseNewRealTimeDataSystem = settings.ibUseNewRealTimeDataSystem;

            _realTimeDataRequests = new Dictionary <int, RealTimeDataRequest>();
            _realTimeRequestQueue = new Queue <int>();

            _historicalDataRequests = new ConcurrentDictionary <int, HistoricalDataRequest>();
            _historicalRequestQueue = new Queue <int>();

            _arrivedHistoricalData = new ConcurrentDictionary <int, List <OHLCBar> >();

            _subRequestIDMap     = new Dictionary <int, int>();
            _subRequestCount     = new Dictionary <int, int>();
            _requestIDMap        = new Dictionary <int, int>();
            _reverseRequestIDMap = new Dictionary <int, int>();

            _requestRepeatTimer          = new Timer(20000); //we wait 20 seconds to repeat failed requests
            _requestRepeatTimer.Elapsed += ReSendRequests;

            _connectionStatusUpdateTimer          = new Timer(1000);
            _connectionStatusUpdateTimer.Elapsed += _connectionStatusUpdateTimer_Elapsed;
            _connectionStatusUpdateTimer.Start();

            _requestCounter = 1;

            _client                       = client ?? new Client();
            _client.Error                += _client_Error;
            _client.ConnectionClosed     += _client_ConnectionClosed;
            _client.RealTimeBar          += _client_RealTimeBar;
            _client.HistoricalData       += _client_HistoricalData;
            _client.HistoricalDataEnd    += _client_HistoricalDataEnd;
            _client.HistoricalDataUpdate += _client_HistoricalDataUpdate;
        }