Diskussion zum Artikel "Entwicklung eines Expertenberaters für mehrere Währungen (Teil 13): Automatisierung der zweiten Phase — Aufteilung in Gruppen" - Seite 2
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
Yuri, guten Tag! Ich habe die Optimierung der zweiten Stufe durchgeführt und sie hat bestanden. Aber während der Optimierung werden ständig solche Fehler im Protokoll angezeigt:
Und am Ende wurde, wie ich festgestellt habe, nichts zur Datenbank hinzugefügt.... Das einzige, was in der Aufgabendatenbank geändert wurde, war der Status der Aufgaben der zweiten Stufe und die Zeit ihrer Ausführung.
Was bedeutet dieser Fehler, und wo muss man suchen? Wo sollten die Informationen über die Durchgänge aufgezeichnet werden und sollten sie überhaupt aufgezeichnet werden? Sollten sie als Durchgänge oder am Ende der gesamten Etappe in einer Transaktion in die Datenbank geschrieben werden?
Hallo Victor.
Ich habe dies nicht beobachtet, also ist es tatsächlich ein Fehler. Nach dieser Zeile des Protokolls zu urteilen:
Ich kann davon ausgehen, dass in Ihrer Hauptdatenbank die Tabelle Pässe durch die Tabelle ersetzt wurde, die nur in der zweiten Datenbank erstellt werden sollte. Das heißt, diese Tabelle hat jetzt 2 Spalten statt 48.
Ich habe dieses Problem gelöst und die zweite Etappe durchgeführt. Die Passagen in der Hauptbasis wurden hinzugefügt. Aber ein neues Problem tauchte auf... Jetzt mit dem dritten Expert Advisor. Aus irgendeinem Grund nimmt er nicht die Übergänge, die Sie in der Liste angeben, sondern die ersten von Anfang an aus der Tabelle der Übergänge. Und nun wird angenommen, dass der EA der zweiten Stufe genauso gearbeitet hat und die gesamte Optimierung falsch ist. Ich verstehe noch nicht, wie ich das Problem lösen kann.
Wo sollte nach Ihrer Idee die Aufgabendatenbank erstellt werden, im Ordner Common\Files oder im Ordner MQL5\Files des Terminals?
Die dritte Expert Advisor ist auch aussortiert, es scheint zu funktionieren, wie es sollte. Yuri danke Ihnen für den Expert Advisor und diese Serie von Artikeln.
PS: Ich bemerkte, wie ein Moment, es ist sicherlich nicht ein Problem, aber immer noch, - beim Testen im visuellen Modus in der Tester, der EA öffnet eine Menge von separaten Aufträgen, oft von 0,01 Lot. So wie ich es verstehe, öffnet jede virtuelle Strategie ihre eigenen Positionen. Aber wenn man sich das Schema aus dem 3. Artikel anschaut, dann sollte es nach dem letzten Schema eine Position auf jedem Handelsinstrument öffnen und nur das Volumen abhängig von der Gesamtmenge und Richtung aller offenen virtuellen Positionen anpassen. Es ist, als würde man mit einem Netting-Konto arbeiten. Vielleicht ist es nur ein Fehler im Testprogramm oder es liegt an der Art und Weise, wie Positionen dort angezeigt werden .... Yuri, ist es möglich, dem EA zu ermöglichen, auf dem hage-Konto wie auf einem Netting-Konto zu arbeiten und nur eine Position auf dem Markt für jedes Handelsinstrument zu haben?
Hallo Juri. Ich bin gerade dabei die zweite Stufe zu optimieren, und im Log bekomme ich gelegentlich einen Datenbankbelegungsfehler:
Der Expert Advisor ist original, aus dem Artikel. Ich optimiere auf lokalen Agenten eines PCs und im lokalen Netzwerk auf Agenten eines anderen PCs. Im Allgemeinen läuft der Prozess und die Übergänge zur Datenbank sind gefüllt, aber ich würde gerne verstehen, was diesen Fehler verursacht und wie man ihn beheben kann?
Es kommt auch vor, dass einige Aufgaben der zweiten Stufe sehr schnell beendet werden. Zum Beispiel:
Hier wurden z.B. NZDCAD H1 M30 und NZDCHF H1 buchstäblich in einem Durchgang des Optimierers beendet, wie ich verstehe. Obwohl es in der Datenbank viele Durchläufe der ersten Stufe für sie gibt. Warum ist das so und was kann man dagegen tun?
Und NZDCAD M15 gab überhaupt einen Fehler an. Soweit ich weiß, findet sie keine Daten in der Datenbank, aber wie ist das möglich? Immerhin war in der ersten Phase der Optimierung dieser Paare und Pässe sollten in der Datenbank .... sein.
Yuri, ist es möglich, dies zum Beispiel zu tun: Ich habe die erste und die zweite Stufe durchgeführt und alles in einer Datenbank gespeichert. Und ist es dann möglich (nach der zweiten Etappe), in der Datenbank den Status der Aufgaben der ersten Etappe für jene Paare und tf zu ändern, bei denen die zweite Etappe schlechte Ergebnisse lieferte, so dass für diese Paare und tf als ob auf der zweiten Etappe, um Pässe der ersten Etappe hinzuzufügen, und dann für sie, um wieder die zweite Etappe auszuführen? Einfach bei einer solchen Aktion id der neuen Pässe der ersten Stufe wird höher sein als id der Pässe der zweiten Stufe für alle anderen Paare in dieser Basis. Ich meine die Tabellenpässe. Ist es möglich, dies zu tun, und wird der Optimierer Durchgänge der ersten Stufe für diese Paare und tf finden?
Eine Datenbank ist irgendwo geöffnet und gesperrt. Es kann sich auch um eine externe Anwendung in Bezug auf den Tester handeln, z. B. MetaEditor. Ich kann mich nicht daran erinnern, so etwas gefunden zu haben.
Es zeigt an, dass die Pässe der ersten Stufe für NZDCAD M15 aus irgendeinem Grund nicht gefunden wurden.
Ja, Sie können dies so oft tun, wie Sie wollen. Wenn Sie möchten, dass die alten Pässe aus den vorherigen ersten Stufen nicht mehr vorhanden sind, können Sie sie mit der erforderlichen id_task aus der Tabelle passes löschen.