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
Quando você muda of.
Se os indicadores tiverem lixo em seus amortecedores do antigo período de tempo, isso pode afetar também os temporizadores.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Nova versão do MetaTrader 4 build 1065
Sergey Klimov, 2017.04.14 16:34
Ao alternar entre contas, a variável _Dígitos no indicador não muda.
É mais bonito.
É mais bonito.
Isto é para aqueles que falam de consistência adequada no MT4.
Observe e entenda que nem tudo é tão bonito no MT4.
A fila é unívoca.
Bem, onde é que não há ambigüidade?
Experimente este exemplo primitivo. Você entenderá a "singularidade" ao trocar o TF.
Neste exemplo, um objeto com coordenadas de tempo e preço atuais é criado no OnInit. Na OnCalculate, este objeto se move junto com o preço.
No OnDeinit, ele é simplesmente (logicamente) apagado.
Quando trocamos o TF, o objeto aparece e depois desaparece.
Por que isso acontece?
Porque às vezes o OnDeinit da antiga TF apaga algo que já foi criado no OnInit da nova TF. Não é um bug! O que deve pensar o programador que criou este exemplo e não leu este ramo?
Bem, onde ela está sozinha.
O cronômetro foi mencionado ali.
Qual é a diferença? Você pode colocar EventSetTimer em Unite ao invés de criar objetos, e EventKillTimer em DeUnite ao invés de eliminar objetos. E isto não reduzirá a incerteza, porque o temporizador definido será morto por Deunite da velha TF, e às vezes não. E será ainda pior, porque pelo menos você pode ver o objeto, mas não pode ver o timer - quer ele funcione ou não.
Talvez eles já o tenham inventado, não tenham lido tudo. Se o indicador criar painel, você pode usar a variável global de terminal, aumentar seu valor em 1 init e usá-lo como um aditivo para nomes de objetos gráficos.
Minha tarefa era diferente - para salvar parâmetros do painel, para isso criei variáveis globais do terminal em deinit. A solução é simples - para criar variáveis globais do terminal no inite e atualizar cada uma delas à medida que os parâmetros mudam no painel gráfico. Somente exclua variáveis no deinit se a desinicialização for causada pela remoção do indicador.
Se o indicador criar um painel, você pode usar uma variável global do terminal, aumentar seu valor em 1 e usá-lo como um acréscimo aos nomes dos objetos gráficos.
O que deve pensar um programador que criou este exemplo e ainda não leu este tópico?
Concordo plenamente. Os não leitores não saberão desta característica e matarão seu tempo tentando descobri-la. E isso seria centenas de pessoas... ...especialmente aqueles que são iniciantes.
Tudo o que você precisa é consertar um bug uma vez e pronto.
Qual é a diferença? Você pode colocar EventSetTimer em Unite ao invés de criar objetos, e EventKillTimer em Deunite ao invés de eliminar objetos. Isto não reduzirá a incerteza, porque o temporizador definido será morto por Deunite da velha TF, e às vezes não. E seria ainda pior, porque pelo menos você pode ver o objeto, mas não pode ver se o timer funciona ou não.
É tudo muletas. Você só precisa fazer a ordem correta no terminal e isso é tudo. Primeiro deinite a instância anterior, e só depois inicialize a nova instância.
Concordo plenamente. Os não leitores não saberão desta característica e matarão seu tempo tentando descobri-la. E isso seria centenas de pessoas... especialmente para os iniciantes.
Tudo o que você tem que fazer é consertar o bug uma vez e pronto.
É disso que eu estou falando!
Estou pessoalmente em um rolo, pois sinto que tenho uma vantagem sobre a maioria, pois sei como lidar com tudo isso, não apenas em palavras, mas também em ações. Já fiz correções e acrescentei muletas aos meus programas.
Só não entendo porque os desenvolvedores se recusam obstinadamente a considerar esta "característica" um bug.
Por exemplo:
Os indicadores devem ser utilizados para os fins a que se destinam.
Em outras palavras, a seqüência de preenchimento dos indicadores OnInit e OnDeinit quando o período do símbolo dográfico tiver mudado não deve ser motivo de preocupação para ninguém.
Mas em meu exemplo com o gif animado acima, há um bug definido para um programador que não leu este tópico! O que não é feito de acordo com seu propósito?