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
Se for para comparação, então você poderia facilmente criar sua própria função:
É apenas um pensamento.
Se for para comparação, então você poderia facilmente criar sua própria função:
É apenas um pensamento.
É um bom pensamento, obrigado por isso :-)
O uso de "Ponto" ou "Ponto/2.0" não é um valor de diferença muito bom, IMO. O erro roundoff introduzido por NormalizeDouble (que hoje me queimei), certamente é muito menor que 8 dígitos, mais provavelmente 15 dígitos.
Tendo em vista as dicas anteriores, e tendo feito algumas mudanças e montado a seguinte rotina que parece funcionar bem (mesmo usando a "diff" até 15 casas decimais), embora ainda não tenha sido rigorosamente testada:
Here is a check of the obvious:
Aqui está mais uma possível rotina que pode comparar, mas também pode normalizar internamente tanto A e/ou B, e também irá relaxar a diferença de comparação (de A-B ou B-A) para um número maior baseado em "dígitos". Duvido que esta rotina seja necessária em comparação com a simples "AvsB" acima, mas ela é oferecida para seu uso conforme desejado:
O uso de "Ponto" ou "Ponto/2.0" não é um valor de diferença muito bom, IMO. O erro roundoff introduzido por NormalizeDouble (que hoje me queimei), certamente é muito menor que 8 dígitos, mais provavelmente 15 dígitos.
Você quer o maior valor que não pode ser considerado erro roundoff ou equivalente, o menor valor que não pode ser considerado uma mudança de preço. Como os preços só podem mudar por um múltiplo de ponto, o ponto/2 é exatamente isso.
O valor duplo do corretor poderia ser de 1,234575000000000000 a 1,23458499999999999 e ainda ser considerado o mesmo preço de 1,23458.
Se você tivesse usado isto, não teria tido o problema:
if (a > b)
if (a >= b)
if (a != b)
devemos evitar o uso de ??
ou talvez... eu tenho uma idéia de que podemos usara função MathRound
ex . duplo x= (MathRound( 1,37883 * 100000)) / 100000 ;
para que possamos fazer funcionar
*Põe sua gravata em posição com dois dedos* Só use normalizar o dobro nos cálculos que envolvem um valor duplo e não apenas em todos os lugares onde há um dobro.
devemos evitar o uso de ??
ou talvez... eu tenho uma idéia de que podemos usar a função MathRound
ex . duplo x= (MathRound( 1,37883 * 100000)) / 100000 ;
Você ainda acaba com o dobro e ainda com a possibilidade de preço != preço
Cheguei a esta solução, que transforma as duplas em duplas, com o propósito de comparar as duplas. . .
para que . . .
nunca será verdade.