Obter o número de casas decimais de quaisquer números (não apenas citações) contornando Dígitos() em MQL4 e MQL5 - página 12
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
Esta é provavelmente a melhor solução
não é correto comparar as duplas em igualdade, além disso, a tarefa é ser exata com o sinal
Veja o arquivo stdlib.mq4 em MT4, houve um exemplo de comparação dupla correta
CompareDuas()
SZZ: aqui está um artigo sobre o assuntohttps://www.mql5.com/ru/articles/1561
Pergunto-me como você fará logaritmos, exponenciação com números não inteiros, trigonometria, .... usar bibliotecas de terceiros, indicadores... Todos eles têm erros!
Se você precisa de super-mega precisão, você pode usar bibliotecas externas especiais como gnu mp
Caso contrário, se você precisar de precisão garantida (quando em cada operação o erro é calculado), você deve usar todos os tipos de "interval libs".
se mesmo isso não for suficiente - você pode usar polinômios em vez de dígitos
mas nunca vi tais casos, quando tais circuitos são realmente utilizados em MT:-)
há um duplo para o olho :-)
não é correto comparar as duplas em igualdade, além disso, a tarefa é ser exata com um sinal
Veja o arquivo stdlib.mq4 em MT4, houve um exemplo de comparação dupla correta
CompareDuas()
Bem, o tempo de execução com CompareDoubles sobe por um fator de 2. Então é melhor assim:
Bem, bem, e o tempo de execução com CompareDoubles sobe por um fator de dois. É melhor fazer desta maneira:
Estamos falando de cálculo correto, não posso verificar seu código agora, mas não é difícil, você precisa comparar seu exemplo com um exemplo usando DoubleToStr() no laço, se não houver diferença, então tudo está correto
ZS: Eu tentei com fmod() Eu acho que postei um exemplo, não funciona corretamente, como em 0.07 deve verificar - imediatamente um bug apareceu
Estamos falando de cálculo correto, não posso verificar seu código agora, mas não é difícil, você precisa comparar seu exemplo com o exemplo usando DoubleToStr() no laço, se não houver diferença, então tudo está correto
Já o verifiquei e calculei a velocidade e é a melhor maneira. A menos que você precise procurar por mais de 7 caracteres, é claro.
S.s. 0.7 e 0.07 e 500000000.0001, etc., todos calculados corretamente.
s.s. Mas, para 500000000.9991, ele lida pior. Mas isso dificilmente importa na prática cambial.
Mas na prática cambial, isto não é importante.
depende do problema. se é para ordens comerciais, então este problema não tem sentido - os preços são normalizados para Dígitos, enquanto os lotes são relativos ao lote mínimo
Se o problema é com a modelagem matemática, pode ser útil.
depende do problema, se é para ordens de negociação, então essa tarefa não tem sentido algum - os preços são normalizados para Dígitos, e os lotes são relativos ao lote mínimo
Se a tarefa for com modelagem matemática, ela pode ser útil.
É claro, não escrever redes neurais =))) e dizer, é conveniente armazenar preços/lotes/money como um inteiro de 4 bytes com valor decimal, reduzindo o tamanho dos dados em 2 vezes.
não é correto comparar as duplas em igualdade, além disso, a tarefa é ser exata com um sinal
Veja o arquivo stdlib.mq4 em MT4, houve um exemplo de comparação dupla correta
CompareDuas()
SZZ: aqui estava um artigo sobre o assuntohttps://www.mql5.com/ru/articles/1561
Portanto, a tarefa é determinar por quantos dígitos x é normalizado. Portanto, está tudo bem. A menos que você fosse preguiçoso demais para escrever tal escada.
A menos que você fosse preguiçoso demais para escrever tal escada.
Você pode fazê-lo sem escada, mas isso leva 10% mais tempo.
Você pode fazê-lo sem escada, mas isso leva 10% mais tempo.
Este: f/=0,0000001; é questionável.