How fast I can place orders with IB

Discussion in 'Order Execution' started by Chronos.Phenomena, Apr 24, 2010.

  1. I'm testing the speed limits i.e. how fast I can place orders with IB?

    or in other words, can I place order no.2 before I receive execution confirmation for order no.1?

    technically speaking
    invoke placeOrder BEFORE execDetails is invoked

    ... right now I'm doing that and it seems to me that I should not really be doing that... after couple of hours of running my software de-syncs with IB...

    Thanks guys
  2. Placing your order and getting executed is always asynchronous (regardless of the broker)
    I don't understand the question in your post, but you can place orders as fast as your software allows. (e.g. i can log into the IB demo account and place an order every 100 milliseconds)

    That doesn't mean you'll get executed.
    e.g. place a limit buy on google @ 100, you've the order in but chances are you won't get executed @ all, but you can still fire another buy limit @ 545 which may get executed.

    I only know IB's java interface, so what will happen there is, an orderstatus will be called every time the order is filled, partially filled, canceled, placed ...

    public void orderStatus( int orderId, String status, int filled, int remaining,
    double avgFillPrice, int permId, int parentId,
    double lastFillPrice, int clientId, String whyHeld) {

    So you may get filled but not all your shares may get filled, which may throw you off when you exit the trade.