[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 470
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
Разные приёмы? Какие, например?if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
Eu também tentei isso, e só para o caso de, em vez de Dígitos eu ter escrito 4, depois 5, depois 6... Não funciona!
https://www.mql5.com/ru/articles/1561
Obrigado! De fato, o artigo é muito informativo. Mas não encontrei a função bool CompareDoubles no MetaEditor...
https://www.mql5.com/ru/articles/1561
Ou talvez eu não entenda bem, ou melhor, não entendo de todo o que é uma biblioteca?
Ou talvez eu não entenda bem, ou melhor, não entendo de todo o que é uma biblioteca?
Uma função para comparar números reaisVocê poderia, por favor, me dizer o que fazer aqui?
Quero ler os números de um arquivo para as matrizes correspondentes.
Os números no arquivo são os seguintes: 1.2121;1.2323;1.3434;1.4545
Preparo as seguintes matrizes para eles: duplo s1[], s2[], r1[], r2[], r2[]
na fase de inicialização, li o seguinte
mas, infelizmente, as matrizes não estão preenchidas...
Aconselhe como estar aqui....
Посоветуйте, как тут быть....
Primeiro, nos arquivos csv, os elementos são separados por "," não ";"
Segundo, você deve preencher as matrizes com o primeiro elemento de cada linha de arquivo, porque primeiro você recupera a linha inteira com FileReadString, depois a converte para um único número real, e o próximo comando FileRead já funciona com a próxima linha do arquivo.
Você pode organizar a leitura da seguinte maneira:
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Deve funcionar... mas não tenho certeza :)
Primeiramente, nos arquivos csv os elementos são separados por "," não ";".
Em segundo lugar, as arrays devem ser preenchidas com o primeiro elemento de cada file string, porque primeiro você recupera a string inteira com o comando FileReadString, depois converte a string inteira para um único número real, e o próximo comando FileRead já funciona com a próxima linha do arquivo.
Você pode organizar a leitura desta maneira:
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Deve funcionar... mas não tenho certeza :)
O delimitador padrão é ";", embora você possa usar qualquer delimitador.Você está escrevendo algo errado...
O delimitador padrão é ";", embora você possa usar qualquer um.CSV - Valores separados por vírgula. O "," é o delimitador padrão. A separação com ";" é muito menos comum, e não tenho certeza de que seja apoiada de forma alguma na MQL4.
Você está escrevendo algo errado...
O que exatamente você não gosta no que eu escrevo...?