IB IDEALPRO unfair/delayed execution

Discussion in 'Forex Brokers' started by Shafii, Jul 17, 2006.

  1. Shafii

    Shafii

    Hi,
    I had been trying IDEALPRO for little less than two month. Testing live executions with small positions.
    I had a trade on Friday 14th July which I think IB did not fairly execute. I called IB help desk, then I had a live chat support, they said they can not adjust the trade.

    At 8:29 I placed a buy stop order on EUR.USD, stop price 1.2677. The order was filled at 8:30:07, fill price 1.26925. 15.5 pips away from my stop price!?!
    I checked both audit trails and time & sales on TWS, and I noticed that the order was triggered at 8:30:02 but did not execute until 8:30:07?!

    I am including here both audit trail info details and time & sales snapshot from TWS.

    I appreciate your comments on this. It would be nice if someone got a Bloomberg terminal to cross-check Bloomberg Time & Sales with IB's.
    Also, please advice on how I can bring serious attention from IB on this issue.

    Code:
    <TABLE cellSpacing=0 border=1 cellpading="0">
      <TBODY>
      <TR>
        <TH bgColor=#cccccc>Action</TH>
        <TH bgColor=#cccccc>Time</TH>
        <TH noWrap bgColor=#cccccc>Client Order Id</TH>
        <TH noWrap bgColor=#cccccc>Order Id</TH>
        <TH bgColor=#cccccc>Side</TH>
        <TH bgColor=#cccccc>Size</TH>
        <TH bgColor=#cccccc>Contract</TH>
        <TH noWrap bgColor=#cccccc>Order Type</TH>
        <TH bgColor=#cccccc>Price</TH>
        <TH bgColor=#cccccc>TIF</TH>
        <TH bgColor=#cccccc>Misc</TH></TR>
      
      <TR>
        <TD noWrap><STRONG>PlaceOrder</STRONG></TD>
        <TD noWrap>20060714-12:29:32</TD>
        <TD noWrap>101155159.0</TD>
        <TD noWrap>- </TD>
        <TD noWrap>Buy </TD>
        <TD noWrap>125000</TD>
        <TD noWrap>EUR - - - </TD>
        <TD noWrap>Stop </TD>
        <TD noWrap>- </TD>
        <TD noWrap>DAY </TD>
        <TD noWrap>AuxPrice= 1.2677; ClearingAccount= xxxx; 6115 = 0; 
          SecurityType= CASH; SecurityID= EUR.USD; SecurityIDSource= 101; 
          ContractMultiplier= 1.0; ExDestination= IDEALPRO; 6210 = IDEALPRO; 
          ContractID= 12087792; OptionAcct= c; OpenClose= Open; StopPrice= 1.2677; 
          Currency= USD; 6211 = ; 6238 = ; </TD>
      </TR>
      
      <TR>
        <TD noWrap><STRONG>Acknowledged</STRONG></TD>
        <TD noWrap>20060714-12:30:02</TD>
        <TD noWrap>101155159.0</TD>
        <TD noWrap>0002edfe.000137a2.44b71ab4.0001</TD>
        <TD noWrap>Buy </TD>
        <TD noWrap>125000</TD>
        <TD noWrap>EUR - - - </TD>
        <TD noWrap>Stop </TD>
        <TD noWrap>- </TD>
        <TD noWrap>DAY </TD>
        <TD noWrap>ExecID= 0; ExecType= New; ExecTransType= Status; OrdStatus= 
          New; 6210 = IDEALPRO; AuxPrice= 1.2677; StopPrice= 1.2677; CumQty= 0; 
          LeavesQty= 125000; AvgPx= 0; SecurityType= CASH; ClearingFirm= CITI-FX; 
          ClearingAccount= xxxx; Account= xxxx; ConQPath= 
          EUR/CASH/USD/12087792/41597/BEARFX/239/EUR.USD/EUR.USD; TransactTime= 
          20060714-12:30:02; Rule80A= AgenySingleOrder; ContractID= 12087792; 
          Currency= USD; Exchange= IDEALPRO; 6116 = 0; InstrumentType= CASH; 
          OpenClose= Open; OptionAcct= c; CustomerOrFirm= Customer; 
          WorkingIndicator: Y; </TD>
      </TR>
      <TR>
        <TD noWrap><STRONG>Filled</STRONG></TD>
        <TD noWrap>20060714-12:30:07</TD>
        <TD noWrap>101155159.0</TD>
        <TD noWrap>0002edfe.000137a2.44b71ab4.0001</TD>
        <TD noWrap>Buy </TD>
        <TD noWrap>125000</TD>
        <TD noWrap>EUR - - - </TD>
        <TD noWrap>Stop </TD>
        <TD noWrap>1.26925</TD>
        <TD noWrap>- </TD>
        <TD noWrap>ExecID= 0001ced8.421f957b.01.01; ExecType= Filled; 
          ExecTransType= New; OrdStatus= Filled; ExDestination= UBSFX; 
          SecurityExchange= UBSFX; AuxPrice= 1.2677; LastMarket= UBSFX; CumQty= 
          125000; LeavesQty= 0; AvgPx= 1.26925; SecurityType= CASH; ClearingFirm= 
          CITI-FX; ClearingAccount= xxxx; Account= xxxx; ConQPath= 
          EUR/CASH/USD/12087792/41597/UBSFX/239/EUR.USD/EUR.USD; TransactTime= 
          20060714-12:30:07; OpenClose= Open; OptionAcct= c; CustomerOrFirm= 
          Customer; </TD>
      </TR>
      </TBODY></TABLE>
    
     
    • ts.gif
      File size:
      39 KB
      Views:
      96
  2. Graham1

    Graham1

    Here's the futures prices during that 20 second interval. Subtract 54 pips to get the cash-equivalent. I realise they are not the same market but gives you an idea of the volatility around the news release.


    072950 127260 5
    072950 127260 2
    072951 127260 1
    072951 127260 4
    072952 127270 4
    072952 127270 2
    072952 127280 11
    072952 127290 1
    072952 127290 1
    072952 127290 2
    072952 127290 1
    072952 127290 2
    072952 127300 9
    072952 127300 41
    072952 127300 1
    072952 127310 2
    072952 127320 1
    072952 127320 2
    072952 127320 4
    072952 127330 1
    072952 127330 2
    072952 127330 1
    072952 127330 1
    072952 127330 3
    072952 127330 12
    072952 127330 1
    072952 127330 1
    072952 127310 5
    072952 127330 8
    072953 127280 1
    072953 127280 2
    072953 127260 2
    072953 127260 1
    072953 127270 1
    072953 127280 6
    072953 127330 4
    072953 127290 1
    072953 127280 5
    072953 127290 2
    072953 127290 2
    072953 127280 1
    072953 127330 3
    072953 127330 1
    072953 127330 9
    072954 127320 1
    072954 127290 1
    072954 127280 3
    072954 127250 1
    072955 127290 1
    072955 127250 1
    072956 127230 2
    072956 127220 2
    072956 127220 2
    072956 127220 2
    072956 127220 1
    072956 127220 5
    072956 127210 15
    072956 127210 1
    072956 127210 6
    072956 127220 1
    072956 127230 3
    072957 127230 7
    072957 127240 1
    072957 127310 1
    072957 127330 5
    072957 127340 2
    072957 127340 5
    072957 127340 1
    072957 127320 1
    072957 127240 1
    072957 127230 1
    072957 127230 1
    072958 127320 1
    072958 127320 1
    072958 127310 1
    072958 127230 1
    072958 127230 6
    072958 127220 1
    072958 127220 1
    072959 127310 1
    073000 127240 1
    073000 127240 1
    073001 127280 1
    073001 127290 1
    073001 127300 8
    073001 127310 1
    073001 127320 6
    073001 127340 25
    073001 127350 18
    073001 127350 1
    073001 127350 10
    073001 127350 1
    073001 127350 3
    073001 127360 37
    073001 127360 10
    073001 127360 1
    073001 127360 1
    073001 127360 47
    073001 127370 1
    073001 127350 1
    073001 127350 1
    073001 127370 5
    073001 127380 9
    073001 127390 15
    073001 127390 1
    073001 127220 1
    073002 127390 10
    073002 127380 1
    073002 127380 2
    073002 127390 2
    073002 127380 1
    073002 127360 1
    073002 127270 1
    073002 127270 1
    073002 127270 1
    073002 127270 1
    073002 127260 1
    073002 127250 7
    073003 127340 1
    073003 127340 6
    073003 127340 4
    073003 127340 4
    073003 127340 2
    073003 127330 1
    073003 127310 1
    073003 127320 1
    073003 127320 3
    073003 127360 2
    073003 127360 1
    073003 127340 3
    073003 127340 1
    073003 127330 1
    073003 127330 3
    073003 127330 2
    073003 127320 7
    073003 127320 6
    073003 127320 3
    073003 127320 4
    073003 127320 2
    073003 127320 2
    073003 127310 1
    073003 127310 8
    073003 127310 16
    073003 127310 6
    073003 127320 3
    073003 127320 8
    073003 127320 1
    073003 127320 2
    073004 127320 8
    073004 127320 3
    073004 127320 9
    073004 127340 4
    073004 127350 4
    073004 127360 7
    073004 127360 12
    073004 127360 1
    073004 127380 4
    073004 127370 1
    073004 127380 1
    073004 127380 2
    073004 127390 6
    073004 127390 3
    073004 127400 16
    073004 127400 4
    073004 127400 11
    073004 127410 26
    073004 127420 3
    073004 127420 1
    073004 127420 2
    073004 127420 1
    073004 127420 2
    073004 127430 16
    073004 127440 9
    073004 127450 6
    073004 127460 12
    073004 127470 5
    073004 127470 13
    073004 127470 1
    073004 127470 3
    073004 127470 1
    073004 127470 10
    073004 127470 8
    073004 127470 2
    073004 127480 1
    073004 127480 8
    073004 127480 17
    073004 127490 3
    073004 127490 2
    073004 127490 2
    073004 127490 1
    073004 127490 8
    073004 127490 2
    073004 127490 3
    073004 127490 1
    073004 127490 2
    073004 127490 1
    073004 127490 1
    073004 127490 2
    073004 127500 8
    073004 127500 1
    073004 127510 17
    073004 127520 3
    073004 127530 7
    073004 127540 3
    073004 127550 21
    073004 127560 10
    073004 127580 4
    073004 127580 1
    073004 127580 1
    073004 127580 1
    073004 127580 2
    073004 127580 1
    073004 127580 2
    073004 127580 24
    073004 127590 2
    073004 127590 6
    073004 127590 5
    073004 127600 13
    073004 127650 1
    073004 127630 1
    073004 127610 1
    073004 127630 1
    073004 127570 1
    073004 127550 1
    073004 127560 1
    073004 127570 1
    073004 127550 1
    073006 127540 1
    073006 127550 1
    073006 127540 1
    073007 127550 1
    073007 127540 1
    073008 127550 1
    073008 127540 1
    073009 127540 114
    073009 127530 2
    073009 127520 5
    073009 127510 5
    073009 127500 6
    073009 127490 4
    073009 127480 2
    073009 127480 2
    073009 127540 1
    073009 127470 15
    073009 127460 16
    073009 127450 8
    073009 127450 1
    073009 127470 5
    073009 127470 4
    073009 127480 2
    073009 127470 3
    073009 127460 1
    073009 127480 2
    073009 127470 1
    073009 127460 2
    073009 127450 3
    073009 127450 1
    073010 127440 5
     
  3. if you trade during a fast market or news, its at your own risk. IB or any other FX broker will never guarantee you a price on a stop during abnormal market conditions.

    Grow up. You dont have a leg to stand on. Count yourself lucky you only got 15 pips slip in a market like that, it could have cost you a shitload more.
     
  4. Shafii

    Shafii

    I a fast markets, quotes jump from one price range to another.
    In this case the market was trading for 5 full seconds before the broker filled my order.
    That's a clear broker inefficiency for me.

    Also, how can a trader guarantee fair execution? I see the broker always has the upper hand on dictating execution and quotes.
     
  5. Shafii

    Shafii

    Just to bring this up.
     
  6. WTF are you going on about?

    The 5 seconds delay purely depends on how you set up your stop execution: If it is based on last trade then that is clearly possible. Or do you think there is a trade every 1/10 of a second? If it is based on last bid / ask then you get screwed when there is temporarily no bid / ask and you may hit 100 pips loss, do you rather have that? And then you start whining if your stop has been hit and there has not been a trade.

    To me it is very clear that you do not understand how the market and how stops work.

    Stop accusing IB of improper activity, they are not your typical FX bucket shop. In all my years with them I have found them to be extremely reliable and above board.


    vital statistix
     
  7. Shafii

    Shafii

    AFAIK, stop-market orders triggering on IB is always based on bid/ask prices, for example, a stop-market sell order is triggered when ask price hits the stop price, the order is then executed as a market order.
    Also 5 seconds is too long to execute a market order, if you check attached time and sales window in my first post you can see the banks (liquidity providers for IB) had posted so many bid/ask quotes during those 5 seconds.
    By definition, market orders - unlike limit ordera - guarantee execution at bid/ask price depending on which side you are taking.

    I am not whining here, I am rather posting my experience in a professional way to seek fellow trader's opinion on this matter.
    I also agree that IB is not the typical bucket shop, but still we have to report improper executions when found.
     
  8. ballyhoo

    ballyhoo

    Hi Shafi,

    i can understand what you mean, i had the same problems with IB, big slippage (you can not trade news with IB, or you loose money), even in calm times they take one or two pips from you, thats the way they earn money.

    To the other experts, who think that this is quite normal, go and trade with IB and loose your money.

    To all others, be warned and never, i say never trade forex with IB.

    I trade with Oanda, and i had never a slippage even in high volatility like nfp or other news.

    Cheers Ballyhoo
     
  9. Shafii

    Shafii

    Hi Ballyhoo, I have to disagree with you. Despite this execution problem and IB refusal to recognize it. I think IB is still one of the best forex brokers around.
    This type of problems is quite rare with IB. I can confirm that 90% of my trades are executed properly.
     
  10. Shaffi,

    It almost certainly doesnt represent broker inefficiency, its just
    the nature of the experience of trading fast markets.

    If you want to trade these (or IMHO any) markets you should use
    stoplimit orders for entry and usually for your tight trailing stops.
    Stop orders should be used only for your wide/worst case stops.

    If you want to experience real broker inefficiency try trading NY
    pit based markets ... I've had a fill 4 minutes after my stop was
    hit, $1800 worse than the stop price while the price had traded
    better than the stop for two of those 4 minutes after the trigger.

    All part of the learning experience I'm afraid.
     
    #10     Jul 20, 2006