No MT4 existe uma maneira de detectar se um EA já está sendo executado em outro gráfico?
Saudações
Scoobs
No MT4 existe uma maneira de detectar se um EA já está sendo executado em outro gráfico?
Saudações
Scoobs
Vá para o gráfico do par e olhe para o canto direito. Se houver um ícone, isso é para o EA. Como a opção de menu Janela tem uma opção chamada mais janelas, se você tiver muitos gráficos abertos. Ele fornecerá uma lista dos pares e o nome de qualquer EA anexado a esse gráfico.
Talvez eu não tenha explicado muito bem. Eu quero que o EA verifique automaticamente se ele ainda não está carregado e em execução em outro gráfico. Scoobs
Eu não acho que há uma função como IsTesting () ou IsDemo (). Você poderia fazer isso com alguma codificação extra usando uma variável Global que armazena o nome do EA e do par de moedas. Outro EA poderia verificar a existência da variável.
Eu pensei que a variável global só foi vista por uma instância do EA e não por outras pessoas?
uma verdadeira variável global está disponível para tudo na plataforma naquele computador ..... como codemiester mencionou, o global vairable pode ser definido .... o ea pode procurar no init e ver o que está atualmente rodando na plataforma ... .. em seguida, alertá-lo se for necessário ..... às vezes o mesmo ea é procurado várias vezes no mesmo par e período de tempo ....../---/--- você também pode codificar para diferentes plataformas rodando em diferentes computadores em diferentes países para poder dizer se os outros estão rodando e o que é ..... então, e esse é um exemplo extremo, se o computador rodando em Moscou perderia a conexão com a internet, o de los angeles ver e assumir ..... se os dois perdessem conexão outra na Áustria poderia assumir ...... e assim por diante ...... backups redundantes ...... uso prático seria se você tivesse computadores em seu escritório, sua casa e casas de filho ...... h
Existe um conflito confuso na terminologia. Eles não são realmente variáveis no sentido usual (declarado no código), essas outras variáveis globais são pares nome-valor que podem ser acessados por meio de uma API especial, são acessíveis por todos os EAs no terminal em execução, são persistidos para disco e sobreviver até mesmo um desligamento impuro (crash). Eles são acessados com GlobalVariableSet (), GlobalVariableGet () e algumas outras funções começando com GlobalVariable *. Eles deveriam ter dado a eles um nome diferente para evitar essa confusão.
Você acha que o seguinte funcionaria? if (CheckInstance) {duplo EA_RUNNING = GlobalVariableGet (WindowExpertName ()); if (EA_RUNNING == 0) {GlobalVariableSet (WindowExpertName (), 1); CheckInstance = false; } if (EA_RUNNING! = 0) {return (0); }}
Scooby, eu usaria GlobalVariableCheck ao invés de Get. Também é importante lembrar de excluir a variável global no deinit. Eu estou trabalhando em um EA no fórum indo que faz isso. Ele verifica a existência do EA no mesmo parTF e se remove do gráfico atual se for encontrado para ser executado.
1 Attachment (s) Ok, eu fiz desta forma e parece funcionar muito bem. Obrigado pela ajuda de todos. Scoobs
https://www.tradingintuitivo.com/att...5576789423.mq4