Como garantir que a EA só funcione no gráfico onde foi lançada pela primeira vez - página 6
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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 :)))
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á.
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 ;)
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.
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 ;)
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 :)
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.
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.