I am a developer who has dabbled in forex, mostly with fxcm, immediately as a developer I hated the software, tried MT4 and don’t really like it either.
I’m the type to actually create my own from scratch, which I thought would be a pretty simple thing with all these ECNs touting themselves as open, however the best thing I’ve found so far has been a FXOpen quote transmitter, but doesn’t allow any actual trading.
I don’t want to learn some meta language for MT4 since I don’t really want to be limited by their framework and I already know 5 real programming languages - any suggestions on where to look for an opportunity to directly plug into a web service or with a socket program?
APIs are my last resort since that limits my ability to optimize functionality for what I’m doing, and it’s difficult to search for APIs since for some reason all the trading softwares including MT4 are proclaimed as APIs, which as a developer I can tell you that they definitely are not
Any info is appreciated, I quickly get lost in all the google results that are all tryin to funnel me to MT4.
I’m also a programmer and have been trading forex, emini, and options for a while (forex since 2004).
I can relate to your frustration about the formats available. I don’t know if you have worked with stock quotes as well - there are lots of opportunities to plug in with java, and lots of people do it. When I took my java class, streaming live data and creating indicators was a good 1/3 of our assignments.
There are many investment companies that hire programmers to write their own interfaces to the market instead of trading with the software that is already out there. To do that, however, I think you need to know a little bit more about the market than to be just a dabbler.
Since I don’t know how long you have worked with forex, I strongly recommend you work with MT4 (C++ based) for a while or something similar like TradeStation or NinjaTrader(C#). Get to know the libraries well and notice how things are implemented. There are reasons things are implemented the way they are in the major software packages - learn why.
They may not be the most flexible vehicles out there, but they allow you to really understand the kinds of interfaces you really want to make with your broker - there’s no need to reinvent the wheel when there are some decent examples of classes to implement trades - and yes, it’s easy to see places where you could improve upon the data structures, but learn how to exploit the completely functional framework that’s already out there first. Then if you still want to, you will have a lot more information with which to create your own trading package.
Frankly, I love programming, but you can make good money using what’s already available on the market. And last I checked, making money is a lot of what trading is about.
That’s just one programmer’s opinion, I’m sure you’ll hear from more of us…
Well, I do know both C# and C++ (and plain C, and Java), but my understanding of MT4 is that the API which MT3 offered freely did allow a straight API to C++ dll/lib, but that MT4 does not have such an API, and that the functionality that’s available is basically only their their metalanguage MQL4.
Is this not the case and you can actually use the builtin library in a separate application? What is the actual functionality from the development perspective?
No, you’re right about MT4. But it’s definitely not your only option. Do you trade with a broker that offers direct access and a decent API to program in pretty much whatever language you want to? If not, look around - a lot of them do.
I was using fxcm before but all the articles about US-based companies about to have major restrictions on forex has driven me to look elsewhere. Plus they promised me an open API but support has been terrible and now they want me to upgrade my account.
If you can give me examples of “a broker that offers direct access and a decent API to program in pretty much whatever language you want to” that I can start an account with for 1/5/10k and is not US-based I would be farther ahead than I was this morning.
I used to like Deltastock, but I haven’t coded using their API or traded with them since 2008, so I’m not sure if they’re still decent. They don’t charge, as I recall the support was decent, and you didn’t have to have a ton of money to trade with them.
I think my mind is trying to block out Dodd-Frank…
I know Dukascopy has JForex API, which I’m not crazy about, but if you’re a java lover, I think they have a low deposit requirement ($1000?) and I think they still accept US clients.
Other than that, I’m not sure - come on, I know there are more developers on Babypips that this…
I have looked at Dukascopy and I’m not sure what JForex is. I was hoping it was a connection API for Java but it looks like just another MetaTrader, in the sense that it’s a full on client that you can do nothing more than run subroutines with.