[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 510
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
Eu não gosto de continuar e quebrar operadores, mas talvez eles possam ajudá-lo, especialmente porque um 36 vezes mais se no mql pode não funcionar
E acelerar Meu código pode ser quebrado se, consistindo de uma complexa condição de verificação de 36 entradas, em 36 ifs com uma condição simples! :)))
Acho que o código se aceleraria notavelmente, embora para ter certeza você precise entender as instruções da máquina, que são o resultado da compilação.
Eu corri seu código no MT5. Ele já tem avaliações curtas dos operadores lógicos já implementados (incorporados), portanto não há necessidade de quebrar o código em muitos "se".
No MT4 é diferente, esta otimização faz sentido lá. Mas eu fiz avaliação de tempo no MT5, por um curto esquema.
Acelerada por um fator de 4. Rewrote Validate().
Agora é assim:
WorkTime == 200 msHorrível, mas faz sentido otimizar o código da seguinte maneira. Muitas vezes mais rápido! E aqui o MT5 não vai ajudar mais.
Não é uma idéia, é claro. Mas eu me pergunto como isso vai funcionar rápido! :))
Também no código eu reduzi o intervalo dos valores divisores. 654321/2 = 327160,5...
Acelerada por um fator de 4. Rewrote Validate().
Agora é o que parece:
WorkTime == 200 msÉ lindo! Não como a minha.
Tenho uma idéia para escrever um algoritmo de divisão de colunas. Divida por dígitos, anote o restante da divisão e, quando o resultado for maior que 6, faça a operação contínua. Foi exatamente isso que fiz esta tarde, quando estava passando pelas cinco, dividi tudo em colunas. Mas é um longo tempo chegando! :))
É na representação do número hexadecimal que você precisa fazer a otimização, como você já fez.
Tenho uma idéia para escrever um algoritmo de divisão de colunas. Divida por dígitos, anote o restante da divisão e se corresponder ou o resultado for maior que 6, faça a operação contínua. Foi exatamente isso que fiz esta tarde, quando estava passando pelas cinco, dividi tudo em colunas. Mas é um longo tempo chegando! :))
É na representação de números de seis dígitos que precisamos otimizar, como você já fez.
О! Isso não é uma má idéia. Reescreveu-o novamente. WorkTime=125 ms.
О! Isso não é uma má idéia. Reescreva-o novamente. WorkTime=125 ms
Agora os jogadores de hóquei vão ficar definitivamente felizes! :)))) Mas não foi isso que eu quis dizer! ;D
Quanto o contador de tempo mostra pelo Meu código?
Eu entendo as mudanças. Apenas ainda não o dominei:
"É "|=" um OR lógico? O resto é um beco sem saída...
Agora os jogadores de hóquei ficarão felizes com certeza! :))))
Sim.
Seu novo código é ainda mais rápido, mas há alguns bugs lá.
O número de aparelho encaracolado não se somava. Mas eu acho que isso não é nada, pode ser corrigido apagando o último.
Explique o significado das linhas destacadas. Eu não entendo.
Sim.
Seu novo código é ainda mais rápido, mas há alguns bugs lá.
O número de aparelho encaracolado não se somava. Mas eu acho que não é nada, pode ser consertado apagando o último.
Explicar o significado de linhas separadas. Eu não entendo.
Exatamente... Mentira! :))) E parênteses parecem estar bem, eu copiei do código pronto.
É assim que deve ser:
Também na MQL5, ela vai acelerar um pouco a comparação:
Mas 125 ms claramente não está se recuperando.
Ou talvez esteja tudo em C++?
.
Validar - uma função de parâmetro.
Que tal a maneira antiquada... alocar memória e cache um bool
para todos os valores válidos do argumento?