Esta función es parte de mi EA, y pasa los datos de dos archivos csv a arrays. En mql4 funciona bien, pero en mql5 no va, parece que FileIsEnding no funciona. FileOpen funciona bien, porque el handle es correcto. Pero a partir de While(!FileIsEnding) ya no busca el texto por toda la csv. En las hojas csv la primera columna tiene en cada fila el texto que coincide con el nombre y ya en las siguientes columnas otros datos, luego después de While(!FileIsEnding) el contador cont debería contar todas las filas con datos, pero este contador cont se queda igual a 1. Por favor si alguien me ayuda lo agradecería, en mql4 me manejo bien pero estoy empezando en mql5.
La razón de que no funcione en mql5 debe ser por el uso de FileIsEnding o FileReadString(handle).
Gracias
bool Inicializamos_arrays_seniales(string archivo, string &array[][])
Gracias por tu comentario Enrique, ya camtio mi consulta al apartado de Asesores Expertos. Referente al código, no sé a qué pestaña te refieres... donde está?
bool Inicializamos_arrays_seniales(string archivo, string &array[][]) { int cont=0; string nombre; if(archivo=="weakness.csv") nombre="WEAKNESS"; if(archivo=="strenght.csv") nombre="STRENGHT"; if(archivo!="weakness.csv" && archivo!="strenght.csv") { Alert("Nos salimos porque los archivos no son ",archivo); return false; } int handle=FileOpen(archivo,FILE_CSV|FILE_READ); if(handle<0) Alert("ERROR HANDLE ",archivo); while(!FileIsEnding(handle)) { // Rellenamos los datos de los ficheros en los arrays string x=FileReadString(handle); cont++; if(x==nombre) { cont++; Alert("cont= ",cont); if(nombre=="WEAKNESS" || nombre=="STRENGHT") { ArrayResize(array,cont); array[cont-1,0]=x; //escribimos cont-1 porque el array debe comenzar desde el cero for(int i=1;i<=75;i++) array[cont-1,i]=FileReadString(handle); //ponemos los datos de las cabeceras de la excel en el array en su primera //dimension las filas y en su segunda dimension las columnas } } } FileClose(handle); return true; }
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Esta función es parte de mi EA, y pasa los datos de dos archivos csv a arrays. En mql4 funciona bien, pero en mql5 no va, parece que FileIsEnding no funciona. FileOpen funciona bien, porque el handle es correcto. Pero a partir de While(!FileIsEnding) ya no busca el texto por toda la csv. En las hojas csv la primera columna tiene en cada fila el texto que coincide con el nombre y ya en las siguientes columnas otros datos, luego después de While(!FileIsEnding) el contador cont debería contar todas las filas con datos, pero este contador cont se queda igual a 1. Por favor si alguien me ayuda lo agradecería, en mql4 me manejo bien pero estoy empezando en mql5.
La razón de que no funcione en mql5 debe ser por el uso de FileIsEnding o FileReadString(handle).
Gracias
bool Inicializamos_arrays_seniales(string archivo, string &array[][])