"The problem where oders from ActiveX clients with certain prices get rejected is now fixed. The fix is in the TwsSocketClient.dll. To update this file, users can select "Upgrade API Components" from the web site. (Even stand alone users can do this, even though is says it's for browser users)." Thanks for passing this to me.
Awesome. I'm impressed that the problem was acknowledged and fixed so promptly. I just tested it myself with success.
The ActiveX control is working fine with all prices, however the pure socket version still has the same problems. Hopefully they will fix whatever needs fixing in the EClientSocket.cpp or MySocket.cpp. Anyone have any news relative to this?
The easy fix for the socket version of the API is to change the line in EClientSocket::send( float val) from: sprintf( buf, "%f", val); to: sprintf( buf, "%.2f", val); Then recompile your app using the socket API .cpp files instead of linking to the prebuilt .lib.
It works if it is requested right after connection but before anything else is requested. It also works during a session if you disconnect/reconnect first. But on the version I downloaded 2/25, the event "TWS_openOrder1(...)" contains the parameter "currency" which VB6 objects to. It should be changed to "curency" or something else.