Once again, about multithreading - page 2

 
Renat:

What is multithreading in MetaTrader 5:

Just clicked on the test, instantly got 5,743 agents/CPU's to work and executed 381,468 passes in the optimizer in 6 minutes. Each pass took between 1 and 2 seconds to run. If I ran the test on my computer with 8 cores, I would have spent 800 to 1600 minutes instead of 6 minutes (381468 / 8 = 47683 seconds = 794 minutes).

And apart from hitting the start button, I didn't have to do anything else. Some skynet got up, synchronised all the necessary chart history on its own, distributed the task to thousands of computers around the world and worked them off en masse.

Welcome to reality...

Renat, so why do you think the scope of multi-threading is limited to your tester? What do you think, that the user has no right to implement auto-optimization directly in his algorithm? Does he have to run your tester? And if he uses his own neural network? Don't be so one-sided about things. And at the same time accusing me of not understanding anything. You just see the situation from your own bell tower, and you don't care about the rest, as I understand it.

 
meat:

What, you think the user does not have the right to implement auto-optimisation directly in his algorithm? Does he have to run your tester? And if he uses his own neural network there? Don't judge things so one-sidedly.

What is the problem with doing it now?
 
meat:

Renat, so why do you think that the scope of multi-threading is limited to your tester? What, in your opinion, the user has no right to implement auto-optimization directly in his algorithm? Does he have to run your tester? And if he uses his own neural network? Don't be so one-sided about things. And at the same time accusing me of not understanding anything. You just see the situation from your own bell tower, and you don't care about the rest, as I understand it.

I have 11 years of constant thought, work and responsibility about this language.

So, off to kindergarten. If you specifically want multithreading within MQL5, you'd better use either OpenCL or DLL. To understand the level of elaboration in this subject, look at the compilation of C++ code directly from MetaEditor and drag&drop DLL files from navigator to MQL5 code.

 

When the "MQL5 - neural network on GPU" is implemented, the price of this project will be high. At the first stages it will be difficult, so it is a start, so in the future to look for flaws.

The more so, with the help of the tester now you can solve problems of any complexity.

 
Renat:

I have 11 years of constant reflection, work and responsibility about this language.

So, off to kindergarten. And if you specifically want multithreading within MQL5, you should either use OpenCL or DLL. To understand the level of elaboration on this subject as well, look at the compilation of C++ code directly from MetaEditor and drag&drop DLL files from Navigator into MQL5 code.

I highlighted the key phrase. That's actually what it was about from the start. So maybe you should have read my posts carefully first, rather than being rude and getting personal without understanding. It seems strange to see such rude behaviour from someone who represents the face of the company...

 
TheXpert:
What's the problem with doing it now?
We're talking about multi-threaded calculations.
 
meat:

I highlighted the key phrase. Actually, that's exactly what I was talking about from the start. So maybe you should have read my posts carefully first, instead of rudeness and personalities? It seems strange to see such rude behaviour from someone who represents the face of the company...

You were told about OpenCL and DLL in the very first comment but you went on saying that you know better and that the developers were such mediocrities that they couldn't do this and that, added unnecessary stuff etc.

 
meat:

What, you think the user does not have the right to implement auto-optimisation directly in his algorithm? Does he have to run your tester? And if he uses his own neural network there? Don't be so one-sided about things. And at the same time accusing me of not understanding anything. You just see the situation from your own bell tower, and you don't care about the rest, as I understand it.

Self-auto-optimization can also be arranged in the form of separate scripts, combined through named channels. But it is much easier to use the internal tester and write your own fitness function in OnTester().
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • 2010.07.01
  • investeo
  • www.mql5.com
Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
 
Renat:

You were answered immediately, but you continued to claim that you know better and that the developers are such mediocrities that they couldn't do this and that, unnecessary additions etc.


And what was your answer? You started to tell me what a great terminal and tester you have, working in multiple streams. And I haven't said a word about your terminal. I meant about another thing: multi-threading in MQL code. When an algorithm can be split into several parts, and each part is executed in parallel. And you, not even having understood the point, start being rude. Well, as I see, with this approach there is no point in discussing anything constructive, so there's no point in continuing the discussion.

 
meat:

And what was your answer? You started telling me what a great terminal and tester you have, working in multiple streams. And I haven't said a word about your terminal. I meant about another thing: multi-threading in MQL code. When an algorithm can be split into several parts, and each part is executed in parallel. And you, not even having understood the subject, start being rude. Well, as I see, with such an approach there is no point in speaking about any constructive idea, so there's no point in continuing the discussion.

I recommend rereading your original post, paying attention to all your epithets, then go below to the responses.

The answers sounded calmly, with soft questions "To parallelize calculations of anything, you must first realize", gave answers and explained the current state of affairs "what is really to be parallelized".

But instead of a quick learning curve you spewed more nonsense and put the dogs on us. The result was a harsh response.

Reason: