Exemple #1
0
        /// <summary>
        /// Gets all open orders on the account
        /// </summary>
        /// <returns>The open orders returned from IB</returns>
        public List <Order> GetOpenOrders()
        {
            var orders = new List <Order>();

            var manualResetEvent = new ManualResetEvent(false);

            // define our handlers
            EventHandler <IB.OpenOrderEventArgs> clientOnOpenOrder    = (sender, args) => orders.Add(ConvertOrder(args.Order, args.Contract));
            EventHandler <EventArgs>             clientOnOpenOrderEnd = (sender, args) => manualResetEvent.Set();

            // add the handlers
            _client.OpenOrder    += clientOnOpenOrder;
            _client.OpenOrderEnd += clientOnOpenOrderEnd;

            _client.RequestOpenOrders();

            manualResetEvent.WaitOne();

            // remove the handlers
            _client.OpenOrder    -= clientOnOpenOrder;
            _client.OpenOrderEnd -= clientOnOpenOrderEnd;

            return(orders);
        }