Danke, der Code funktioniert gut, es erstellt die Datei, wenn der EA geladen wird, dann auf jeden Tick öffne ich die Datei, setzen Tonnen von Informationen in der Datei und dann schließen Sie es. Aber sobald es eine Bestellung öffnet, funktioniert es nicht mehr.
Ich habe dies überall gesucht und ich kann keine Informationen über den Fehler finden, ich kann niemanden finden, der das gleiche Problem hatte, ich kann niemanden mit dem gleichen Fehler finden, einige Leute haben es:
"Ungültige Integer-Zahl als Parameter 1 für TimeToNumber-Funktion "
Aber ich kann nichts finden über:
"Ungültige Integer-Zahl als Parameter 1 für die FileWrite-Funktion "
Danke, der Code funktioniert gut, es erstellt die Datei, wenn der EA geladen wird, dann auf jeden Tick öffne ich die Datei, setzen Tonnen von Informationen in der Datei und dann schließen Sie es. Aber sobald es eine Bestellung öffnet, funktioniert es nicht mehr.
Ich habe dies überall gesucht und ich kann keine Informationen über den Fehler finden, ich kann niemanden finden, der das gleiche Problem hatte, ich kann niemanden mit dem gleichen Fehler finden, einige Leute haben es:
"Ungültige Integer-Zahl als Parameter 1 für TimeToNumber-Funktion "
Aber ich kann nichts finden über:
"Ungültige Integer-Zahl als Parameter 1 für die FileWrite-Funktion "
SUre, das ist der Code für die init-Funktion:
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); }
Damit wird also nur die Datei erstellt.
Dann öffne ich in der start-Funktion die Datei mit:
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);
Und dann schreibe ich Sachen in die Datei wie:
Qnt_Symb=FileWrite(Handle,"**** STARTING TICK ", Symbol(), ": ", TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS), " ****"); Qnt_Symb=FileWrite(Handle,"************************************************************");
Und dann schließe ich die Datei am Ende
Qnt_Symb=FileWrite(Handle,"***************************"); Qnt_Symb=FileWrite(Handle,"**** END TICK ", Symbol(), " ****"); FileClose( Handle ); //---- return(0);
Und das war's.
Vielen Dank für eure Hilfe!
SUre, das ist der Code für die init-Funktion:
Damit wird also nur die Datei erstellt.
Dann öffne ich in der start-Funktion die Datei mit:
Und dann schreibe ich Sachen in die Datei wie:
Und dann schließe ich die Datei am Ende
Und das war's.
Vielen Dank für eure Hilfe!
Haben Sie in Ihrem Code nach ( Strg + F ) Handle gesucht, um andere Deklarationen zu finden? Haben Sie andere Rückgaben in start() als am Ende? Haben Sie sich die CSV-Datei angesehen, um zu sehen, ob sie vollständig ist? Wenn arts fehlen, könnte Ihnen das eine Idee davon geben, was ausgeführt wird oder nicht.
Hallo Raptor UK,
Es gibt keine weiteren Handle-Dekalationen
Die einzige andere Rückgabe ist die, die Sie beim Öffnen der Datei sehen, wenn Handle -1 ist
Ich bin mir nicht sicher, was Sie meinen, wenn die Datei vollständig ist. Wenn der Auftrag geöffnet wird, wird die gesamte Startfunktion verarbeitet, und ich weiß, dass die Datei die letzten Zeilen, die ** END TICKET **-Zeilen, enthält, so dass ich weiß, dass sie das Ende erreicht und die Datei geschlossen hat.
Was meinen Sie mit fehlenden Künsten? Tut mir leid, ich weiß nicht, was Kunstwerke sind?
Hallo Raptor UK,
Es gibt keine weiteren Handle-Dekalationen
Die einzige andere Rückgabe ist die, die Sie beim Öffnen der Datei sehen, wenn Handle -1 ist
Ich bin mir nicht sicher, was Sie meinen, wenn die Datei vollständig ist. Wenn der Auftrag geöffnet wird, wird die gesamte Startfunktion verarbeitet, und ich weiß, dass die Datei die letzten Zeilen, die ** END TICKET ** Zeilen, enthält, so dass ich weiß, dass sie das Ende erreicht und die Datei geschlossen hat.
Was meinen Sie mit fehlenden Künsten? Tut mir leid, ich weiß nicht, was Künste sind?
Hallo WHRoeder,
was meinen Sie damit? Das letzte Argument von FileOpen ist
Begrenzungszeichen | - | Begrenzungszeichen für csv-Dateien. Standardmäßig wird das Symbol ';' verwendet. |
Sie haben ";" nicht ';'... die Fehlermeldung, die Sie erhalten haben, bezog sich auf Parameter 1, ist das nicht das Dateihandle?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ich habe einen EA, der einige Informationen in eine Logdatei schreibt. An einigen Stellen entscheidet er sich, einen Auftrag zu öffnen, und wenn dies geschieht, schreibt der EA nicht mehr in die Datei, ich erhalte nur:
Ungültige Integer-Zahl als Parameter 1 für die Funktion 'FileWrite'
Ich hänge einen Screenshot an: Wenn der EA die Order öffnet, ändert sich der Dateihandle nicht, aber aus irgendeinem Grund kann er die Datei nicht mehr öffnen. HILFE!!