Friday, August 25, 2006

Looking For Good Broker With Cheap API

Right now my software connects with 2 brokers - Gain Capital and Oanda.

Gain Capital has a free API, but its behaviour is different in its Live accounts compared to its Demo accounts. It means to finish coding it, I would have to experiment in my Live account, while risking real money. And their minimum purchase size is 100,000 units (1 contract). No dice. Until that changes, my software is only going to work in their Demo accounts.

But that's fine. Because it's free. And it allows for people to develop and test their trading systems for no initial outlay (other than my subscription fee :-)

At the other end of the scale is Oanda, which by most accounts has one of the best setups around. But it's not cheap. US$600 to obtain it, and after the first 2 months it becomes US$600 per month. You should never pay $600 per month, because its discounted for volume - $50 for every million dollars of currency traded. So if you purchase $12 million of currency within the month, then the API fee for that month is waived.

Because their spread on EURUSD is very low - normally 1.5 pips - you should be able to bring down your API fee to a maximum of about $200. At the end of the month, just buy and sell and buy and sell EURUSD until you reach $12 million worth. Whatever the cost of the spread works out to is what your actual monthly payment will be.

There you have it - one free API that you can't use for Live trading, and one expensive API that you can. One cheap and ordinary. One expensive and good.

What's missing is the cheap and good API. I realised this is missing from my v1.0 plans.

I'd like to get Interactive Brokers done, and no doubt I will at some point in the future. But it's not as straightforward as it probably could be.

Then I remembered the DynaOrder product, which allows connection to FXCM and IB. It's having a closing-down sale at the moment, with Sept 1st the shut-down date. The reason I decided against using this a while ago, is because firstly there is no historical price retrieval functionality. Your computer shuts down for 5 minutes, and there is no way to get that 5 minutes of data. Secondly it didn't look like stop losses were placed at the same time as the order - you had to send it separately. I don't like that.

And now it's going out of business, there'll be no support, and no fixing of bugs, and no changes if FXCM or IB change their setup.

On the forum talking about the closing down of DynaOrder, I read a post about CMS Brokers having a free API. It looked alright.

Then I went to the GoForex site, which ranks Forex brokers. Oanda on top. Gain Capital nearing the bottom. CMS Forex 2nd-last. FXCM last.

That survey doesn't have so many contributors, and shouldn't be used as a definitive guide. But reading the comments didn't make me want to spend time writing the code to connecting to the bottom-ranked brokers.

So I went to the websites of the top-ranked brokers to look for APIs. It looks like the EFX Group has a free one.

It's not just the free API though. Minimum purchase size has to be small. Minimum account size also. And customer service is important.

If anyone has any reasons why the cheap and good option should not be EFX Group, or even why it should, please leave a comment.

Unknown when it would be done though. I suspect I'll finish what I have planned for v1.0 and then code the EFX interface.

4 Comments:

Adrian said...

Hi Sharky,

I'm intrigued by the difference in behaviour you have noticed between Gain's API in demo vs live accounts. If I recall correctly the objects, properties and methods are essentially identical. Could you tell me something of the problems you encountered?

I'm also on the hunt for a good broker with a cheap API at the moment (and had hoped Gain might fit the bill...shame) but came across the following list, perhaps it may help: http://www.forexalt.com/forex-software/

Sat Aug 26, 10:38:59 PM EST  
Sharky said...

Oh yes, the objects, methods and properties are identical. It's the information they send you which is different.

I read about the discrepancies in their forum. From memory, the main difference was that partial fills can occur in their Live accounts, but can't occur in their demo accounts. I think there was one or two other things, and those combined with the things I list here made me decide I didn't want to touch it.

Sun Aug 27, 11:15:44 AM EST  
wincity said...

This post has been removed by the author.

Sun Oct 08, 03:43:50 AM EST  
wincity said...

I wonder if you tried Interactive Brokers. I'm using it through API. It's free.

Sun Oct 08, 03:45:17 AM EST  

Post a Comment

<< Home