A tarefa é, em princípio, resolúvel na MQL4 ? - página 3

 

Deixe o mestre como resolução totalizar o número máximo permitido de pedidos em GV que podem ser abertos. Cada escravo primeiro diminui este GV em um se GV>0, e depois abre uma ordem. A idéia é que cada escravo primeiro marque o direito de abrir uma ordem e depois a abra.

 

Eu acabei de descobrir qual é o problema: em vez de 8 escravos, você tem uma multidão de 8 anarquistas ;))

Depois de obter permissão do mestre, esta multidão desorganizada vai para o campo e faz o que quer que seja que eles queiram.

 
avtomat:

E por que e por que dois mágicos idênticos estão sendo feitos?

Variáveis globais podem ser usadas para designar áreas não-intersectantes dos mágicos para os EAs incluídos. As verificações e atribuições correspondentes são feitas no init().

Além disso, você pode limitar o número de ordens abertas para cada símbolo especificando-o explicitamente ou atribuindo um mestre, dependendo da situação geral atual que o mestre deve controlar.


"E por que e por que dois mágicos idênticos são feitos"?

Esse foi o meu erro. Não o mesmo, mas diferente, é claro.

A questão é que os EAs escravos são colonizadores e cada um deles pode abrir 8 joelhos e, é claro, terão magos idênticos.

Meu código deve limitar a atividade dos Expert Advisors e não construir grades com mais de 2 pares de cada vez.

Eu escrevi um loop com uma matriz que compara mágicos abertos e se 2 mágicos diferentes já foram abertos, ou seja, 2 pares já começaram a construir redes, uma variável global proíbe a construção de novas redes para os pares restantes. Também é possível limitar por instrumento, o principal é limitar, mas não funciona, ou melhor, não funciona, mas o mago não tem tempo para pensar que é hora de sobrescrever a variável global.

 
avtomat:

Eu acabei de descobrir qual é o problema: em vez de 8 escravos, você tem uma multidão de 8 anarquistas ;))

Depois de obter permissão do mestre, esta multidão desorganizada vai para o campo e faz o que quer que seja que eles queiram.


Exatamente assim, eles obedecem globalmente, mas enquanto o mestre tiver a oportunidade de falar, a multidão já está espalhada em 4-6 pares em vez de 2
 
Sepulca:

Deixe o mestre como resolução totalizar o número máximo permitido de pedidos em GV que podem ser abertos. Cada escravo primeiro diminui este GV em um se GV>0, e depois abre uma ordem. A idéia é que cada escravo primeiro marque o direito de abrir uma ordem e depois a abra.


Entrar no código de EAs comerciais não é uma opção; a única coisa que eles vão ouvir é o
 
Se o escravo tiver feito alguma ação, eles devem se reportar ao mestre. O mestre, por sua vez, deve dar seu resumo, do qual dependem as demais ações (ou inação) do escravo.
 
Por isso perguntei se o problema pode ser resolvido com a ajuda do mql4, talvez uma nova solução ou uma maneira astuta de iniciar o mestre sem deixar todo o terminal pendurado, mas para que o mestre sempre trabalhe, não quando lhe é dado o direito de voto.
 

Cada escravo escravo1, escravo2, ..., escravo8 pode receber seu próprio trabalho semáforo1, trabalho2, ..., trabalho8.

Os escravos têm que enviar um pedido para permitir a ação -- quest1, quest2, ..., quest8.

O mestre, tendo recebido o pedido, gerencia os semáforos.

 
avtomat:

Cada escravo escravo1, escravo2, ..., escravo8 pode receber seu próprio trabalho semáforo1, trabalho2, ..., trabalho8.

Os escravos têm que enviar um pedido para permitir a ação -- quest1, quest2, ..., quest8.

O mestre, ao receber o pedido, gerencia os semáforos.

O círculo está fechado?
Em outras palavras: sem entrar no código dos escravos, o problema não pode ser resolvido ?

Esperava um laço mestre inteligente...

 

Zakyza:
O
círculo está fechado?
Em outras palavras: sem entrar no código escravo, o problema não pode ser resolvido?

O que significa "sem entrar no código escravo"? Está indisponível?