Características da linguagem mql5, subtilezas e técnicas - página 242
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
Ele espera que a função MathMin() seja determinística. Portanto, que sempre forneça o mesmo resultado quando os dois argumentos forem os mesmos. E não um resultado diferente dependendo de qual argumento é o primeiro ou o segundo.
fxsaber está certo, isso é um problema.
ahhh..., então por que estava tão confuso sobre " Mathematically the same expression (highlighted) " e union
foi suficiente:
mas como 0,0 == -0,0, não consigo imaginar uma situação em que isso possa ser um problema e afetar alguma coisa
um recurso antigo do Mín/Máx no MQL - eles funcionam da maneira que os desenvolvedores pensam, ou seja, corretamente :-)
são os padrões que estão errados.
ahhh..., então por que estava tão confuso sobre " Mathematically the same expression (highlighted) " e a união
foi suficiente:
mas como 0,0 == -0,0, não consigo imaginar uma situação em que isso possa ser um problema e, de fato, afetar alguma coisa
Se não fosse zero, então seria um problema. E em zero não afeta nada.
Para:
c++ - Qual é a diferença entre -0 e 0? - Stack Overflow
Portanto, tudo o que você precisa saber é que 0 = -0
Esse é o recurso completo que não afeta os cálculos e a lógica
Como tenho um excelente entendimento da questão, escrevi as duas versões do MathMin para mostrar que funções matematicamente idênticas em linguagens de programação produzem resultados diferentes.
Parece ser um bug.
Ele funciona bem em C++:
no console:
Long negative zero = 0
Pergunta para os desenvolvedores. É normal que, na janela de depuração, a variável Union não se expanda e não reaja a um clique?
Os campos Union.Num1 e Union.Num2 foram adicionados manualmente. Pelo menos dessa forma você pode ver os valores...
Funciona como esperado! O primeiro bit (índice de bit 0) é o bit de sinal que é definido para -0,0.
Esses também são casos mais especiais no formato ieee 754. https://www. wikiwand.com/en/IEEE%20754#Special_values
Parece ser um bug.
Ele funciona bem em C++:
no console:
não há nenhum erro. Em C++ é a mesma coisa.
você cometeu apenas um erro de formatação e digitação
tente isso:
No mesmo contexto, isso pode examinar a representação de 64 bits de duplas https://www.mql5.com/en/code/20822
ou a versão mais curta
Não há nenhum erro. É o mesmo em C++.
apenas cometeu um erro de formatação e tipo
tente isso:
Sim, eu estava com pressa. Obrigado pela ciência ))
Às vezes, você precisa colocar rapidamente um EA no testador. Você pode fazer isso da seguinte forma.
Selecione uma data no futuro e pressione CTRL+F5 no ME.