How do you see Metatrader X in 2030? - page 2

 
Igor Makanu:
...

there will be a way to exchange data between EAs running on different charts

I have already implemented this and it works. Anyone who understands what multiple inheritance means should be able to do it. Otherwise, it's a shame what he knows.

 
Igor Makanu:

Any standard function that will send an array of bytes to global variables of the terminal (although preferably an int array, so there are less questions about how to convert) and, accordingly, the reverse function that will let this array be read in another Expert Advisor

Global Variables is just not enough to exchange data - there is a large field for the variable name and a small field for data, it needs the opposite ;)

SZZ: there are a lot of examples on the net for parsing decision graphs, mostly due to the interfaces achieve a flexible code structure, interfaces are everywhere, in MQL no (

I completely agree. The global variables of the terminal are lame. But you have to save class instances, not arrays, as in WCF. I was really shocked by this feature at my time. Instead of grazing bytes stream over the network, I could just send the class instance, and all the stuff was done by .NET, and quickly, if I send it in binary.

Hmm, while I was pressing the keyboard, I had an idea to make a libu like this...

---

About the decision graphs and interfaces I simply have not encountered, the programming world is immense ))

 
Реter Konow:

I have already implemented it and it works. Anyone who understands what multiple inheritance means should be able to do it. Otherwise, his knowledge is worthless.

And without the cheap pomp and circumstance?

 
Реter Konow:

I have already implemented it and it works.

и?

The KB has had ready-made solutions for a long time, have you added your own solution too? or just... passing by?

 
Igor Makanu:

и?

the KB has had ready-made solutions for a long time, have you added your own solution too? or just...passing by?

judging by the mention of multiple inheritance, empty...

 
Alexey Volchanskiy:

as in WCF, class instances

you can't have a complicated solution, there will be no mass use, anyone can read and write an array, if something more complicated is needed, there will be no demand for it. As I wrote above, KB has decent solutions for data exchange, but imho, GlobalArrayWrite(string name, int out[]) and GlobalArrayRead(string name , int &in[]) - that's it, no more need for user

 
Alexey Volchanskiy:

And without the pomp and circumstance?

Resources. Declare a union with arrays of several types in both EA programs (or indicators, or EA and indicator), which you want to place on different charts. In each program you write the address of the opposite side in a string variable (folder, subfolder, program name). You use two functions to communicate - the first function is to read the message, the second is to write the message. The functions are called in both programs at the timer frequency.

The functionality of each program must write all data to be transferred to a string variable. Then, the message passingfunction will be called at the end of the timer function, which will save the collected string in the resource. Another program on another chart, on the next timer period, will call the read function of the resource located at the address of the other program and unpack the message. It can then compose its message to the first program in the same way and pass it on, simply by writing the necessary data to its resource.

 
Alexey Volchanskiy:

I was wondering, I've been trading forex for about 13 years, I started with MT4 in 2006. I only got into this topic because my girlfriend at the time asked me to help me understand the terminal, and I happily discovered some C-like language, MQL4, and got hooked. It's funny to remember, I was working in English in the terminal and was sure that it was a western development. When I found out that the guys from Kazan made it, I got cognitive dissonance)).

So, 13 years passed, I can mark several stages in the development of MT* terminals.

1. The beginning of MT5 development, I think it was 2009. The development of MT5 was started, I think it was in 2009. At that time I used to visit alp forum, I still remember how Renat visited it with his propaganda, and I used to argue that netting scheme is dead commercially on forex.

2. a very important milestone for me, early 2013, the release of the new MT4 build > 600. Man, I was thrilled, there were structures, even classes, new normal defines like in C++. Finally all bugs have been fixed, editor won't fall down when copy-pasting, and other bugs have been fixed too. Since before I used to write all my strategies in C# via a bridge to C++, and now I started porting my code to MQL4, since it became possible to work normally instead of shuffling.

3. I do not remember the year here, may be it is 2016? Please correct. My idea was to use hedge version of MT5, that´s why I decided to switch to MT5.

4. can't remember the year either, around 2018? Single compiler and possibility to write one multiplatform project in MT5. That's how I've been writing for myself ever since. When I offer this opportunity to my Customers, 90% of them accept it at once, absolutely all of them don't even know about it. For multiplatform I recommend the MT4Orders libu from fxsaber, you may find it in kodobase.

5. This is a hodgepodge of stuff, since MT5 is constantly evolving, this is very pleasing.

I have roughly outlined the platform development for 13 years, but what will happen in 10 more years? Maybe, some fantasies will be reflected in future developments ))

That's another thing... I once had 10 girlfriends begging me at once, on their knees, to figure out the terminal... I answered them: Shame on you, I'm not a free man, I have 50 girlfriends under my tutelage already, I have only a three-room flat in St. Petersburg, and I don't have enough time to spare - I have to pee on Chechens day and night...

And MT is and will be.

 
Igor Makanu:

и?

The KB has had ready-made solutions for a long time, have you added your own solution too? or just... passing by?

Then why are you waiting for it in the 30's? If it's already there...
 
Igor Makanu:

You can't have a complex solution, there will be no masses, anyone can read and write the array, if something more complicated will not be demanded. As I wrote above, there are good solutions for data exchange in KB, but imho, GlobalArrayWrite(string name, int out[]) and GlobalArrayRead(string name , int &in[]) - that's it, you don't need more for user

Look, even file operations have been available for a long time

uintFileWriteStruct(
intfile_handle,//file handle
const void&struct_object,// object reference
intsize=-1// size for writing in bytes
);


It is much more convenient to read-write structures or class objects than to parse a stream of simple types. Maybe I got lazy with age? Yes, I prefer to do more things while pounding the keyboard less ))

Reason: