Is the task solvable in principle in MQL4 ? - page 3

 

Let the master as a resolution total the maximum allowed number of orders in GV that can be opened. Each slave first decreases this GV by one if GV>0, and then opens an order. The idea is that each slave will first score the right to open an order and then open it.

 

I just figured out what the problem is: instead of 8 slaves, you have a crowd of 8 anarchists ;))

After getting permission from the master, this unorganised crowd goes out onto the field and does whatever they want.

 
avtomat:

And why and why are two identical magicians being made?

Global variables can be used to assign non-intersecting areas of the magicians to the included EAs. The corresponding checks and assignments are made in init().

Besides, you can limit the number of orders opened for each symbol either by specifying it explicitly or by assigning a master, depending on the current general situation which the master is supposed to control.


"And why and why are two identical magicians made?"

That was my mistake. Not the same, but different of course.

The matter is that slave EAs are setters and each one can open 8 knees and of course they will have identical mages.

My code should limit the activity of Expert Advisors and not build grids of more than 2 pairs at a time.

I have written a loop with an array that compares opened magicians and if 2 different magicians have already been opened, i.e. 2 pairs have already started to build nets, a global variable prohibits building new ones for the remaining pairs. It is also possible to limit by instrument, the main thing is to limit, but it does not work, or rather it works, but the wizard does not have time to think that it is time to overwrite the global variable.

 
avtomat:

I just figured out what the problem is: instead of 8 slaves, you have a crowd of 8 anarchists ;))

After getting permission from the master, this unorganised crowd goes out onto the field and does whatever they want.


Exactly so, they obey globally, but as long as the master is given the opportunity to speak the crowd is already scattered on 4-6 pairs instead of 2
 
Sepulca:

Let the master as a resolution total the maximum allowed number of orders in GV that can be opened. Each slave first decreases this GV by one if GV>0, and then opens an order. The idea is that each slave will first score the right to open an order and then open it.


Getting into the code of trading EAs is not an option; the only thing they will listen to is the global
 
If the slave has done any action, they must report back to the master. The master, in turn, must give his summary, on which the slave's further actions (or inaction) depend.
 
That's why I asked if the problem can be solved with the help of mql4, maybe a new solution or a cunning way to start the master without letting the whole terminal hang, but for the master to always work, not when he is given the right to vote.
 

Each slave slave1, slave2, ..., slave8 can be assigned its own semaphore work1, work2, ..., work8.

The slaves have to send a request to allow the action -- quest1, quest2, ..., quest8.

The master, having received the request, manages the semaphores.

 
avtomat:

Each slave slave1, slave2, ..., slave8 can be assigned its own semaphore work1, work2, ..., work8.

The slaves have to send a request to allow the action -- quest1, quest2, ..., quest8.

The master, on receiving the request, manages the semaphores.

Is the circle closed ?
In other words: Without getting into the code of the slaves, the problem cannot be solved ?

I was hoping for some clever master looping...

 

Zakyza:
Is the circle closed ?
In other words: without getting into the slave code, the problem cannot be solved ?

What does "without getting into the slave code"mean? Is it unavailable?

Reason: