Wishes for MQL5 - page 22

 

I understand that there will be no pointers but safe references, the question is, when using DLL these references will be interpreted as pointers? Again with the .NET comparison we have a delegate type, a safe pointer to a function. But all safe types can be interpreted into insecure ones, vice versa, that's not the way to interact with the same API, so also the question is, will delegates be implemented in the same way?

And as for the language, the string in MQL with zero termination, besides exclusively ASCII, that is Unicode goodbye, will there be a change in this direction, sorry to compare .NET but here goes, the string we have in memory is byte length and character length, but in reality all strings in UTF16, perhaps in five years will be the basis already UTF32. Actually, if the string also had an encoding in the header, both of the existing header parameters would be in demand. For example I often have to deal with UTF8, so what steps will you take in this direction or will everything remain the same?

Regarding data types, will it stay as it is or will a type identifier be added as it is done in .NET, or will custom types be drastically different from the primitive ones, I'm not talking about how it will be used by the compiler, I want to know how it will look to the user?

 
We make MQL5 as "C with Classes", not pure C++.

The string type is pure unicode, although it's still possible to use char type as arrays. That is, in MQL5 there is no native support for single-byte strings, but only in the form of emulation through arrays. There will be no explicit effort to integrate with other languages other than the usual DLL.
 
Renat:

By the way, we recently bought a thick book in Japanese from Amazon, completely dedicated to MQL4 programming. Author: Hisamichi Toyoshima

It is very interesting. Can you tell me in a nutshell what this book is about and how it is structured? Are there any examples of complete programs or libraries?
 
Renat:
Korey:
Renat:

We bring it straight to safe C++.


C++ creates security for software vendors, for example, they're afraid to sell and pass on open source EAs right now, but of course the objects will trade.
However, C++ itself is one of the most dangerous tools.

I didn't say "safe C++" for nothing, not "C++". Safe because there are no memory pointers (the worst thing in C++) and full managed code.
For those who want to use plain C, everything remains the same in MQL5. That is, don't use classes with objects and keep writing regular functions.

Thanks to your activity from MQL to MQL4 there is a renewed interest in C!!!
Turned C to the consumer. Many thanks to you.
Without you, C++ was the final craze, and people were shifting to Delphi.
Good luck to you for your and our benefit!
 
SK. писал (а):
Renat:

By the way, we recently bought a thick book in Japanese from Amazon, completely dedicated to MQL4 programming. Author: Hisamichi Toyoshima

It is very interesting. Could you tell me in a nutshell what the book is about and how it is structured? Are there examples of ready-made programmes, libraries?
The book contains 380 pages, starting from downloading the terminal, the description of standard indicators, work with the terminal, MQL4 reference book with explanations and creation of Expert Advisors. Lot of screenshots and code snippets. All this book is in Japanese, I have oriented by screenshots, sources and functions names.

Author's website: http://forex.toyolab.com, you can try to read it in English with automatic google translator.
 

Please make sure that in the account history there is a bar with the balance after each closed transaction.

Like this - without/including commission

Or just inclusive of commission

I thank you in advance.

I have a lot of respect for MQL.

 
I would really like this:
1. Multidimensional dynamic arrays. At least 6 dimensions.
2. Increase the number of indicator buffers. But it is not a principle matter. You can do without them at all. It's just convenient.
3. I want to use DirectX for MT5, otherwise my graphics is very slow. It is very lazy graphics.
4. The possibility to collect external variables and not only external ones into arrays: Array[2] = {Qwe, Rty};
5. Possibility to change array size this way: Array[n]; == ArrayResize (Array, n); (just another entry).
6. Ability to synthesize or convert string variables to a variable and vice versa.
7. I would like to be able to expand windows with properties of indicators, scripts, experts. And memory for the last window size.
8. To save in templates in the names of objects a line break sign.
9. To increase the number of characters in the pop-up windows with the properties of an object to at least 256.
10. And once again about type conversion. You have already done: int / double = double. Take it one step further. Let it be: int / int = double. That would be logical.
11. You need a function that returned the names of the files in the ...expert/files folder.
12. Need a function that returned the number of files in the ...expert/files folder.
13. Subdirectories in the ...expert/files folder. And possibilities in them 11, 12 pt.
14. I would like to be able to use MT5 tools to create and read files anywhere.
15. The tick history is required at least for a couple of days!!! And a set of functions to work with ticks.
16. Tick charts (tick candlesticks). And functions for working with these charts.
17. The TF, if not any, then more. And it must be YR1.
18. To correct problems with displaying of the object on different TFs. Coordinates do not coincide.
 
Here, it came up in the forum: you need to know the server's limitations, such as the maximum number of orders.
 
It would be easy, and we find it very convenient, to make the calculated indicator arrays two-dimensional
for example:
double buffer [][Const];
..............
SetIndexBuffer(3,buffer);
With each new bar, the line pointer is shifted by the number of bytes of the array element, we just need to multiply by the number of elements of the array string.
 

OK, the code would be "managed".

It would be great to have "///<summary>". You know, it's very handy - move your mouse to a variable/type/field/property etc, and a popup will tell you what you've "commented" there.

Reason: