Looking for platform independent API

Quote from silicon.bz:

No biggie, I am extremely ignorant. Just about stocks, not computing ;ppp It sure does look like you're right on the money about Java, and with nxcore I'm not sure of a broker that supports it. They all seem to do either Java stuff if they are reputable, or HTTP stuff if they are not.. Thank you for the help.

Nxcore is actually a data feed, so not a complete solution. I thought maybe you can use the data feed without Java but then send the trades with a Java API. That way there's a bit less of Java altogether, so I pointed out nxcore. Not sure if they still support UNIX but they used to.

Basically you should probably look for a separate data feed so you don't use the same one a broker will provide. That's also a good thing to keep in mind: the fact that data and execution are usually (or should be) separate. There are good affordable ones out there, like someone mentioned DTN/IQFeed (but i think they also only have java). It's probably not all that bad to have execution with java and data feed without.
 
Quote from silicon.bz:

with nxcore I'm not sure of a broker that supports it.

Just wanted to underline a possible misconception here. Brokers never really "support" a data feed though some may provide a subscription or access to one. The data feed is there for your choosing. With for example TD Ameritrade or Interactive Brokers, you can use their own data feed while trading as well as send orders with their clients. Their data feeds however are usually very poor, they will miss a lot of ticks. For this reason you should look for a decent data feed separate from your broker. For example IQFeed should be very good. So that means the access to your broker (via whatever API) should really only be used to send and execute orders, not "see" what is happening on the market. Seeing and executing are two different things.

Hope that makes it a bit clearer.
 
Quote from braincell:

Just wanted to underline a possible misconception here. Brokers never really "support" a data feed though some may provide a subscription or access to one. The data feed is there for your choosing. With for example TD Ameritrade or Interactive Brokers, you can use their own data feed while trading as well as send orders with their clients. Their data feeds however are usually very poor, they will miss a lot of ticks. For this reason you should look for a decent data feed separate from your broker. For example IQFeed should be very good. So that means the access to your broker (via whatever API) should really only be used to send and execute orders, not "see" what is happening on the market. Seeing and executing are two different things.

Hope that makes it a bit clearer.

Ohh okay, I see. Bad data == bad trades! Excellent clarification :D
 
Quote from promagma:

If you need streaming market data - check out IQfeed or Activetick.

IQfeed is $50 per month, and they are both Microsoft Windows only. What is this world coming to. Is $50 per month the going rate for most feed systems such as this?
 
Quote from silicon.bz:

IQfeed is $50 per month, and they are both Microsoft Windows only. What is this world coming to. Is $50 per month the going rate for most feed systems such as this?

No, it's very cheap.
 
Quote from promagma:

If you need streaming market data - check out IQfeed or Activetick.

Have you used both? If so, any noticeable difference in performance? Asking b/c I currently use IQFeed but have been checking out Activetick...pricing is a little better for large # of symbols and they have a few features that DTN doesn't.
 
Quote from silicon.bz:

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.


The API is not Java based.

The Java jar file is just there in case you want to run the Java example.

You do not need it at all if to run the Posix C code. It is a pure socket based program.

See e.g. C:\Jts\PosixSocketClient\src

However, to run the IB API, you do have to connect to either TWS or the IB Gateway (which is Java based also) but the latter can be on another machine.

If you do not want to do even that (and there is no reason not to do so - it is perfectly stable and responsive), then you can use the FIX CTCI. However FIX is at least 10 times more complicated to program and they charge a fee because of their support costs for that route.

Almost every major trading and quote platform support the IB API. They support FIX too, but its interpretation varies a lot among brokers.

I am not necessarily recommending IB over other approaches but programming FIX may take you a year or more.
 
Quote from silicon.bz:

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?

If I were you, I'd just use Interactive Brokers. They have a C++ version of their API. Furthermore, the API can be easily ported to whatever programming language you want because underneath it is just socket programming. If you are as good as you make yourself out to be, then this port shouldn't take more than a few weeks.
 
Back
Top