Diskussion zum Artikel "Parallele Partikelschwarmoptimierung" - Seite 2

 
Экспериментальный статус MT5Bridge.mqh означает, что его работоспособность широко не проверялась. Это исследование из разряда Proof Of the Concept. Используйте исходный код для отладки и исправления ошибок.
Eine der Anwendungen.
Библиотеки: BestInterval
Библиотеки: BestInterval
  • 2020.08.15
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: BestInterval
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)"

Stanislav Korotky, 2020.08.24 10:45

Ich füge eine leicht modifizierte Header-Datei und ein Beispiel für einen Test-EA bei. Die Settings-Klasse, die Hilfsfunktionen und die Ereignisbehandlungsvorlagen wurden der Datei ParticleSwarmEmbed.mqh hinzugefügt. Es wird davon ausgegangen, dass der Benutzer mit der Standardimplementierung zufrieden ist. Dann ist der Code des Expert Advisors ExprBotPSOEmbed.mq5 stark vereinfacht. Es reicht aus, Ihre Handelsberechnung zu beschreiben und die Handler an die Klasse PPSO_EventHandlers weiterzuleiten. Die Eingabevariablen enthalten auch die Anpassungsfaktoren der PSO-Dynamik (Trägheit usw.) sowie die Deaktivierung der Indexdateien.

 

Hey, tolles Thema, leider beim Versuch, alle Teile zu verbinden, Compiler wirft noch Fehler:

Es sieht so aus, als ob es aufgrund eines Updates nicht mehr möglich ist? Wenn du dir das anschauen könntest, wäre das nett.

 
Tobias Johannes Zimmer #:

Hey, tolles Thema, leider beim Versuch, alle Teile zu verbinden, Compiler wirft noch Fehler:

Der Vektor und der Positionskompilierungsfehler gehören zusammen, da position ein Array der Dimensionen (Freiheitsgrade/Eingaben) ist, das man wohl in die calculate-Methode einfügen könnte, aber aufgrund eines Updates ist das jetzt nicht mehr möglich? Und dann kann das positions[] Array nicht in einen positionValue gecastet werden... wenn Sie sich das ansehen könnten, wäre das nett.

Dann gibt es Dinge über worker functor, wo ich keine Ahnung habe, was das Problem zu sein scheint.

Ich hoffe, es gibt einen einfachen Weg, dies zu beheben. Wenn nicht, würde ich es verstehen, wenn Sie es nicht tun möchten.

Machen Sie einfach eine Kontextersetzung von "vector" zu "_vector" in ParticleSwarmParallel.mqh oder/und ParticleSwarmEmbed.mqh.

MQL5 hat seit der Veröffentlichung den Vektortyp eingeführt, was viele Quellcodes, in denen der Bezeichner vector bereits verwendet wurde, zerstört hat.

 
Stanislav Korotky #:

Ersetzen Sie einfach "vector" durch "_vector" in ParticleSwarmParallel.mqh oder/und ParticleSwarmEmbed.mqh.

MQL5 hat seit der Veröffentlichung den Vektortyp eingeführt, was viele Quellcodes, in denen der Bezeichner vector bereits verwendet wurde, kaputt gemacht hat.

Oh, natürlich sollte Vektor kein Typ sein... danke, das funktioniert.
 
kann nicht in enum umgewandelt werden
 
dustovshio #:
kann nicht in enum umgewandelt werden

MT4Orders und Virtual sind Bibliotheken von Drittanbietern. Sie sollten für die neuesten Versionen auf ihren Seiten in der Codebase überprüfen.

 
Stanislav Korotky #:

MT4Orders und Virtual sind Bibliotheken von Drittanbietern. Sie sollten auf ihren Seiten in der Codebase nach den neuesten Versionen suchen.

Ich habe die letzte Version von MT4Orders heruntergeladen und kompiliert, aber jetzt bekomme ich diesen Fehler, wenn ich die PSO-Set-Dateien lade. Es gibt keinen Fehler für den Standard-Optimierungsmodus. Ist es möglich, die Daten für die Optimierung auf den letzten Balken statt auf den letzten Tag zu ändern?



 
dustovshio #:

Ich habe die letzte Version von MT4Orders heruntergeladen und kompiliert, aber jetzt bekomme ich diese Fehlermeldung, nachdem ich die PSO-Set-Dateien geladen habe. Es gibt keinen Fehler für die Standard-Optimierung-Modus. Ist es möglich, die Daten zu optimieren, um die letzte Bar anstelle des letzten Tages zu ändern?

Wenn Sie sich nach dem Fehler "Falsche Eingabeparameter" erkundigen, können Sie auf die Optimierungstabelle des Durchgangs doppelklicken, bei dem der Fehler auftritt, und das Protokoll des einzelnen Durchgangs aufrufen, um eine detaillierte Beschreibung des Fehlers zu erhalten. Sie haben auch keine Angaben darüber gemacht, welchen EA und mit welchen Einstellungen Sie versucht haben, zu starten.

Ich habe Ihnen bereits gesagt, dass die Last-Day-Out-Beschränkung durch den Tester selbst auferlegt wird.