Pergunta para os mestres da MQL4. Novamente sobre Double Compare. - página 11

 

Não foi silenciosamente banido. Mas muito abertamente, após duas advertências. Este é um fórum decente para pessoas sérias. Seu vasto conhecimento é inútil se você não puder transmiti-lo em sua língua nativa (espero que não fale albanês).

 

Leia tudo!

Muitas vezes!

Diferentes ramos.

Mas eu ainda não vi um resumo. Eu gostaria de ter detalhes e clareza sobre este assunto.

Cavalheiros, por favor, se não for uma chatice, façam uma conclusão final (sobre isto) -

a todos, usuários, perdedores, manequins, samovares - quando comparamos números do tipo duplo, usamos o seguinte:

stdlib, bool CompareDoubles(número duplo1,número duplo2);

ou

se (NormalizeDuplo((a-b)>0,Dígitos)) {...}

ou

int Comparação de preços(duplo a, duplo b)
{
a -= b;
b = Ponto / 2;
se (a > b) retornar (1);
se (a < -b) retornar (-1);
retorno (0);
}

ou

duplo a;
duplo b;
int fator = MathRound( MathPow(10, dígitos) ); // dígitos é a precisão a ser comparada
Se compararmos preços, esta é a variável pré-definida Dígitos
...

se (MathRound( (a - b) * fator ) != 0)
{
... // a != b
}

se (MathRound( (a - b) * fator ) == 0)
{
... // a == b
}

se (MathRound( (a - b) * fator ) > 0)
{
... // a > b
}

se (MathRound( (a - b) * fator ) < 0)
{
... // a < b
}

ou

Ao comparar números do tipo duplo com precisão de até 4-5 dígitos, você não precisa mais elaborar.

Cumprimentos, Alexander.