Interactive Brokers TWS bug can annihilate your account !

tabernak

Junior member
Messages
14
Likes
1
I discovered a bug in IB TWS that can potentially destroy your account in one click.
I use an older version of TWS like many IB customers who wish to avoid the frequent issues on new TWS releases. So this may not be of concern to you, but nonetheless it's a fact that IB exposed some customers to debilitating losses, and did not acknowledge the problem. I have been a long time (satisfied) customer but also critic of IB's policy with upgrades and their race to build "the best" platform. In this thread, I will expose the workings of this nuclear bomb inside a (previous, I haven' tested the new release) version of TWS.
 
I discovered this bug after a series of erroneous trades of the type "fat finger mistake". After a while, I started to question whether it was just me or whether TWS played a role in it. I couldn't possibly make those fat finger mistakes again and again ! Fortunately, I got lucky, every time I managed to exit the erroneous trades with very small losses equivalent to the spread, because the trades were mostly on IDEAL FX, at times where volatility had come way down (around 4-5 pm US time) and my size preset were in the range of 30K-50k. As you will understand, your size preset is a key part of this bug.

Eventually I realized there was something wrong with IB TWS, but I couldn't quite understand what caused the erroneous trades.
I kept using the same version paying extra attention when placing orders. But of course, it had to happen that one day I would place an order in a hurry and make the fat finger mistake AGAIN ! And this time, I really lost money. Fortunately, really not much but enough to cause my anger . I realized I could have blown my account on that "mistake". I decided to thoroughly investigate the matter, going through all the steps I made when placing the order.

When I found out IB TWS created fat finger trades, IB denied the whole thing and buried the matter in a hurry.
 
Last edited:
You may ask yourself why it was so difficult to understand what was happening ...
That's because TWS was hiding everything from me .
It would tell me I was sending an order for say 10 shares for my portfolio when unbeknownst to me TWS was sending an order for 1000 shares. That is an example of the trades TWS sent for me, but it could as well have been 100 000 shares instead of 100 shares if I had been unlucky.

Now you send an order like that in US market after-hours, you could be wiped out.
The day I really decided to take the matter to IB, I lost money because the bid and ask spread was huge on an ECN in after hours and TWS had send an order much bigger than I wanted. Correcting the trade immediately so as to avoid a potential disaster the next day (gap) meant TAKING AN INSTANT LOSS on the huge bid/ask spread in after-hours.

I explained what was happening to IB CS but they themselves could not see where the issue was, because their system did not show exactly what TWS did on my desktop. I asked them if they could get me out of the trade, since they are also MM, I asked whether they
could reduce that ridiculous spread so I didn't have to take an instant loss. Of course , there was no way they would do that .
And I understand that wasn't possible.

But what followed next, told me that despite all the good things I experienced with IB, their customer service won't be there WHEN the SHTF ! You will be on your own if a bug destroys your account. They couldn't care less. They were just like the others, not much different in their reaction than one of those crooked brokers.
 
Last edited:
Stepping back to analyze the problem, there are two issues, one for which IB may not be responsible after all and that is what actually caused me to enter the erroneous trades, and I will ask what you think about it. IB claimed I did not enter the orders properly but I have traded with TWS for more than 10 years without this problem ever until last year , which coincides I think with a forced upgrade. So I suspect it's the new TWS I downloaded that requires an extra step in the process.


The second issue for which IB is definitely responsible is the fact that there was NO way for me to realize the mistake, the huge erroneous size, as everything in TWS showed a live order being sent with the size of my choice, whereas in reality an order with a much bigger size was sent. I made a video of this, but it's not perfect because for me to reproduce an erroneous trade I would probably lose money in the process, don't want to do it just to prove my point.
 
ok. for those who don't know, TWS stands for their "market maker-designed Trader Workstation"

post 2
Eventually I realized there was something wrong with IB TWS, but I couldn't quite understand what caused the erroneous trades. how many trades before you twigged? i would have been worried after one...?

post 2
kept using the same version paying extra attention when placing orders. But of course, it had to happen that one day I would place an order in a hurry and make the fat finger mistake AGAIN

does this mean the problem was not constant but intermittent?
post 3
It would tell me I was sending an order for say 10 shares for my portfolio when unbeknownst to me TWS was sending an order for 1000 shares. That is an example of the trades TWS sent for me, but it could as well have been 100 000 shares instead of 100 shares if I had been unlucky.

how close to margin did these big overtrades put you?

The day I really decided to take the matter to IB, I lost money because the bid and ask spread was huge on an ECN in after hours and TWS had send an order much bigger than I wanted. Correcting the trade immediately so as to avoid a potential disaster the next day (gap) meant TAKING AN INSTANT LOSS on the huge bid/ask spread in after-hours.
bummer. what time gmt was this? why were you trading in low liquidity hours(if you were)

I explained what was happening to IB CS but they themselves could not see where the issue was, because their system did not show exactly what TWS did on my desktop

there simply must be a way of checking these twop things side by side. If there were not, god knows how their accounting department checks the figures at the end of the year

post last

The second issue for which IB is definitely responsible is the fact that there was NO way for me to realize the mistake, the huge erroneous size, as everything in TWS showed a live order being sent with the size of my choice, whereas in reality an order with a much bigger size was sent. I made a video of this, but it's not perfect because for me to reproduce an erroneous trade I would probably lose money in the process, don't want to do it just to prove my point.

i think you owe it to your fellow retail traders to thin out their rakes a little.
if this pans out to be true, i will of course cross them off my list, for what little it is worth!
 
ok. for those who don't know, TWS stands for their "market maker-designed Trader Workstation"

post 2
Eventually I realized there was something wrong with IB TWS, but I couldn't quite understand what caused the erroneous trades. how many trades before you twigged? i would have been worried after one...?

post 2
kept using the same version paying extra attention when placing orders. But of course, it had to happen that one day I would place an order in a hurry and make the fat finger mistake AGAIN

does this mean the problem was not constant but intermittent?
post 3
It would tell me I was sending an order for say 10 shares for my portfolio when unbeknownst to me TWS was sending an order for 1000 shares. That is an example of the trades TWS sent for me, but it could as well have been 100 000 shares instead of 100 shares if I had been unlucky.

how close to margin did these big overtrades put you?

The day I really decided to take the matter to IB, I lost money because the bid and ask spread was huge on an ECN in after hours and TWS had send an order much bigger than I wanted. Correcting the trade immediately so as to avoid a potential disaster the next day (gap) meant TAKING AN INSTANT LOSS on the huge bid/ask spread in after-hours.
bummer. what time gmt was this? why were you trading in low liquidity hours(if you were)

I explained what was happening to IB CS but they themselves could not see where the issue was, because their system did not show exactly what TWS did on my desktop

there simply must be a way of checking these twop things side by side. If there were not, god knows how their accounting department checks the figures at the end of the year

post last

The second issue for which IB is definitely responsible is the fact that there was NO way for me to realize the mistake, the huge erroneous size, as everything in TWS showed a live order being sent with the size of my choice, whereas in reality an order with a much bigger size was sent. I made a video of this, but it's not perfect because for me to reproduce an erroneous trade I would probably lose money in the process, don't want to do it just to prove my point.

i think you owe it to your fellow retail traders to thin out their rakes a little.
if this pans out to be true, i will of course cross them off my list, for what little it is worth!

>>>
 
Thanks for pointing this out. Will keep an eye on it.

I know IB are good for pricing etc but I think there CS is the worst in the industry. They know they have a good product so don't really care which is a real shame.
 
To answer some of MajorMagnum's questions, it took me a while to realize the mistakes were not just me. In FX I get in and out in a hurry usually , and at first I thought OK I screwed up big time , 2d time WTF, man you are getting really sloppy, 3d time " I can't believe I did it again, dumb a$$" and so on...

Here's what happened : I have used IB TWS for 10 + years, didn't encounter that issue before. I believe over the years I mostly used the scroll function to adjust the size . When you adjust your size by scrolling up and down, you can hit the Transmit button and your order is sent with the modified size. But I also used a variant, typing my desired size in the appropriate field. As far as I am concerned, I have done it before without issues. Whenever I do that with this TWS version, unbeknownst to me , the change is not effected automatically as when you use the scroll function. In a hurry I would click on Transmit , I would see the order sent for my modified size while what actually happened was that the order used the size before my manual modification (typing) was made , i.e the change was not recorded . An IB rep claims that to record the change after typing you have to hit enter (or as I noticed in hindsight, click anywhere in the quotes which I often did not knowing I had to in order to record the size change), I question that, since I have always proceeded the same way without issues on previous versions.

No matter what, this is inconsistent with an automatically accepted change when using the scroll function; indeed why the different acknowledgement by the system ? But above all TWS gave me no chance of realizing what was happening since the order (on all pages, incl "pending") displayed the new size that I thought was acknowledged and sent ! It's only if I cancel that pending order, that I can see the size revert back to its actual amount (e.g the preset size of 30 000 units) and then disappear as the order is cancelled !
 
it sounds like a badly thought out aspect of the update, implemented by someone/ people that perhaps dont use the software daily and as such the impact of such a small but important change?
 
The question remains as to whether the need to "confirm" a typed size change has long been a feature of TWS order entry process as claimed by the rep I talked to.
But even if it is, I would call this a "bug" or a flaw because of the inconsistency with the change via scroll menu. How is a customer supposed to be aware of that subtle difference and of the need to confirm the change when typing ? And then if TWS shows a working order which is not the real one, how can the customer realize their mistake ?
Besides, sorry IB but the 500 page TWS manual is nonsense. Your developers are paid to build "the best, most advanced platform" but the customers don't get paid doing various updates nor for reading a 500 page manual , and I shouldn't have to study such manual in order to prevent catastrophic "misuse" of the platform, especially as a long time customer, especially since I don't use most of the features introduced in the past 5-7 years.

A one-time bad luck involving this flaw could ruin an account as I experienced with the after-hours trade. It was a couple hundred shares with a spread of 40 cents or something and the stpck wasn't moving , but let's just say I way buying a high flying stock like NFLX during earninsg release and I would buy say 1000 shares instead of 10 or 100 ! And within 1 minute the stock reverses and loses $20-30. By the time I realize what's happened, the execution for 1000 shares, then the stock's reversal, by
the time I get over my panic (another 10-15 seconds), by the time I close the trade, (or IB does it automatically) I have lost 20-30K !!!
 
Last edited:
1. Why are you using an outdated version?
2. Are you using IBIS or Trader Workstation X?
2a. Do you have a PC or MAC? Macs can launch the .app or .jar file manually. There will be many more problems using a PC.
3. Why are you not confirming your trade size? When I create an order there are two stages to completion. Once the order is created, I have to press Transmit. Then, another message prompts me with the total cost of the trade and the size and commission.

There are several steps that prevent you from placing an order incorrectly.

I use the regular TWS as I always have. I don't like Apple, and Apple stuff.
I elected a long time ago to bypass the annoying trade confirmation window,
if you trade FX for ex, you don't have time for those extra steps , I guess for newbies...
I don't think it would make a difference , again TWS shows the size I typed in the live order line. It's onyl when I cancel, or of course when I get an execution that I can see that the size was not what was on the screen ! In all likelihood, any confirmation window would show the same thing , modified size, all is clear, send the order, KABOOM !

I basically use an old version for the same reasons as many others, but I may be even more reluctant to change than others so I end up with older stuff. I also run an old version of java and this may have contributed to the problem . I am aware of all these potential factors behind what I experienced. NONETHELESS, the fact is not every customer wants to use the latest version or even a recent version, not every customer will have the latest java version installed, and noone can force them to do the extra work to comply with such requirements so as to avoid potentially catastrophic outcomes. In my case I continued using those same versions even though I suspected they could be behind some of the problems I experienced, I wanted to investigate the matter, understand how TWS could possibly allow me to make fat finger trades again and again and hide it all from me .

IB is a retail brokerage with customers from all types, it should provide a stable platform that does not put customer's funds at risk , and this even in the event that the customer fails to keep up- to- date . It's as if you bought a gun, or a vehicle and you would have to constantly upgrade parts, and have it regularly checked and maintained professionally lest the thing blows up and kills you next time you use it. That gun/vehicle manufacturer would be in a world of legal trouble.
IB and other brokerages should have like other institutions a fiduciary duty of making sure their platform can not under no circumstances lead to the kind of errors and deceptive functioning that I experienced.
 
Last edited:
No there is no mistake on my part that could excuse IB for a catastrophic loss, that's my point. A trading software , whose version is still supported, should under no circumstances expose a customer to a total loss of funds in case the customer fails to make some updates. To go back to my analogy, no one would say its' acceptable for a manufacturer to put, without strong warnings, goods on the market that could endanger customers lives if those customers do not constantly perform upgrades and use updated accessories (java).

And please stop the IT jargon, you are obviously in the IT industry and so share the same insane mindset as most developers (i.e. people should constantly update their stuff so you can continue to make a nice living developing things, things often causing issues, and which we often don't really need) I have never heard in the past of a serious trader considering Apple for an OS, PC's are fine. PC's and Microsoft unified the software landscape and did away with the age of expensive machines and price gauging à la Apple . You are free to continue to get ripped off by Apple's hype however.
And I didn't say you were a newbie, although what you are saying sort of confirms that, but for me the confirmation is not for active traders, and generally for less experienced users. It's basically a nonsense in FX for ex. I didn't say I lost 30 K either, that's what could happen to a user with this TWS version. I made a video, now I am going to try a newer version see if anything similar occurs.
 
Last edited:
Now that was my description of the issue. But IB added insult to injury with the way it handled the matter. IB's customer service a couple years ago made a series of improvements, but then quality fell back again and today as IB conquered many new customers , I am afraid it's gotten worse than in the mid 2000'S i. Response time on the phone is bad (several minutes), phone lines get cut off, for ex, on transfers, etc.

The first time I brought this "bug " to IB 's attention, a guy whose voice I recognized as one of the employees you don't want to have on the phone, just about hung up on me. I explained the matter in writing. A curse reply or two concluded I didn't have the latest version of TWS and ran an old version of Java. Then IB CS went dead, they kept saying the issue had been sent to X department but noone ever got back to me. It was unbelievable. You know it's like when someone avoids you because they don't want to deal with a problem and they know they did something wrong.Their developers didn't even inquire in details as to what happened. What if this problem affected other customers, what if it affected other TWS versions as well ? And what about understanding the issue to make sure it doesn't happen to others with a different TWS/Java combination (assuming Java is really the factor behind the fact that TWS was hiding the real orders !) And what about fixing the acknowledgement inconsistency between the scroll change to size and the typing method ? Surely if this is not a bug, I am not the only one getting confused with this .
 
Last edited:
Communications with IB CS :
This message to point out that what was said to me today (xx desk) regarding changing order quantity was not correct. The person I talked to claimed to have like 15 years experience with TWS and assured me it had always been the case that upon changing quantity you had to hit ENTER before sending the order so as to effect the change in the order about to be sent.

Well this is incorrect, I never used this method and for good reason it 's not necessary. When you change quantity via the scroll menu, you can hit T and it will be sent with the new quantity. No need to press ENTER ( the alleged requirement as described by your person in xx) or to click elsewhere on TWS to "confirm" the change. I found this statement strange as I don't recall ever doing that, I use TWS since 20xx and frankly I don't have to think when I use it, it comes naturally (and I want it to stay that way, I should not have to "study" the manual at every major upgrade).

HOWEVER, when changing the quantity MANUALLY by typing the quantity in the field, you do have to click somewhere else ( or I suppose hit ENTER as recommended today) for the change to be in effect in the order about to be sent. BUT I don't think it used to be that way, I am wondering if that's not a change that came with the recent version you forced me to upgrade to.


NEVERTHELESS, whether it's new or not, IT MAKES NO SENSE that one method (typing)would require confirmation and the other one (changing to preset sizes via the scroll function) does not . As a a TWS user I naturally expect both methods to record the change automatically, at least that's how your developers should have designed the thing. Again I suspect this is new as in nearly 15 years of use I never encountered that problem until the recent upgrade and surely I have used the typing method before .

NOTE THAT I ENCOUNTERED THE PROBLEM AGAIN TODAY BUYING 70 000 units of AUD/USD instead of 30000 (the change was not recognized by TWS), and also trading too many shares at one point (plus TWS becoming unresponsive during FOMC decision) .

So considering what you said (about the need to "confirm" the change) I now believe that running an older Java version has little to do with the issue, it may only have compounded the problem by hiding to me the fact that the order was not actually modified (showing the modified size ). At the very least there is a confusing, illogic and dangerous discrepancy between both methods of changing an order. I am considering seeking a refund of at least all commissions spent on these potentially DISASTROUS trades that should NEVER have happened.

Sincerely
 
REMEMBER WHAT I SAID TO IB :

Communications with IB CS :
I now believe that running an older Java version has little to do with the issue

Whenever you have an argument with a developer or IT support, ALWAYS OPPOSE COMMON SENSE , AND YOU WILL BE RIGHT !". I can't count the times I argued with some tech support person who was telling me to do this and that, and I would tell him they were wasting my time, the problem was elsewhere, and I was right . I didn't keep tabs but I think 70-80% of the time, I, the layman, the low tech guy, was right and they, "the experts" were plain wrong ! (mostly it's because you are the user, know what's going on and they are behind a desk, blind and oblivious of the practical aspects you must deal with )



WELL IT TURNS OUT I DOWNLOADED (with great pain reading instructions on IB website and oracle.com) A NEWER JAVA VERSION , it's 1.7 xx, not the very latest , still the one as described on IB pages, because guess what ? apparently the very latest one doesn' t even work on this computer purchased in 2008, I guess I should throw my perfectly good PC in a landfill in Africa and get the new stuff so some CEOs' share price can stay afloat. Outrageous. It took me more than 30 minutes of aggravation, 30 minutes stolen from my life.

SO NOW I AM RUNNING A MID 2014 TWS VERSION (WHICH I WON'T CONSIDER OUTDATED BY ANY MEASURE, AND IT'S STILL SUPPORTED !) WITH A RECENT JAVA VERSION (which mind you is causing big problems for me, some browsers not recognizing it, and TWS charts seemingly slower, see that's why I avoid updates)

DID THE NEW JAVA VERSION CHANGE A THING ? NOPE !
A CHANGE TO SIZE WITH THE TYPING METHOD STILL NEEDS CONFIRMATION, UNLIKE WITH THE SCROLL FUNCTION.

TWS STILL HIDES THE REAL ORDER THAT IS SENT WHEN I DON'T CONFIRM THE CHANGE, SHOWING MY MODIFIED SIZE ON ITS PAGES, WHEREAS ON THE EXCHANGE A LIVE ORDER WITH A MUCH BIGGER (PRESET) SIZE IS WORKING.
 
Last edited:
I was therefore right to say that with this flaw ib developers have exposed some customers, and continue to expose some customers to huge losses in their account.

Most damning is the fact that ib cs made no serious inquiry into the issue and that its customer service basically denied the existence of any problem and that "the lines" went dead .
 
To check if you have the same issue on your TWS , do the following .

Pick a liquid market at a quiet time, say a forex pair. Click on a quote to create an order, make sure you first modify the price so as not to trade at market (you don't want an execution), record that change to price . You now start as if you were creating an order (only you have made a change to price beforehand), place the cursor in the size field, hit the backspace button, delete the preset size, enter the size of your choice. Move your mouse straight to Transmit and click on it (as it should be to be consistent with the scroll method to change size).

Now check pending page, see what size is there, is it the modified size you just typed ? Then go back to the quote page, hit a hot key to cancel the order. Watch the size, if it reverts back to your preset size just before the order is cancelled and disappears, you have the same issue .
 
Top