Gracias, el código funciona bien, crea el archivo cuando se carga el EA, luego en cada tick abro el archivo, pongo toneladas de información en el archivo y luego lo cierro. Pero en cuanto abre una orden ya no funciona.
He buscado esto por todas partes y no encuentro ninguna información sobre el error, no encuentro a nadie que haya tenido el mismo problema, no encuentro a nadie con el mismo error, a algunos les ha pasado:
"número entero no válido como parámetro 1 para la función TimeToNumber "
Pero no encuentro nada sobre:
"número entero inválido como parámetro 1 para la función FileWritefunction "
Gracias, el código funciona bien, crea el archivo cuando se carga el EA, luego en cada tick abro el archivo, pongo toneladas de información en el archivo y luego lo cierro. Pero en cuanto abre una orden ya no funciona.
He buscado esto por todas partes y no encuentro ninguna información sobre el error, no encuentro a nadie que haya tenido el mismo problema, no encuentro a nadie con el mismo error, a algunos les ha pasado:
"número entero no válido como parámetro 1 para la función TimeToNumber "
Pero no encuentro nada sobre:
"número entero inválido como parámetro 1 para la función FileWritefunction "
SUre, este es el código de la función init :
int init() { //---- File_Name = StringConcatenate(Name_of_file, " - ", Symbol(), " - ", TimeToStr(TimeLocal(),TIME_DATE), " - ", TimeHour(TimeLocal()), ".", TimeMinute(TimeLocal()), ".", TimeSeconds(TimeLocal()), ".txt"); Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//File opening if(Handle==-1) // File opening fails { Alert("An error while opening the file. ",// Error message "May be the file is busy by the other applictiom"); PlaySound("Bzrrr.wav"); // Sound accompaniment return; // Exir start() } FileClose( Handle ); //---- return(0); }
Así que sólo crea el archivo.
Luego en la función de inicio abro el archivo con:
Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_WRITE,";");//File opening //Handle = 1; Print("Handle: ", Handle); if(Handle==-1) // File opening fails { Alert("An error while opening the file. ",// Error message "May be the file is busy by the other applictiom"); PlaySound("Bzrrr.wav"); // Sound accompaniment return; // Exir start() } FileSeek(Handle, 0, SEEK_END);
Y luego escribo cosas en el archivo como:
Qnt_Symb=FileWrite(Handle,"**** STARTING TICK ", Symbol(), ": ", TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS), " ****"); Qnt_Symb=FileWrite(Handle,"************************************************************");
Y luego cierro el archivo al final
Qnt_Symb=FileWrite(Handle,"***************************"); Qnt_Symb=FileWrite(Handle,"**** END TICK ", Symbol(), " ****"); FileClose( Handle ); //---- return(0);
Y eso es todo.
Gracias por tu ayuda.
SUre, este es el código de la función init:
Así que sólo crea el archivo.
Luego en la función de inicio abro el archivo con:
Y luego escribo cosas en el archivo como:
Y luego cierro el archivo al final
Y eso es todo.
Gracias por tu ayuda.
Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//File opening Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_WRITE,";");//File openingÚltimo argumento inválido - no es un int
¿Has buscado ( Ctrl + F ) Handle en tu código para encontrar otras declaraciones ? ¿tienes algún retorno en start() que no sea al final ? ¿has mirado el archivo CSV para ver si está completo ? si faltan artes podría darte alguna idea de lo que se está ejecutando o no.
Hola Raptor UK,
No hay otras decalraciones de Handle
El único otro retorno es el que se ve allí al abrir el archivo si Handle es -1
No estoy seguro de lo que menciona si el archivo está completo. Cuando se abre la orden se procesa toda la función de inicio y lo sé porque el archivo tiene las últimas líneas, las líneas ** END TICKET ** así que sé que llegó al final y cerró el Archivo.
¿A qué te refieres con que faltan artes? Lo siento, no sé lo que son las artes.
Hola WHRoeder,
¿Qué quiere decir? El último argumento de FileOpen es
delimitador | - | Carácter delimitador para los archivos csv. Por defecto, se aplica el símbolo ';'. |
Saludos
Hola Raptor UK,
No hay otras decalraciones de Handle
El único otro retorno es el que se ve allí al abrir el archivo si Handle es -1
No estoy seguro de lo que menciona si el archivo está completo. Cuando se abre la orden se procesa toda la función de inicio y lo sé porque el archivo tiene las últimas líneas, las líneas ** END TICKET ** así que sé que llegó al final y cerró el Archivo.
¿A qué te refieres con que faltan artes? Lo siento, no sé lo que son las artes.
- 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
Tengo un EA que escribe en un archivo de registro alguna información, en algunos momentos decide abrir una orden y cuando esto sucede el EA ya no escribe en el archivo, solo obtengo:
número entero no válido como parámetro 1 para la función 'FileWrite'.
Adjunto una captura de pantalla: fo como cuando abre la orden el file handle no cambia pero por alguna razón ya no puede abrir el archivo. ¡¡¡AYUDA!!!