Como garantir que a EA só funcione no gráfico onde foi lançada pela primeira vez - página 6

 

ForexTools:

Como os objetos gráficos e as variáveis globais devem sobreviver tanto aos reinícios quanto às recompilações - a verificação sempre funcionará corretamente. a menos que você apague manualmente objetos globais ou objetos da lista de objetos - mas isso é quase paranóico :)))

Basta substituir a variável global por algo mais confiável. Mas parece ser a mesma coisa.
 
sanyooooook:
Quando o terminal trava, os objetos gráficos criados na última sessão não são salvos. Corrija-me se eu estiver errado.


Sim, eles não. Mas a declaração do problema aqui não é completa. Temos que ser mais específicos.

Se, por exemplo, quisermos conectar os indicadores - Expert Advisor, o objeto gráfico deve ser criado por indicadores. Esta será uma conexão robusta.

Se você quiser apenas se ligar a uma determinada janela, digamos a um determinado período de tempo, então você deve usar adicionalmente esta característica - o período de tempo, como um atributo identificador.

Mas se você precisar de resistência total a explosões nucleares, então somente o lançamento com parâmetros de linha de comando ajudará.

 
sanyooooook:
Quando o terminal cair...

bem, neste caso, nada é garantido.

Em princípio - a solução com o objeto etiquetado e uma variável global está bem, com uma boa rede de segurança. ela não permitirá iniciar uma segunda vez, e eu repreenderei as mensagens para que eu não me esqueça de apagá-la e na segunda vez, nem na queda nem no reinício do terminal, haverá duas cópias ;)

 
TheXpert:
Basta substituir a variável global por algo mais confiável. Mas parece ser a mesma coisa.

Por que você não gosta de variáveis globais? Bem, às vezes eles desaparecem :) Mesmo que sejam regraváveis :))) Bem, o que você quer, é um produto, é moldado. Basta incluí-lo no algoritmo. Os arquivos, a propósito, também podem desaparecer quando o sistema de arquivos falha.
 

Opção 1 (para usuários sãos): Criar uma variável global na inicialização do Expert Advisor. Se uma variável global for detectada na inicialização, a caixa de mensagens abre-se "Tra la la... O perito é bloqueado, permite uma instância, remove desnecessário".

Variante 2 (se forem fornecidos serviços de programação para pacientes psiquiátricos): PostMessageA(,WM_CLOSE,); - janela de morte com EA supérflua.

 

Integer:

Variante 2 (se forem prestados serviços de programação a pacientes de clínica mental): PostMessageA(,WM_CLOSE,,); - janela de morte com EA desnecessária.

Demasiado cruel - é mais fácil fazer Expert Advisors como um roteiro em loop - o efeito é o mesmo. Cara, vou ter que reiniciá-lo manualmente... Fechá-lo é muito brutal de qualquer forma :)
 
ForexTools:

Porque é exatamente isso que eu quero uma "recomendação de solução". foi isso que eu pedi em meu primeiro posto - foi por isso que eu também levei sua idéia nesse sentido.

e é por isso que vejo a validade de muitas "idéias" até mesmo do DOTO como sua..... ;)

se eu estiver errado sobre você - escreva algum código EA que não faça nada além de impedir sua segunda cópia de funcionar. verifique se ele realmente funciona quando recompilar e reiniciar o terminal e poste o código aqui - tudo vai cair no lugar ;)

Então você está me oferecendo para trabalhar para você. Por que você não indica um preço?
 
TheXpert:
Demasiado cruel - é mais fácil fazer EAs como um roteiro em loop - o mesmo efeito. Nossa, então você teria que reiniciá-lo manualmente... É muito brutal para fechar de qualquer maneira :)


Claro que fecha com muita força, mas fecha :)

 
Integer:
Se os serviços de programação forem prestados a pacientes em um hospital psiquiátrico

:)))))))

mas no entanto: criou uma variável global, a segunda execução da EA verificou sua presença - não começou. após um minuto o terminal caiu, mas: a variável global permaneceu.

ao reiniciar o terminal, uma única cópia verifica se ele existe e NÃO inicia. portanto o objeto na carta ainda precisa reconhecer "sua carta" e iniciar.

 
Candid:
Portanto, você está me oferecendo para trabalhar para você. Por que você não me diz o preço?

Relaxe ;)

Neste fórum me comunico com colegas artesãos. aqueles que pensam que podem me ajudar - eles ajudam. aqueles que querem dinheiro para sua ajuda - escrevem sobre isso e eu decido se devo ou não me pagar. houve casos (e mais de uma vez) em que eu paguei.

Mas além do pagamento, para um programador, há interesse em resolver quebra-cabeças. por isso plantei um deles. quem queria - se divertir, treinar seu pensamento, quem não queria - silenciosamente foi ler outros tópicos.

Razão: