[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 470
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Разные приёмы? Какие, например?if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
Yo también lo he intentado, y por si acaso, en lugar de Dígitos he escrito 4, luego 5, luego 6... No funciona.
https://www.mql5.com/ru/articles/1561
Gracias. Efectivamente, el artículo es muy informativo. Pero no he encontrado la función bool CompareDoubles en el MetaEditor...
https://www.mql5.com/ru/articles/1561
¿O quizás no entiendo del todo, o más bien no entiendo lo que es una biblioteca?
¿O quizás no entiendo del todo, o más bien no entiendo lo que es una biblioteca?
Una función para comparar números reales¿Podría decirme qué hacer aquí?
Quiero leer números de un archivo en las matrices correspondientes.
Los números del archivo tienen la forma 1.2121;1.2323;1.3434;1.4545
Les preparo las siguientes matrices: double s1[], s2[], r1[], r2[]
en la etapa de inicialización leo lo siguiente
pero, por desgracia, las matrices no se rellenan...
Aconsejar cómo ser aquí....
Посоветуйте, как тут быть....
En primer lugar, en los archivos csv, los elementos se separan con "," y no con ";"
En segundo lugar, hay que rellenar las matrices con el primer elemento de cada línea del archivo, porque primero se recupera toda la línea con FileReadString, luego se convierte en un único número real, y el siguiente comando FileRead ya funciona en la siguiente línea del archivo.
Puede organizar la lectura de la siguiente manera:
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;
}
Debería funcionar... pero no estoy seguro :)
En primer lugar, en los archivos csv los elementos se separan con "," no con ";".
En segundo lugar, las matrices deben llenarse con el primer elemento de cada cadena del archivo, porque primero se recupera toda la cadena con el comando FileReadString, luego se convierte toda la cadena en un solo número real, y el siguiente comando FileRead ya funciona con la siguiente línea del archivo.
Puedes organizar la lectura de esta manera:
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;
}
Debería funcionar... pero no estoy seguro :)
El delimitador por defecto es ";", aunque puede utilizar cualquier delimitador.Estás escribiendo algo mal...
El delimitador por defecto es ";", aunque puede utilizar cualquiera.CSV - Valores separados por comas. El "," es el delimitador por defecto. Separar con ";" es mucho menos común, y no estoy seguro de que sea soportado en absoluto en MQL4.
Estás escribiendo algo mal...
¿Qué es exactamente lo que no te gusta de lo que escribo...?