¿Se puede resolver en principio la tarea en MQL4? - página 3

 

Que el maestro como resolución totalice el número máximo permitido de órdenes en GV que se pueden abrir. Cada esclavo primero disminuye este GV en uno si GV>0, y luego abre una orden. La idea es que cada esclavo se anote primero el derecho a abrir una orden y luego la abra.

[Eliminado]  

Acabo de descubrir cuál es el problema: en lugar de 8 esclavos, tienes una multitud de 8 anarquistas ;))

Después de obtener el permiso del maestro, esta multitud desorganizada sale al campo y hace lo que quiere.

[Eliminado]  
avtomat:

¿Y por qué y para qué se hacen dos magos idénticos?

Se pueden utilizar variables globales para asignar áreas mágicas no superpuestas a los EAs incluidos. Las comprobaciones y asignaciones correspondientes se realizan en init().

Además, puede limitar el número de órdenes abiertas para cada símbolo, ya sea especificándolo explícitamente o asignando un maestro, en función de la situación general actual que el maestro debe controlar.


"¿Y por qué y para qué se hacen dos magos idénticos?"

Ese fue mi error. No es lo mismo, pero es diferente, por supuesto.

El asunto es que los EAs esclavos son colocadores y cada uno puede abrir 8 rodillas y por supuesto tendrán magos idénticos.

Mi código debería limitar la actividad de los Asesores Expertos y no construir parrillas de más de 2 pares a la vez.

He escrito un bucle con un array que compara los magos abiertos y si ya se han abierto 2 magos diferentes, es decir, 2 parejas ya han empezado a construir redes, una variable global prohíbe construir nuevas para las parejas restantes. También es posible limitar por instrumento, lo principal es limitarlo, pero no funciona, o más bien funciona, pero al asistente no le da tiempo a pensar que es el momento de sobrescribir la variable global.

[Eliminado]  
avtomat:

Acabo de descubrir cuál es el problema: en lugar de 8 esclavos, tienes una multitud de 8 anarquistas ;))

Después de obtener el permiso del maestro, esta multitud desorganizada sale al campo y hace lo que quiere.


Exactamente así, obedecen globalmente, pero mientras al maestro se le da la oportunidad de hablar la multitud ya se dispersa en 4-6 pares en lugar de 2
[Eliminado]  
Sepulca:

Que el maestro como resolución totalice el número máximo permitido de órdenes en GV que se pueden abrir. Cada esclavo primero disminuye este GV en uno si GV>0, y luego abre una orden. La idea es que cada esclavo se anote primero el derecho a abrir una orden y luego la abra.


Entrar en el código de los EAs de comercio no es una opción; lo único que escucharán es el global
[Eliminado]  
Si el esclavo ha realizado alguna acción, debe informar al maestro. El amo, a su vez, debe dar su resumen, del que dependen las acciones (o la inacción) posteriores del esclavo.
[Eliminado]  
Por eso preguntaba si el problema se puede resolver con la ayuda de mql4, tal vez una nueva solución o una forma astuta de arrancar el master sin que se cuelgue todo el terminal, pero que el master funcione siempre, no cuando se le da el derecho a voto.
[Eliminado]  

A cada esclavo slave1, slave2, ..., slave8 se le puede asignar su propio semáforo work1, work2, ..., work8.

Los esclavos tienen que enviar una solicitud para permitir la acción -- quest1, quest2, ..., quest8.

El maestro, tras recibir la solicitud, gestiona los semáforos.

[Eliminado]  
avtomat:

A cada esclavo slave1, slave2, ..., slave8 se le puede asignar su propio semáforo work1, work2, ..., work8.

Los esclavos tienen que enviar una solicitud para permitir la acción -- quest1, quest2, ..., quest8.

El maestro, al recibir la solicitud, gestiona los semáforos.

¿Está cerrado el círculo?
En otras palabras: sin entrar en el código de los esclavos, no se puede resolver el problema?

Esperaba algún bucle maestro inteligente...

[Eliminado]  

Zakyza:
¿Se cierra el círculo?
En otras palabras:
sin entrar en el código esclavo
, el problema no se puede resolver?

¿Qué significa "sin entrar en el código esclavo"? ¿No está disponible?