Horrible experience:IB cost me $50,000 this morning

Discussion in 'Order Execution' started by zhexin2, Mar 20, 2008.

  1. I highly doubt that IB is any different than other brokers.
    One bang on the account from IB? I had a bang from Xpresstrade. They are all pretty much the same.

    You trade fine for years, then you get the bad trade (for many different reasons). Then you seek a new broker. You trade a few years, and then get the bad trade. Then you seek a new broker.


    etc. etc.
     
    #41     Mar 21, 2008
  2. BSAM

    BSAM

    Yes Virginia, people like this really do exist.
     
    #42     Mar 21, 2008
  3. I use IB and have been sending in monster amounts of orders like yourself, but have never gotten that message. I have however received the message quick a few times "max number of messages per second" --> but then all you have to do is write an algorithm that spaces this out.


    I think all in all IB is a fantastic brokerage.

    1) IB offers 6:1 leverage (portfolio margin), you have to have 5,000,000 at most other "decent" brokerages

    2) The api is fairly good and is one of the few that is well supported.

    3) The customer service @ IB is great.
     
    #43     Mar 21, 2008
  4. zhexin2

    zhexin2

    Since IB has a limit of 50 messages per second, is my request to retrieve open orders considered as messages accounted to the 50-message-per-second limit?
     
    #44     Mar 21, 2008
  5. Actually...
    If you have 500 open orders...
    Which is not really "a lot" at all...
    A request to retrieve all open orders...
    Will likely generate > 500 "messages".

    In a well designed system...
    You would keep track of open orders at your end with the "OrderStatus Event"...
    And then maybe check ALL open orders using the "OpenOrder Event" once every 60 or 90 seconds...
    And do a reconciliation.

    The IB API is poorly designed and klunky...
    So it's easy to code an ATS that will overload it.

    It's also YOUR responsibility to understand the LIMITATIONS of the IB API...
    And build a lot of error-checking and redundancy into your ATS.
     
    #45     Mar 21, 2008
  6. fbell50

    fbell50

    My experience has been that the 50 message/sec limit applies to api calls made to IB, not to their response. So requesting all open orders would count as one. I often cancel or submit 100+ orders without problem. I ensure that I never submit more than 50 messages in any one second period. Occasionally this delay results in either missed trades or too late to cancels, but for how I trade, it is a minor issue.
     
    #46     Mar 22, 2008
  7. You're probably correct...
    But it really doesn't matter...
    Because this is a GREAT example of why the IB API is klunky.

    Requesting ALL orders or ALL executions is periodically necessary...
    If you cannot ** absolutely 100% trust ** individual API events (like change in OrderStatus)...
    And in my VB6/Excel ATS implementation I cannot...
    And every time you have connectivity issues.

    Since I average about 400 executions/day...
    Sending one (1) request for ALL executions...
    Results in IB sending me 400 individual messages at a specific interval...
    Which takes roughly 2 seconds...
    And "hangs up" the TWS Control for those 2 seconds.

    So the fact that I sent only 1 message to IB is irrelevant...
    Because IB's slow response creates a huge DELIBERATE bottleneck.

    Those same 400 executions could be sent in ** one big message ** in milliseconds...
    I mean it's like 40K bytes... big deal.

    The point is...
    Any well designed system will be constrained at IB's end...
    Not at the Customer end by the 50 message/second limit.

    But a badly designed system... can overload in countless ways.

    That's why firms in the 7 figure capitalization range...
    Or anyone that has, say, 2 full time engineers...
    Would just scrap TWS and the IB API altogether...
    And build something beautiful with the FIX protocol.
     
    #47     Mar 23, 2008
  8. ronblack

    ronblack

    You are right. The reason is simple. The OP was not smart enough to close each short position slowly using buy orders but he was so lazy that he used the basket trader.

    When you do that a broker (I'm not say IB did that by the way) can front run the basket order for several minutes and find an excuse for doing that by activating one of the many restrictions built in software for exactly this purpose.

    One think I have learned the hard way is that fully electronic trading is for losers. I just talked to a broker who has a desk like the good old times and charges 1 cent per share. Sounds expensive? Yep, to future losers, not to those who appreciate full servce and know that you get what you pay for.

    Ron
     
    #48     Mar 23, 2008
  9. Joab

    Joab

    Please don't take this the wrong way BUT it serves you right for using a retail (amateur) broker.

    I could easily put up 250k with IB for day trading but I had nothing but problem after problem with retail brokers as a professional trader.

    IB was the worst too ...

    It wasn't till I discovered prop trading and the platforms they use to trade with did it make a huge difference to my bottom line.

    Retail is a JOKE used by amateurs

    Prop is for professionals.
     
    #49     Mar 23, 2008
  10. This probably the most naive thing I have ever read on ET...
    Taking into consideration that the poster appears to be an adult.

    For some people... it's still 1999...
    And old school brokers pray for smug mooks like you.

    The "logic" that someone charging you $0.003/share would systematically cheat you...
    But someone charging you TRIPLE that would "help" you...
    Is positively mindboggling.
     
    #50     Mar 23, 2008