Olá! Qual é a maneira correta de usar o "duplo" no loop "para"? Não parece haver nenhuma proibição de usar "duplo" na ajuda.
De qualquer forma, minha conclusão é que "duplo" não é recomendado no loop"para" por falta de normalização do ExpressionZ após cada iteração. Isto pode levar a pelo menos 2 problemas: 1) Número errado de iterações; 2) Resultados errados se você usar ExpressionZ para calcular em uma declaração.
. Все повторяется, пока выражение2 не станет ложным. Если оно ложно, цикл заканчивается и управление передается следующему оператору. ВыражениеЗ вычисляется после каждой итерации. могут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если опущено...
Obrigado, eu entendo porque isto acontece, é por isso que tentei normalizar. Não funcionou para mim. A opção de Alexey Viktorov também não a corrigiu, os valores permanecem não normalizados. Então a pergunta permanece, pode "dobrar" ser usado em loop e sempre obter o número correto de iterações?
Multiplicar por 10 até obter números inteiros. No início também tive dificuldades, agora até converto o preço para inteiros e trabalho com inteiros ou arredondamento para inteiros. Eu tenho menos erros, melhor legibilidade.
Em geral, como disse um programador após receber resumos da Bolsa, não entendo porque os números de uma certa capacidade de dígitos são representados por números reais, em vez de números inteiros. Isto não é logicamente correto. ))))
Multiplicar por 10 até obter números inteiros. No início também tive dificuldades, mas agora até converto o preço para um inteiro e trabalho com inteiros ou arredondamento para inteiros. Eu tenho menos erros, melhor legibilidade.
Em geral, como disse um programador após receber resumos da Bolsa, não entendo porque os números de uma certa capacidade de dígitos são representados por números reais, em vez de números inteiros. Isto não é logicamente correto. ))))
Obrigado, vou usar int da maneira antiga e depois dividir pelo dobro. ;)
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Olá!
Qual é a maneira correta de usar o "duplo" no loop "para"? Não parece haver nenhuma proibição de usar "duplo" na ajuda.
De qualquer forma, minha conclusão é que "duplo" não é recomendado no loop"para" por falta de normalização do ExpressionZ após cada iteração. Isto pode levar a pelo menos 2 problemas:
1) Número errado de iterações;
2) Resultados errados se você usar ExpressionZ para calcular em uma declaração.
Obrigado, eu entendo porque isto acontece, é por isso que tentei normalizar. Não funcionou para mim. A opção de Alexey Viktorov também não a corrigiu, os valores permanecem não normalizados. Então a pergunta permanece, pode "dobrar" ser usado em loop e sempre obter o número correto de iterações?
Multiplicar por 10 até obter números inteiros. No início também tive dificuldades, agora até converto o preço para inteiros e trabalho com inteiros ou arredondamento para inteiros. Eu tenho menos erros, melhor legibilidade.
Em geral, como disse um programador após receber resumos da Bolsa, não entendo porque os números de uma certa capacidade de dígitos são representados por números reais, em vez de números inteiros. Isto não é logicamente correto. ))))
Multiplicar por 10 até obter números inteiros. No início também tive dificuldades, mas agora até converto o preço para um inteiro e trabalho com inteiros ou arredondamento para inteiros. Eu tenho menos erros, melhor legibilidade.
Em geral, como disse um programador após receber resumos da Bolsa, não entendo porque os números de uma certa capacidade de dígitos são representados por números reais, em vez de números inteiros. Isto não é logicamente correto. ))))
Obrigado, vou usar int da maneira antiga e depois dividir pelo dobro. ;)
Obrigado, mas seu exemplo também não deu o resultado certo. No printf você pode ver que não ocorre nenhuma normalização:
Desculpe, eu deveria ter verificado. E aqui temos "eu queria fazer bem, mas acabou sendo o mesmo de sempre".
Resultado
Código correto
Código correto
Tenha cuidado para não colocar o passo=0,04 ;)
Tenha cuidado para não colocar o passo=0,04 ;)
Este é apenas um conselho para aqueles que não sabem como usar o cérebro))))
Desculpe, eu deveria ter verificado. É que: "Eu queria dizer bem, mas é sempre a mesma coisa".
Resultado
Código correto.
i=NormalizeDouble(i+step, 1)Ah, obrigado! Eu mesmo não pensei nisso. Esse é exatamente o tipo de coisa que nos ajuda os novatos em programação! ;)
Estou procurandométodos para ordenar uma série de estruturas. Alguém tem alguma variante de trabalho?
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
Não funciona...