Características da linguagem mql5, subtilezas e técnicas - página 122
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
Resultado
A terceira opção (comutador) é constantemente mais lenta do que a segunda (apontadores de funções). Qual é a razão para isto?
ZS Lentamente. O terceiro interruptor é mais rápido do que o segundo interruptor. Tudo está bem.
Portanto, se tiver um conjunto imutável de indicadores de funções, será mais rápido se o substituir por um interruptor.
Assim, se tivermos um conjunto imutável de indicadores para funcionar, é mais rápido se o substituirmos por um interruptor.
Bem, neste caso é lógico, porque a matriz foi preenchida dinamicamente, o que significa verificações constantes da validade do ponteiro. Embora pudesse ser optimizada, claro...
Mas se a MQL suportasse a inicialização da matriz através de indicações constantes, seria provavelmente o mesmo.
p.s. O seu código não é de todo legível. Claro que compreendo que encontrará todas estas complexidades com macros convenientes, uma vez que as escreveu você mesmo, pelo que sabe o que fazem. Mas para um leitor externo, é apenas um puzzle. Penso que é pouco provável que você mesmo compreenda o que fez aqui em seis meses ) Pelo menos faça um comentário ou qualquer coisa ...
p.s. O seu código é completamente ilegível. Claro, compreendo que se sinta confortável com todos estes artifícios com macros, porque você mesmo os escreveu, por isso sabe o que eles fazem. Mas para um leitor externo - é apenas um puzzle. Penso que é pouco provável que você mesmo compreenda o que lá fez em seis meses ) Pelo menos faça um comentário ou qualquer coisa ...
Caso contrário, seria uma confusão. Além disso, estava a fazer experiências com o número de transições. Sem macros, teria sido difícil. Acerca dos comentários adicionais - terei isso em conta no futuro.
Caso contrário, teria sido uma confusão. Além disso, fiz experiências com o número de transições. Sem macros, teria sido difícil. Acerca dos comentários adicionais - terei isso em conta no futuro.
Por vezes é muito mais fácil desmontar uma expansão compreensível do que começar a desmontar um puzzle compacto e abandonar imediatamente esta actividade inútil.
Por vezes é muito mais fácil desembaralhar uma peça de escrita compreensível do que começar a analisar um puzzle compacto e abandonar imediatamente a tarefa inútil em mãos.
Para além do que disse anteriormente, uma das causas mais comuns de desencontros no testador é uma inicialização defeituosa ou a sua falta.
Embora a inicialização de variáveis em falta seja simples, as matrizes são um pouco mais complicadas. Na maioria das vezes é a descoberta de situações em que o número de elementos de matriz aumenta que pode indicar um local problemático.
A fim de detectar esses potenciais problemas, pode inserir estas cordas no início do Expert Advisor
Se a situação for apanhada, então a informação detalhada será escrita no diário de bordo e a corrida será interrompida.
SZZ Exemplo de aplicação.
Compreendo, eu próprio utilizo frequentemente este método, mas e a inicialização? Como pode ser inválido?
Por exemplo, o ArrayResize e o ArrayInitialize são misturados. Ou, por exemplo, o indicador executa o ArrayInitialize do tampão no OnInit, pensando erroneamente que o tampão é inicializado.
Por exemplo, o ArrayResize e o ArrayInitialize são misturados.
Bem, este é um erro muito infantil. vale a pena um tal esforço para o encontrar?
Bem, é um erro infantil. Vale a pena o esforço para o encontrar?
Encontrar qualquer erro requer esforço. Especialmente quando o código é grande e não é o seu.