Hallo Asasa, danke für alle Infos! Könnten Sie so nett sein und den Code posten, den Sie zum Parsen der HTML-Daten verwenden? Das ist ein bisschen schwierig für mich. Danke, Alex
Hallo Asasa, danke für alle Infos! Könnten Sie so nett sein und den Code posten, den Sie zum Parsen der HTML-Daten verwenden? Das ist ein bisschen schwierig für mich. Danke, Alex
Es hängt wirklich davon ab, wie Sie sich für die Implementierung der Parallelverarbeitung entscheidenZitat von ;
Ich habe einen EA, den ich handele, mit mehreren Egies darin. Ein separates Programm übersetzt es in ein Format, das ich zur Implementierung der Parallelverarbeitung benötige. Dann kann es direkt vom Backtester verwendet werden. Ich verwende Zeckendaten von Dukascopy. Ich erstelle meine eigenen HST-Dateien aus den Tick-Daten.Zitat von ;
Testet/führt Ihr Backtester MQL-Skripte aus? Wurden .HST-Dateien verwendet? Wenn nicht, welche Art von Datenspeicher haben Sie für historische Preisdaten verwendet?Zitat von ;
Außerdem habe ich vergessen, dass terminal.exe in mehreren Instanzen nicht ausgeführt werden kann. Im Internet finden Sie gepatchte Versionen der ausführbaren Datei, die dies ermöglichen.Zitat von ;
Seien Sie vorsichtig, wenn Sie die Datei “terminal.exe� mehrmals parallel ausführen möchten, da Sie denselben Verzeichnispfad verwenden und Ergebnis- und Setdateien sich daher gegenseitig überschreiben können. Um eine parallele Verarbeitung durchzuführen und die Vorteile moderner Multi-Core-CPUs zu nutzen, musste ich meinen eigenen Backtester schreiben.Zitat von ;
Ich habe festgestellt, dass das .Exited-Ereignis nicht immer wie erwartet funktioniert. Ich kann mich nicht genau an die Probleme erinnern, mit denen ich konfrontiert war. Experimentieren Sie ruhig.Zitat von ;
Cool, danke! Ich kann ein neues Prozessobjekt instanziieren, die Methode .Start() aufrufen und die eindeutige Prozess-ID zur Überprüfung speichern (ermöglicht mir die Ausführung mehrerer terminal.exe). Und es gibt sogar ein .Exited-Ereignis. Perfekt! Ich habe auch darüber nachgedacht, die Funktion deinit() auf dem EA zu verwenden und ihn eine CSV-Datei schreiben zu lassen, ähnlich der, die zuvor in diesem Thread beschrieben wurde, und dann die FileSystemWatcher-Klasse aufzurufen, um zu sehen, wann diese Datei erstellt/geändert wurde. Das Problem dabei ist jedoch, dass etwas mit dem Prozess terminal.exe passiert und die Funktion deint() nicht ausgeführt wird.
Ich überprüfe regelmäßig terminal.exe unter den aktiven Prozessen. Suchen Sie nach der Process.GetProcesses()-API.Zitat von ;