Grazie, il codice funziona bene, crea il file quando l'EA viene caricato, poi ad ogni tick apro il file, metto tonnellate di informazioni nel file e poi lo chiudo. Ma appena apre un ordine non funziona più.
Ho cercato ovunque e non riesco a trovare nessuna informazione sull'errore, non riesco a trovare nessuno che abbia avuto lo stesso problema, non riesco a trovare nessuno con lo stesso errore, alcuni hanno avuto:
"numero intero non valido come parametro 1 per la funzione TimeToNumber ".
Ma non riesco a trovare nulla su:
"numero intero non valido come parametro 1 per la funzione FileWrite ".
Grazie, il codice funziona bene, crea il file quando l'EA viene caricato, poi ad ogni tick apro il file, metto tonnellate di informazioni nel file e poi lo chiudo. Ma appena apre un ordine non funziona più.
Ho cercato ovunque e non riesco a trovare nessuna informazione sull'errore, non riesco a trovare nessuno che abbia avuto lo stesso problema, non riesco a trovare nessuno con lo stesso errore, alcuni hanno avuto:
"numero intero non valido come parametro 1 per la funzione TimeToNumber ".
Ma non riesco a trovare nulla su:
"numero intero non valido come parametro 1 per la funzione FileWrite ".
Ecco, questo è il codice della funzione 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); }
Quindi questo crea solo il file.
Poi nella funzione start apro il file 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);
E poi scrivo cose nel file come:
Qnt_Symb=FileWrite(Handle,"**** STARTING TICK ", Symbol(), ": ", TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS), " ****"); Qnt_Symb=FileWrite(Handle,"************************************************************");
E poi chiudo il file alla fine
Qnt_Symb=FileWrite(Handle,"***************************"); Qnt_Symb=FileWrite(Handle,"**** END TICK ", Symbol(), " ****"); FileClose( Handle ); //---- return(0);
E questo è tutto.
Grazie per il vostro aiuto!
Ecco, questo è il codice della funzione init:
Quindi questo crea solo il file.
Poi nella funzione start apro il file con:
E poi scrivo cose nel file come:
E poi chiudo il file alla fine
E questo è tutto.
Grazie per il vostro aiuto!
Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//File opening Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_WRITE,";");//File openingUltimo argomento non valido - non è un int
Hai cercato ( Ctrl + F ) Handle nel tuo codice per trovare altre dichiarazioni ? hai qualche ritorno in start() oltre che alla fine ? hai guardato il file CSV per vedere se è completo ? se mancano gli arti potrebbe darti un'idea di cosa viene o non viene eseguito.
Ciao Raptor UK,
Non ci sono altre decalcazioni di Handle
L'unico altro ritorno è quello che si vede quando si apre il file se Handle è -1
Non sono sicuro di quello che tu uomini se il file è completo. Quando l'ordine si apre l'intera funzione di avvio viene elaborata e lo so perché il file ha le ultime linee, le linee ** END TICKET ** quindi so che è arrivato alla fine e ha chiuso il file.
Cosa intendi per arti mancanti? Scusa, non so cosa siano gli arti.
Ciao WHRoeder,
Cosa vuoi dire? L'ultimo argomento di FileOpen è
delimitatore | - | Carattere delimitatore per i file csv. Per impostazione predefinita, si applica il simbolo ';'. |
Salute
Ciao Raptor UK,
Non ci sono altre decalcazioni di Handle
L'unico altro ritorno è quello che si vede quando si apre il file se Handle è -1
Non sono sicuro di quello che tu uomini se il file è completo. Quando l'ordine si apre l'intera funzione di avvio viene elaborata e lo so perché il file ha le ultime linee, le linee ** END TICKET ** quindi so che è arrivato alla fine e ha chiuso il file.
Cosa intendi per arti mancanti? Scusa ma non so cosa sono gli arti?
Ciao WHRoeder,
Cosa vuoi dire? L'ultimo argomento di FileOpen è
delimitatore | - | Carattere delimitatore per i file csv. Per impostazione predefinita, si applica il simbolo ';'. |
Tu hai ";" non ';'. . . il messaggio di errore che hai ricevuto parlava del parametro 1, non è l'handle del file?

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ho un EA che scrive su un file di log alcune informazioni, in alcuni punti decide di aprire un ordine e quando questo accade l'EA non scrive più sul file, ottengo solo:
numero intero non valido come parametro 1 per la funzione 'FileWrite'.
Allego uno screen shot: come quando apre l'ordine l'handle del file non cambia ma per qualche motivo non riesce più ad aprire il file. AIUTO!