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
Conclusão surpreendente! O que o faz pensar que com qualquer dígito, se você nem sequer "entende" o que é um dígito?
Conclusão surpreendente! O que o faz pensar que com qualquer dígito, se você nem sequer "entende" o que é um dígito?
Devo dizer imediatamente que prefiro não participar de tais explicações, porque se você não tem nada a dizer sobre os méritos, por que falar?
Eu gostaria de agradecer a todos os profissionais por sua visão!
Irtron, eu escolhi sua variante, eu gostei muito. Corrigi-o um pouco para casos gerais e verifiquei-o:
int Comparação Preço (duplo a, duplo b, duplo dígito)
{
a -= b;
b = dígito;
se (a > b)
retorno (1);
se (a < -b)
retorno (-1);
retorno (0);
}
Obrigado.
double digit14=0.00000000000001;
dígito duplo12=0,000000000001;
dígito duplo8=0,00000001;
dígito duplo4=0,0001;
dígito duplo2=0,01;
que determinará a precisão necessária.
Para esta funcionalidade, ele funciona muito rapidamente.
Irtron, mais uma vez obrigado.
Conclusão surpreendente! O que o faz pensar que com qualquer dígito, se você nem mesmo "entende" qual dígito é?
Devo dizer imediatamente que prefiro não participar de tais explicações, porque se você não tem nada a dizer sobre os méritos, por que falar?
Por que escolher, acabei de ler o que você escreveu. Sua compreensão é obviamente dificultada por "sua gritante... (você dá o nome à palavra)".
VBAG, por que reinventar a roda quando existe uma função NormalizeDouble() que compara dois números mais rápido do que CompararPreço()?
VBAG, por que reinventar a roda quando há uma função NormalizeDouble() que compara dois números mais rápido do que CompararPreço()?
Se você puder sugerir uma bicicleta semelhante ou soluções alternativas melhores, eu ficaria feliz em usá-las.
Respeitosamente,
Vladimir
VBAG, por que reinventar a roda quando há uma função NormalizeDouble() que compara dois números mais rápido do que CompararPreço()?
Se você puder sugerir uma roda semelhante ou alternativas melhores, eu ficaria feliz em usá-las.
Respeitosamente,
Vladimir
2007.09.12 07:15:09 $CheckCompareDouplo USDJPY,M5: CD: 20485, xNormalizar: 51265
Conclusão:
A função CD compara dois números duplos, dá a resposta <, > ou = com 14 casas decimais e funciona 2 vezes mais rápido do que simplesmente executar NormalizeDouble()(mesmo sem lógica para compará-los).
Muitas pessoas escrevem que para comparar devem usar a função NormalizeDouble(). (isto é o que os desenvolvedores também recomendam).
Portanto, eu gostaria de definir primeiro: "o que é NormalizeDouble()?", ou seja, como funciona, qual é o seu algoritmo.
Arredondamento de um número de ponto flutuante para uma precisão especificada.
...
Não sei como o arredondamento é organizado na MQL4 (pergunte aos desenvolvedores), mas conheço um método padrão Arredondamento de números de ponto flutuante para precisão especificada:
Aqui, uma função:
A partir desta função você pode ver que primeiro passamos de um número real para um número inteiro, e depois voltamos a um número real novamente.
Para comparação, basta ir apenas até um número inteiro.
Portanto, acredito que a maneira mais rápida e mais confiável de comparar números reais é convertê-los em números inteiros.
Esta é a aparência da comparação:
Tudo isso pode ser formatado em uma função e utilizado. É uma dor de escrever, parece estar claro como se faz uma função!
Acho que este caminho é mais rápido do que chamar de NormalizeDouble().
Por segurança, você também pode fazer com que a função MathRound() retorne um número inteiro, já que por padrão ela retorna o dobro.
A maneira mais fácil de fazer desta maneira
Então apenas inteiros serão comparados, e eles comparam bem!
Acho que desta forma é a mais correta, não acha?
Portanto, acho que a maneira mais rápida e confiável é converter os números reais em números inteiros.
A comparação ficaria assim:
Acho que essa é a maneira correta de fazer isso, não acha?
Toda a beleza do código Irtron está em sua compacidade (absolutamente nada a mais - até mesmo variáveis são salvas!).
E você sugere que devemos acrescentar mais duas operações para cada operação, pelo menos.
Isso é uma vantagem de velocidade!
Acho que não. Julgue por si mesmo