Showing posts with label MQL5 - a new language for automated trading. Show all posts
Showing posts with label MQL5 - a new language for automated trading. Show all posts

Sunday, October 11, 2009

MQL5 ready for puiblic testing

It is going to be a busy period down the road now, with MQL5 being ready for public beta testing tomorrow (12 Oct 2009). MQL4 has become so popular that a lot of big time brokers have joined in. I am not sure if MQL5 will enjoy the same success.

First, MQL5 is object-oriented, so it will be a steeper learning curve. Most retail forex traders will find it harder to learn.

Second, the compatibilty with MQL4 is not maintained because the creators said the language concepts are just too different. They tried to keep the compatibility but they couldn't. So all EAs and indicators in MQL4 have to be rewritten in MQL5. We can only hope for someone to write a tool to do a conversion for us.

Third, there are just too much success in MQL4 to motivate people to migrate. The best thing happened so far is NFA's new rules which have rendered MQL4 useless so much so that some US brokers just gave up, or encourage traders to use the non-US operations.

We shall see. For me, it just means spending some time to study MQL5 and prepare for the day when brokers indeed stop using the MQL4 platform and force us to move on to MQL5.

Thursday, June 11, 2009

MQL5 – a step further for traders

MQL5 is the new programming language MetaQuotes is working on to replace MQL4. MQL5 is similar to C++, whereas MQL4 is similar to Pascal. What this means is that functional programming with languages like C, Pascal, Basic and Fortran has now evolved to object oriented programming using C++, C#.

What is object oriented programming? Well, if you design your program based on objects and then use “methods” to operate on them, you get a cleaner program and your codes are reusable. Also you can get to work on objects rather than a spaghetti of functions. What are objects?

Let’s say you have a table. You define the features of this table: what is it made of, how many legs, what kind of shape. This table object now can be used or operated upon using methods. Methods are really functions. For example you can have a function Place(A,Table), which places another object A (say a plate) on the object table. You can see now that both objects are reusable for other occasions.

I had a quick look at Tetris, a program written in MQL5. Well, EA programming is getting harder and many will find it moving beyond their reach. What traders want are simple tools to automate their strategies and not develop complex programming structures to meet their trading needs. Most of these complex EAs are using more sophisticated algorithms eg neural networks. Today, most people who use NN tend to have them written in C++, trained and optimised. Then when it comes to trading, a simple routine to take parameters from a file as output by the C++ program for use in trading. You can do that all at one go now with MQL5.

But that is only a small percent of traders. The majority just need a simple tool. Most retail traders will be able to pick up MQL4 overtime, after looking at many EAs and templates. But MQL5 is going to be a chore, a pain, and I am beginning to want to yawn at yet another language, another learning curve, rewriting EAs … when all we want is just to make money from forex trading!

Oh I have not talked about MT5 which is the client platform for which will use MQL5 language. MT5 promises better features, better tester, better debugging – anything better is always a welcome. But I hope MetaQuotes will continue their user-friendly platform in the likes of MT4, which is the reason for my preference to choose only brokers that offer MT4. No one has seen MT5 yet, so let’s hope it is for the better.