I'm trying to make up my mind and choose a broker, however much of my choice depends on the trading API offered. I'm definitely not interested in FIX solutions and I'd very much like a .NET implementation of the client interface.

So far I've looked at MBTrading (poorly implemented, not compatible with modern software stacks), IB (complicated, not .NET, requires their TWS software to be running as a proxy), Thinkorswim (little documentation, not .NET).

I also have some experience with Lime Brokerage's API, which is very nice indeed, however I'm afraid the operation I intend on starting might not meet their minimums.

Are there any good alternatives?

Of course an API is worthless without an efficient broker, so speed of execution and a decent fee structure would be appreciated.

Thanks in advance.

link|improve this question
Why the aversion to FIX? – aix Aug 1 '11 at 10:06
1  
@aix: too many resources would end up going in boilerplate code, I'm the only coder and I'd like to minimize the time before I start trading. Besides FIX comes in different versions and that makes for additional problems, in my opinion. Let's say it feels like overkill for what I'm trying to achieve. – emaster70 Aug 1 '11 at 10:51
1  
I have looked around as well and have not found any good alternatives to the ones you've mentioned. – Tal Fishman Aug 1 '11 at 12:31
feedback

5 Answers

up vote 10 down vote accepted

Interactive Brokers does have a .NET API, albeit a free (as in speach) one written by Karl Schulze, not IB themselves.

http://www.dinosaurtech.com/utilities/

It's written in C# (and IMHO well written). I've examined both it and the Java API and find the .NET version more to my liking. That's probably just because I'm more familiar with .NET than I am with Java.

You're right about TWS, the API talks to a TWS or IB Gateway instance. As far as I can tell, IB Gateway is produced for no other reason than to allow API clients to execute.

The IB API may indeed by overly complicated compared to other APIs -- I've read as much elsewhere. But it's the first trading API I've worked with personally, so I can't say for sure.

link|improve this answer
+1 but I still don't like the idea of having a gateway (overhead!) Besides, I'm looking for an official implementation, whereas available, for this way if support is needed or things go wrong I can get the required assistance... – emaster70 Aug 3 '11 at 18:16
Also, you could use the ActiveX API from IB. It integrates fully into C# (including events, code completion in VS, etc.) and works very well. But the other remarks are also true, namely: 1.) it's not the easiest API to learn, and everything is event-based, which is good but more complex then sync calls. 2.) there's no way around TWS/Gateway, and the main problem here is that you need to log into TWS/Gateway once per day. Though there are some workarounds/hacks around that. – Christoph Glur Feb 24 at 14:16
feedback

JunoTrade claims to have a streaming .NET API -- http://www.junotrade.com/index.php/junotradeapi

Pinncle Trading - http://www.pcmtrading.com/technology/api.html (supports C# according to the last item).

TD Ameritrade @ codeplex (unoffical)

link|improve this answer
feedback

TD Ameritrade has a streaming API available at their TD AMERITRADE API Support Portal. It is implemented as a web service so you can choose whatever language you'd like. They have examples in many languages, including .NET. My first exploration into automating my trading through TD Ameritrade has been using Java on Windows but I'm switching to C++ on Unix -- fortunately, much of my logic, and the API, will remain he same.

link|improve this answer
feedback

I would suggested you have a look @ Interactive Brokers, they seem to have a very decent API and reasonable fee structure.

http://www.interactivebrokers.com/en/p.php?f=programInterface

link|improve this answer
1  
Thanks but please refer to my comments about IB... – emaster70 Aug 1 '11 at 10:51
feedback

FXCM's new ForexConnect API offers a C# version (in addition to C++ and Java; they also support all of Linux/Win/Mac/Android/iOS, though the C# version is Windows only, android is java-only and iOS is Objective-C/C++ only).

I find the online samples can be a mix of latest and old version code; however the SDK download contains a Samples directory with lots and lots of examples, so start there. The C++ API is very similar to the C# one. (In fact, the C# API seemed more natural than the C++ one; my guess is they started with C# and then ported it to C++.)

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.