
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Anhang zu den Ressourcen. Fragen Sie nicht, wie. Ich habe den Quellcode nicht geschrieben.
Ich stehe also vor einem Dilemma: Wie kann man es möglich machen, einmal aus einer Datei zu lesen, ein Array damit zu füllen und dieses Array bei allen Durchläufen zu verwenden.
Ich brauche dies, um die Optimierungszeit zu reduzieren, weil das Array immer unverändert bleibt und es teuer ist, es jedes Mal zu lesen.
Ich denke, dass Ihnen diese Lösung bereits vorgeschlagen wurde. Passt Ihnen das nicht?
Verwenden Sie Software von Drittanbietern, um ein Array zu erstellen?
Schreiben Sie zum Beispiel ein Skript, das alle Daten in einem Array vorbereitet und sammelt und das fertige Array dann in eine Datei schreibt. Und dann lesen Sie dieses Array aus der Datei während der Initialisierung im EA. Die Datei kann bei jedem Durchlauf des EA so oft wie nötig verwendet werden.
Ich denke, dass Ihnen diese Lösung bereits vorgeschlagen wurde. Passt Ihnen das nicht?
Ja, das ist das Problem, es passt nicht. Es gibt 15.000 Pässe in der Optimierung. Und ich muss nur einmal rechnen und bei den folgenden Durchgängen nur ein Array ansprechen.
Das heißt, ich habe bereits Daten in der Datei, die im Voraus berechnet werden und deren Höhe mir im Voraus bekannt ist. Und selbst das Lesen der Datei jedes Mal im Init ist sehr aufwendig (es gibt Tausende von Zeilen). Ich weiß nicht, wie es bei MQL5 ist, aber in MQL4 wurde im Forum geschrieben, dass das Programm bei jedem Durchlauf den Init durchläuft.
Ist es notwendig, bei jedem Durchgang das Inite einzulesen?
Sie übertreiben, IMHO.
Ja, das ist das Problem, es passt nicht. Es gibt 15.000 Pässe in der Optimierung. Und ich muss nur einmal rechnen und bei den folgenden Durchgängen nur ein Array ansprechen.
Das heißt, ich habe bereits Daten in der Datei, die im Voraus berechnet werden und deren Höhe mir im Voraus bekannt ist. Und selbst das Lesen der Datei jedes Mal im Init ist sehr aufwendig (es gibt Tausende von Zeilen). Ich weiß nicht, wie es bei MQL5 ist, aber in MQL4 wurde im Forum geschrieben, dass das Programm bei jedem Durchlauf den Init durchläuft.
Ein klassischer Trick aus der C/C++-Welt: Sie können ein statisches Array aus Ihrer Datei erstellen/konvertieren (nur Text: double arr[100500]={1,2,3....} ) und es einfach über #include einbinden.
Ich glaube, Sie übertreiben mit den Kosten für das Lesen eines Arrays aus einer Datei. Jedes Mal, wenn Windows aus dem Ruhezustand aufwacht, wird von der Festplatte ein Abbild des Zustands wiederhergestellt, den es zum Zeitpunkt des Einschlafens hatte, einschließlich des Zustands aller Anwendungen. Glauben Sie, dass es dort nicht genügend Objekte und Informationen gibt? Und wie lange dauert es, bis man so aus dem Schlaf erwacht?
Sie übertreiben, IMHO.
Die Kosten sind eindeutig höher. Es gibt zwei Varianten mit unveränderten Indikatoreinstellungen und mit denselben Werten, die jedoch bereits in eine Datei geschrieben wurden, die in ein Array gedumpt wird.
Die Variante mit der Datei dauert um ein Vielfaches länger als die Variante mit Indikatorberechnung im Expert Advisor.
Ich dachte nur, dass es vielleicht eine Möglichkeit gibt, das Array einmal zu speichern und es für alle Optimierungsdurchläufe zu verwenden, wodurch der Algorithmus entlastet wird.
Ein klassischer Trick aus der C/C++-Welt: Sie können ein statisches Array aus Ihrer Datei erstellen/konvertieren (nur Text: double arr[100500]={1,2,3....} ) und es einfach über #include einbinden.
Die Kosten sind eindeutig höher. Es gibt zwei Varianten mit unveränderten Indikatoreinstellungen und mit denselben Werten, die jedoch bereits in eine Datei geschrieben wurden, die in ein Array gedumpt wird.
Die Variante mit der Datei dauert um ein Vielfaches länger als die Variante mit Indikatorberechnung im Expert Advisor.
Ich dachte nur, dass es vielleicht eine Möglichkeit gibt, das Array einmal zu speichern und es für alle Optimierungsdurchläufe zu verwenden, wodurch der Algorithmus entlastet wird.