Vladislav Andruschenko: Por mim tudo bem. Essa é a parte complicada.
Você está fazendo conversões desnecessárias que fazem com que você perca sinais.
Normalize somente antes de utilizar diretamente os resultados de seus cálculos. Evite todas as conversões de números e conversões o máximo possível antes.
Andrey Dik: Você está fazendo conversões desnecessárias que resultam em perda de caracteres.
Estes já são códigos desesperados..... Eu o fiz de maneiras diferentes. Mas, como dito acima. Provavelmente por causa de ter sido levado incorretamente, estava pecando no erro. Embora estas variáveis também estivessem com falhas no código.
Obrigado a todos por sua ajuda e sugestões. Mas tudo funciona claramente com o flutuador.
Vladislav Andruschenko: Já está desesperado códigos..... Eu o fiz de maneiras diferentes. Mas, como dito acima. Provavelmente por ter sido aceito incorretamente, eu estava pecando por um erro. Embora estas variáveis também estivessem com falhas no código.
Obrigado a todos por sua ajuda e sugestões. Mas tudo funciona claramente com o flutuador.
A flutuação é uma castração numérica que não lhe dá nenhuma vantagem. É melhor lidar com todas as perdas nas conversões e usar a maior precisão possível - o dobro.
porquehttps://www.mql5.com/ru/docs/convert/normalizedouble
Observe que o número normalizado quando a saída para o diário de bordo usando Print() pode conter mais casas decimais do que você espera. Por exemplo,
então no comentário o mesmo
void OnStart()
{
double Price1 = 105143;
double Price2 = Price1 - 1 e-11;
Print(TOSTRING(Price1) + TOSTRING(MathFloor(Price1)) +
TOSTRING(Price2) + TOSTRING(MathFloor(Price2)) +
TOSTRING(Price1 > Price2));
}
Obrigado. Afinal, devo ter encontrado a solução certa, mas estava preocupado com um erro por causa do alinhamento incorreto!
O restante de um número não-normalizado dividido por outro número não-normalizado, o resultado é, de qualquer forma, não-normalizado.
Esta função deve ser totalmente retirada da linguagem, de modo a não traumatizar a psique imatura.
Afinal, talvez eu tenha encontrado a solução certa.
O restante de um número não-normalizado dividido por outro número não-normalizado, o resultado é, de qualquer forma, não-normalizado.
Esta função deve ser totalmente retirada da linguagem, de modo a não traumatizar a psique imatura.
Por mim tudo bem. Essa é a parte complicada.
Normalize somente antes de utilizar diretamente os resultados de seus cálculos. Evite todas as conversões de números e conversões o máximo possível antes.
Você está fazendo conversões desnecessárias que resultam em perda de caracteres.
Por mim tudo bem. Isso é o mais engraçado.
Já está desesperado códigos..... Eu o fiz de maneiras diferentes. Mas, como dito acima. Provavelmente por ter sido aceito incorretamente, eu estava pecando por um erro. Embora estas variáveis também estivessem com falhas no código.