Hello, I am looking for a platform independent API with which to trade stocks. ETrade and Tradeking both offer suitable API's, but ETrade is $10 a trade (and being sketchy), and I hear that Tradeking has trade execution issues (plus no sandbox). I am used to what I consider very fast execution with Scottrade, any slower and I would be unhappy. TDAmeritrade has a $25k minimum to use their API after talking with customer service. I DO NOT want monthly fees for using the API, or a high minimum such as $25k, and I do not want a Java based API such as with interactive brokers. I would much prefer a message over HTTP based system such as what ETrade, TK, and TDA use, but without their downsides. I have years of experience with C and UNIX socket programming, so I want to stick with what I know quite well. Am I asking for something that doesn't exist, or is what I want out there somewhere?
It's not Java based at all. Only TWS is java based, the API can be for any platform you want. If you know C# you can use it in .Net with ActiveX controls. You can also use it with any COM interface, any language/platform that will take it. I'm not sure what you're looking for, or that in fact you are making a clear distinction between "API" (interface to trading functionality via code) and "Platform" (what you use as a human to trade). If you're asking this question then you obviously have no idea how an API works, and probably don't really know what you are looking for in the first place. The website is just used for info, for other clients etc. No company on this planet would host their trading execution and data feed on a web server, especially not the same one that is hosting their website. Do some basic research, figure out what an API is. You say you want "speed" and then you say you want it over HTTP. What? No, that's not how it works. Http is slow, a direct TCP connection is faster, and UDP is faster yet (but unreliable). Most brokers I know use TCP as they should. I "think" some of the super-mega-fast feeds use UDP but i'm not sure, it's probably very rare.
QuickFIX is a full-featured open source FIX engine, currently compatible with the FIX 4.0-5.0 spec. It runs on Windows, Linux, Solaris, FreeBSD and Mac OS X. API's are available for C++, .NET, Python and Ruby. QuickFIX/J is available for Java.
The TWS Standalone API is Java based.. hence the .jar file. Source I want to use UNIX C/C++ only for trading. I wouldn't wish this on my worst enemy. I actually know what an ABI and API both are. Coding a kernel for MIPS utilizing an ABI was quite some fun! (I have been coding for a number of years, just not trading for close to that long.) I simply do not want Java running on my UNIX trading server. I have a lot of experience with it and it has qualities that I am not fond of, -especially- on a mission critical server running custom financial software. I apologize for being unclear, I simply want a UNIX C/C++ mechanism to buy and sell stock through a reputable and technologically stable broker with which I can easily deposit and withdraw funds. And that is all.
This looks grand, but who can I connect this engine to? Where does the funding come from? Does there not have to be a brokerage middle-man? It's completing the full picture that I'm having trouble with.