Hi,
I'm a new comer to ForEx but have been around and used computers for quite some time including a little bit of programming.
I'm interested in programming some EAs for the MT platform, but being overloaded at the moment, including working at learning the how’s, ins and outs and the dos and don’ts of the ForEx, with v5 due out very soon, considering these factors, I'm tending to wait for v5. If there are any programmers out there that have been doing MQL for quite a while now, I am interested in their thoughts and opinions on this.
Thanks and Prosperous Trading (< 8)
DougRH
MT5 should have real debugger and few other things, so programming will be much easier. The problem is we don't know when MT5 will be available...
Don't even think of waiting. As TheEconimist says, the framework will largely remain unchanged. Don't be planning your life around a version upgrade to a programming language.
Debugger? Never needed one and I've only ever had one problem that I haven't been able to solve immediately*. Use Print() statements.
CB
* Posted twice with no replies, so nobody else seems to be able to solve it either!
Don't even think of waiting. As TheEconimist says, the framework will largely remain unchanged. Don't be planning your life around a version upgrade to a programming language.
I absolutely agree with you about not waiting, but... define "framework". It sounds as though most if not all of the commands for order handling will change substantially; it sounds as though order placement may become asynchronous with events, which completely changes the structure of EAs; and it's possible that things like OrderTicket(), OrderLots() etc will be replaced with a single function which returns an object. Handling of s/l and t/p may well also become completely different. If you already know how to write in MQ4 then you'll have a good, transferrable understanding of the basic language syntax, and of the sort of general issues which can occur when placing trades in a market. But the transition to MQ5 will still be a very big one.
By framework, I mean the entire MQL language suite. Not just the built-ins.
Regarding the trading functions, yes I agree - the point is well made. Not just syntax changes there, but a paradigm shift in terms of handling orders and positions.
And agree strongly - learn MQL4, then learn MQL5. And end up being a more rounded programmer.
CB
And agree strongly - learn MQL4, then learn MQL5. And end up being a more rounded programmer.
Oh, and one other thing, since no-one else has explicitly said this already in response to ForExDRH: MT4 will continue to exist and be supported by brokers after MT5 is released. If you learn MT4 now, it's not the case that your knowledge will become obsolete once MT5 comes out. You can continue using MT4 pretty much indefinitely if you want to. For many people that may well make sense, because the learning curve will be flatter than in MT5.
(All this reminds me a lot of the VB6 programmers who leapt on VB.NET when it came out, and proceeded to write very, very bad code in it. I did some work with a firm back in 2003ish where both code quality and speed of development had fallen off the edge of a cliff because the VB6 developers had wanted to play with all the shiny new toys without having any good reason for doing so - other than bolstering their own CVs. Ditto for ASP vs ASP.NET - I still occasionally come across some ****ing horrible code which does things like posting hundreds of kilobytes to the server every time the user changes a combobox in the middle of a form.)
...code which does things like posting hundreds of kilobytes to the server every time the user changes a combobox in the middle of a form.)
Bit OT, but you can always tell a system 'designed' by UI guys - it looks great but wont scale :(
Zillions of round trips, no correct use of middle layer, loads of ad hoc SQL, use of #temp tables, badly constructed SQL, etc, etc, etc grrrrr
-BB-
PS
To ForExDRH
Start with MT4 :)
Thanks EveryOne for all the input!
My life is in chaotic overload at the moment, but I posted another topic about writing a 'Root program' that would call and open up a commercial EA, then return back to the 'Root Program' which would either place trailing stop losses on the opened positions when they occur; or call another complied EA to do it. Perhaps I'll have a go at this simple task and utilize a couple of suggestions on how to do it: https://www.mql5.com/en/forum/119354 As I say there, I have a little bit of programming experience. But enough to know that trying these 'simple' things will be much more complicated and involve more of a Learning Curve regardless of which version I utilize. It will take more than just learning the few basic commands that I need in order to do this.
When I do start to learn MQL any suggestions one where to start and a route/path to follow to become a good programer as opposed to the opposite and building poor programs that has all sorts of pitfalls with cumbersome code and structural errors which will end up making ineffective programs that I keep having to try and fix the errors, which usually ends up having to 'fix the fixes' etc ad nosi um )< 8)
Regards and Propserous trading, (< 8)
DougRH

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
I'm a new comer to ForEx but have been around and used computers for quite some time including a little bit of programming.
I'm interested in programming some EAs for the MT platform, but being overloaded at the moment, including working at learning the how’s, ins and outs and the dos and don’ts of the ForEx, with v5 due out very soon, considering these factors, I'm tending to wait for v5. If there are any programmers out there that have been doing MQL for quite a while now, I am interested in their thoughts and opinions on this.
Thanks and Prosperous Trading (< 8)
DougRH