Fehler, Irrtümer, Fragen - Seite 395

 

OnInit funktioniert im Indikator seltsam. Wenn das Terminal nach langer Inaktivität (mehrere Stunden) gestartet wird, gibt EventSetTimer false zurück, Fehler 4102. Wenn ich das Terminal neu starte oder nur den Zeitrahmen ändere, funktioniert es. Wie bekämpfe ich sie?

 
AlexeyFX:

OnInit funktioniert seltsam im Indikator. Wenn das Terminal nach langer Inaktivität (mehrere Stunden) gestartet wird, gibt EventSetTimer false zurück, Fehler 4102. Wenn ich das Terminal neu starte oder nur den Zeitrahmen ändere, funktioniert es. Wie bekämpfe ich sie?

Mehrfache Versuche, den Timer zu setzen (z.B. in einer Schleife), da ERR_CHART_NO_REPLY(4102) möglich ist, insbesondere bei Terminalaufschwung.
Документация по MQL5: Работа с событиями / EventSetTimer
Документация по MQL5: Работа с событиями / EventSetTimer
  • www.mql5.com
Работа с событиями / EventSetTimer - Документация по MQL5
 

Frage an die Entwickler. Bisher konnte man in den Eigenschaften des Indikators im Menü "Anwenden auf" zusätzlich zu allem anderen, was aufgelistet war, "Daten des ersten Indikators" auswählen. Jetzt ist dies nicht mehr möglich:

Wurde sie aus irgendeinem Grund entfernt?

 
Können Sie mir bitte sagen, wie FileReadString() Funktion bewegt Dateizeiger beim Lesen von .csv-Datei? Wenn ich ein Zeichen lese, wird der Zeiger um 142 Zeichen nach rechts verschoben - über das Ende der Datei hinaus. Wenn Sie möchten, kann ich den Code entwerfen.
Документация по MQL5: Файловые операции / FileReadString
Документация по MQL5: Файловые операции / FileReadString
  • www.mql5.com
Файловые операции / FileReadString - Документация по MQL5
 
molotkovsm:
Bitte sagen Sie mir, wie FileReadString() den Dateizeiger beim Lesen aus einer .csv-Datei bewegt

Beim Lesen einer Datei mit einer beliebigen Funktion wird der Zeiger auf die Anzahl der gelesenen Bytes gesetzt.

 
sergeev:

beim Lesen einer beliebigen Datei mit einer beliebigen Funktion bewegt sich der Zeiger um die Anzahl der gelesenen Bytes.


Dann sagen Sie mir, was ich falsch mache, der Zeiger ist falsch verschoben, hier ist der Code

void OnStart()
  {
int file_handle;
int value1;
int value2;
   file_handle=FileOpen("file01.csv", FILE_READ|FILE_CSV);
   value1=StringToInteger(FileReadString(file_handle));
   Print(value1,"     ",FileTell(file_handle));
   value2=StringToInteger(FileReadString(file_handle));
   Print(value2,"     ",FileTell(file_handle));
   FileClose(file_handle);
  }

Im Protokoll erscheinen die folgenden Zeilen

2011.05.24 21:44:06 read_test (EURUSD,M1) 1 142

2011.05.24 21:44:06 read_test (EURUSD,M1) 0 286

file01.csv Inhalt der Datei:

1;2;3;5;1.41299999;1.41250002;1.41199994;1.41149998;2011.05.24 17:23;5


 
FILE_ANSI hinzufügen
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 
sergeev:

FILE_ANSI hinzufügen

hinzugefügt:

file_handle=FileOpen("file01.csv", FILE_READ|FILE_CSV|FILE_ANSI);

das Ergebnis hat sich geändert, aber immer noch nicht das, was Sie erwarten - die zweite Zeile hat sich nur geändert

2011.05.24 22:01:32 read_test (EURUSD,M1) 1 142
2011.05.24 22:01:32 read_test (EURUSD,M1) 0 288


 
molotkovsm:

hinzugefügt:

das Ergebnis hat sich geändert, aber es ist immer noch nicht so, wie es aussieht - die zweite Zeile hat sich nur geändert


Sie haben dasTrennzeichen nicht eingestellt. Es ist standardmäßig auf '\t' eingestellt.

und Sie suchen nach ';'.

 
sergeev:

Sie haben kein Trennzeichen angegeben , das Standardtrennzeichen ist '\t'.

und ich sehe, Sie brauchen ';'.

Begrenzungszeichen hinzugefügt, ohne FILE_ANSI scheint es zu funktionieren, danke für die Hilfe.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5