In order to have an indicator which changes colour depending on its
position requires that you have a separate buffer for each colour you
want. I'd like to see a feature added which makes it possible for the use of a single buffer which changes colour depending on whether it's either above or
below the price.
#property indicator_aboveclose_color1 Red
#property indicator_belowclose_color1 Green
#property indicator_abovehigh_color2 Brown
#property indicator_belowlow_color2 Blue
I would really like to see this functionality added.
Just to add to CodersGuru events proposal, an OnExecutedOrder() would be a relief. EAs won't have to scan all the time to see which orders are executed, but only when needed, boosting up tester's speed.
Also, an InitialOrderType() would be needed, to distinguish the former limit/stop orders that are executed from the ones that were market orders from the beginning. (Of course this can be implemented with arrays and comments, but as function it would be easier).
Another facility that would be needed, and perhaps possible even in MQL4 is extending the OrderModify() so it can modify also magics and comments.
I want to know that, can the files size in EX4 or MQ4 run on MT5?
There's one thing that's been puzzling me for as long as I've been using MQL... why on earth try to reinvent the wheel and create yet another language, a substandard one at that.
There are MANY excellent languages already available, it would've been so much easier for both MetaQuotes as well as for us developers to write a library (C++, Python, C# or whatever language chosen) with all the MetaTrader features.
I would love it if you'd rethink your past decisions and go with a proper language.
1. Preprocessing was introduced in the pure C for portability purposes between different platforms and compilers. Preprocessing causes some hardly detectable errors.
The answer is "No". Simplest #define only.
2. Ukt, I don't understand your suggestion about regexp. Do You mean regexp processing in the MetaEditor?
3. This is not a final statement. Maybe.
4. Both postfix and prefix will.
5. There will be a full implementation.
6. Yes, do statement while(expr); is implemented.
7. Yes, short circuit evaluation is implemented properly.
8. Yes, i=j=k=0; is implemented properly.
9. Constant strings are restricted up to 1 Mb.
There is no string type in the C and C++. There are just null terminated char (or wide char) arrays. You can use char arrays instead of our strings.
10. See 1. No conditional precompiling. Use functions IsTesting(), IsDebugging(), and so on.
12. I agree. It is discussible.
( https://forum.mql4.com/11730/page5#78312 )
point 10 would be really usefull to me
if you want to include some files at global scope for optimization
if (IsOptimization() == FALSE)
won't compile since the functions and variables defined in these files are largely the same.
good support for MySQL and PHP(less) would be great...
Futhermore it would be nice to have associative array's like in PHP. Instead of having to #define every single association
maybe useless question as I read here '5' will be much faster. I ask anyway:
Will below comment still be true in '5' or maybe there be slowdown in code using below when compared to (+) ?
"The StringConcatenate() works faster and more memory-saving than when strings are concatenated using addition operations (+)."
Milton was faster than me. I've the same feelings: why another language? Provide sophisticated API for .NET, Win32, Java, Python etc. and everyone should be more happy than now. Even MT5 language developers will be much happier: providing very good API is much more easier than implementing new compiler...