IB SDK/API critique

The IB Application Method Interface (API) connects through the Trader Workstation (normally regarded as TWS) or the IB Gateway. TWS is programmed in Java, which is system-independent and can be extremely beneficial( but, it is not as quick as it would be if it was programmed in C or C++ ). In purchase to link to IB, the TWS (Trading Work Station ) application must be operating in the history. The relationship will take put by using a network relationship. If the TWS and the API application operate on the same process this network relationship will be through localhost ( which is a bit uncomfortable, since investing plan execution involves TWS to be operate to start with to create a session).

The fantastic information is that, TWS provides a wonderful API ( application programming interface ) in quite a few programming languages, which such as Java,C++, ActiveX and DDE for Excel ( there is also a possibility to get an interface in C# ), and this can be used to access practically all of the TWS’ options by using other courses. The API code makes a TCP/IP or local host relationship to the TWS program( normally to port 7496 on the local host). There are two sides to the communication: the request and the reaction. This signifies that the course of action of studying from the socket and creating to the get in touch with back again methods, is asynchronous and it takes put in independent threads. IB transaction both go through the TWS (investing program),or through CTCI Fix. When working with The IB API, A single account (person name and password) is limited to 50 messages a 2nd. Using the CTCI Fix interface the limit is150 messages a second. If you have the possibility, I would propose to keep away from working with the CTCI Fix since its sophisticated and sample programs are not provided.

Beside that, this are some of the challenges that I experienced to offer with :
1) Opening an account with IB will take a prolonged time. Application kinds are the biggest I have found.
2) The API Chat is normally vacant ( Which imply that I am the only human being in the place ). Only Registered purchasers ( prospects who paid out funds ), will get a total consumer assistance by mail.
three) There have been quite a few technological challenges, which compelled me to come across a resourceful solution inorder to make my investing system function as I desired. For Eg: I put a limit Invest in at $60 for a stock at $thirty, IB rejected the purchase as much too significantly outside the house the NBBO. Properly, IB permits you to override TWS order selling price share constraints ( which are applied to orders that TWS sees as deviating much too substantially from the NBBO` of the agreement ). Unfortunately, environment this param ( from TWS or the API ) experienced no result, and my only different was to put a market place purchase. I guess, That this param exist there as a restriction produced by the exchange in purchase to “defend” me. But, If I’m liable enough for my personal trades and want to make some more funds, why this feature is not functioning ? Maybe if enough folks will complain to IB , they will fix it.
4) Limitations to info requests : 60 requests in 10 minutes (practically) with no pacing violations, But also this difficulty can be handled by implementing a good mechanism ( Or you can just get true time info from Yahoo! Finance )

Despite of the troubles I have explained previously mentioned, My major perception is fantastic. The extremely best edge that IB gives for builders is that there is a discussion discussion board, which serves as a serviceable message board where by traders study and share data or even submit programming code, also a extremely fantastic API reference guideline is presented, and you get code samples which,ship with the IB’s API package.(Code samples :Cpp, Java, VB6, VB.Web, C#.Web).

IB assistance ( Only Registered purchasers ), a paper investing account which permits traders to test the total range of IB investing services in a simulated environment working with true market place situations. Its specially helpful to traders that want a unique strategy implemented for them by a developer, without working with there true account (paper investing account performs just like the creation account, but has various username/password). as well, End users can test new approaches and strategies threat-free or study about purchase execution of worldwide products they’ve never traded in the past. Last but not the very least, IB permits extremely advanced, superior purchase specification and routing. They make it possible for you to trade just about every form of tradable security.

Moris oz
Algorithmic investing Consulting and progress
www.caapitech.com