Optimierung mit dem Strategy Tester - Seite 18

 
Renat:

Der Einsatz von Genetik ist nur dann sinnvoll, wenn die Anzahl der Durchgänge weit über 10000 liegt. In Ihrem Fall gibt es nur 817 Durchgänge, die in einem vollständigen Suchmodus ausgeführt werden müssen.

In der Genetik werden Gensequenzen modelliert, um effiziente Individuen hervorzubringen. Dazu ist eine bestimmte Anzahl von Populationen erforderlich, in der Regel mindestens 10.000 Pässe.

Die Tests sind noch nicht abgeschlossen. Sie ist in Arbeit. Bei allen drei Bildern besteht jedoch nach wie vor ein Ungleichgewicht bei der Anzahl der Durchgänge. Dieses Ungleichgewicht ist nicht sofort entstanden, aber seit wann (Anzahl der Durchgänge) kann ich nicht genau sagen.
 
ForexMoneyMaker:
Die Tests sind noch nicht abgeschlossen. Sie ist in Arbeit. Allerdings ist die Anzahl der Durchgänge in allen drei Bildern immer noch unausgewogen. Dieses Ungleichgewicht bildete sich nicht sofort, aber ab wann genau (Anzahl der Durchgänge) kann ich nicht sagen.

Ja, ich habe die Frage missverstanden.

Daran arbeiten wir gerade. Vielleicht hängt es mit dem Überspringen von "nutzlosen" Ergebnissen zusammen.

 
Renat:

Ja, ich habe die Frage falsch verstanden.

Wir sind gerade dabei, das zu klären. Vielleicht hat es damit zu tun, dass "nutzlose" Ergebnisse übersprungen werden.

Hier werfen Sie übrigens auch eine andere Frage auf:

Wenn der Optimierer, wie in meinem Fall, nur schwer eine Lösung findet (siehe, dass das Ergebnis meist Null ist und die Optimierung trotz 4 Kernen und 20 externen Agenten sehr langsam ist), sollte ich dann eine vollständige Brute-Force-Optimierung anstelle eines genetischen Algorithmus durchführen?

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

Aber wenn der Optimierer, vielleicht wie in meinem Fall, Schwierigkeiten hat, eine Lösung zu finden (Sie können sehen, dass das Ergebnis im Grunde Null ist und die Optimierung trotz 4 Kernen und 20 externen Agenten sehr langsam ist), sollten wir die Optimierung auf volle Brute-Force anstelle eines genetischen Algorithmus umstellen?

Grob gesagt, kann man mit Hilfe der Genetik aus fast allen lokalen Gruben herauskommen, indem man Parameter zufällig in Gene packt.

Im Allgemeinen gilt: Wenn die Genetik (Sie können 2-3 Wiederholungstests durchführen) nichts gefunden hat, dann gibt es auch für Brute-Force nichts zu tun.

 
ForexMoneyMaker:

Hallo Moderatorin!

Ich habe eine Frage: Warum zeigen alle drei hier angehängten Bilder eine unterschiedliche Anzahl von Optimierungsdurchläufen? Was ist der Grund dafür?

Laut dem ersten Bild sollte die Anzahl der Durchgänge 817 betragen. Auf dem zweiten und dritten Bild ist ihre Zahl jedoch viel geringer.

Sie stellen Fragen, die schon oft diskutiert wurden. Und die Antworten finden Sie in der Hilfe. Ich bin kein Moderator, aber ich werde antworten.

Das Diagramm zeigt alle Ergebnisse außer den rot markierten. Läufe mit einem kritischen Fehler sind rot markiert.

Nur eindeutige Ergebnisse werden auf der Registerkarte "Ergebnisse" angezeigt. Bei aufeinanderfolgenden Läufen sind alle Ergebnisse eindeutig. In der Genetik wiederholen sich viele Parametersätze, d. h. sie sind nicht eindeutig. Das Ergebnis befindet sich bereits im Ergebnis-Cache - dieser Parametersatz wird nicht zum Testen gesendet, das Ergebnis wird zwar gezeichnet, aber nicht in der Ergebnisliste angezeigt.

 
stringo:

Ich bin kein Moderator, aber ich werde antworten.

 
Renat:
stringo:

Sie stellen Fragen, die schon oft diskutiert wurden. Und die Antworten darauf finden Sie in der Hilfe. Ich bin kein Moderator, aber ich werde antworten.

Das Diagramm zeigt alle Ergebnisse außer den rot markierten. Läufe mit einem kritischen Fehler sind rot markiert.

Nur eindeutige Ergebnisse werden auf der Registerkarte "Ergebnisse" angezeigt. Bei aufeinanderfolgenden Läufen sind alle Ergebnisse eindeutig. In der Genetik wiederholen sich viele Parametersätze, d. h. sie sind nicht eindeutig. Das Ergebnis befindet sich bereits im Ergebnis-Cache - dieser Parametersatz wird nicht zum Testen gesendet, das Ergebnis wird gezeichnet, aber nicht in der Ergebnisliste angezeigt.

Ja. Ich danke Ihnen. Es ist alles klar.
 
ForexMoneyMaker:
(Okay. Ich danke Ihnen. Alles ist klar.
Aktivieren Sie im Kontextmenü des Testerprotokolls die Option "Vollständige Optimierungsprotokolle". Dann lesen Sie das Protokoll - es zeigt, welcher Agent welchen Auftrag erteilt hat, welches Ergebnis von welchem Agenten erhalten wurde, welches Ergebnis im Ergebnis-Cache gefunden wurde, welches Ergebnis im Dateicache gefunden wurde. Welche Läufe mit einem kritischen Fehler endeten (und welcher Fehler). Das kann eine spannende Lektüre sein
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

Hallo, Moderator!

Ich habe eine neue Frage bezüglich der Optimierung eines EAs mit der Funktion OnTester(), in die die entsprechende Bedingung geschrieben wurde. Die Optimierung wurde mit Hilfe des genetischen Algorithmus auf dem Build 496 durchgeführt.

Die Arbeitsergebnisse des Optimierers sind in den folgenden Abbildungen dargestellt:

Um sicherzugehen, dass die bei der Optimierung ermittelten Parameter zu angemessenen Ergebnissen führen, haben wir den Expert Advisor mit den entsprechenden Parametern getestet, die für die letzte Zeile in jeder Tabelle ermittelt wurden, allerdings mit der aktualisierten Version des 519. Builds (bei 496 wurde dies leider nicht durchgeführt).

Es gibt drei Fragen:

1) Warum zeigt das Optimierungsdiagramm einen negativen Wert an, wenn das Ergebnis bei OnTester() entweder gleich Null oder größer als Null ist?

2) Warum werden im Optimierungsdiagramm zwei Punkte über Null angezeigt (Wert gleich 0,51), während in der Tabelle nur ein Punkt erscheint?

3. Woran kann es liegen, dass die Ergebnisse von zwei Tests nicht mit denen der Optimierung nach dem Test auf Build 519 übereinstimmen? (im ersten Fall, der Expert Advisor gestoppt statt Gewinn 745 als Folge der Einzahlung Drainage auf das Niveau der unzureichenden Mittel zur Eröffnung von Positionen, und im zweiten Fall, das Ergebnis erhalten 7903030 statt Gewinn 83064)

 
ForexMoneyMaker:

Es gibt drei Fragen:

1) Warum wird im Optimierungsdiagramm ein negativer Wert angezeigt, wenn das Ergebnis bei OnTester() entweder gleich Null oder größer als Null ist?

2) Warum werden im Optimierungsdiagramm zwei Punkte über Null angezeigt (Wert gleich 0,51), während in der Tabelle nur ein Punkt erscheint?

3. Woran kann es liegen, dass die Ergebnisse von zwei Tests nicht mit denen der Optimierung nach dem Test auf Build 519 übereinstimmen? (Im ersten Fall wurde der Expert Advisor anstelle des Gewinns von 745 Punkten gestoppt, weil die Einlage nicht mehr ausreichte, um Positionen zu eröffnen, und im zweiten Fall wurde anstelle eines Gewinns von 83064 Punkten ein Gewinn von 79030 Punkten erzielt)


Ich bin kein Moderator, aber ich werde versuchen zu antworten.

1. Sie haben genau 0 Ergebnisse auf Ihrem Diagramm, es ist nur so, dass 0 nicht auf der Skala angezeigt wird.

2. Der genetische Algorithmus erzeugt Individuen mit denselben Parametern, und die Ergebnisse für diese Individuen werden aus dem Zwischenspeicher entnommen, ohne dass ein echter Lauf stattfindet. So zeigt das Diagramm die Ergebnisse aller Läufe an, einschließlich der doppelten Läufe, während doppelte Läufe nicht in die Ergebnistabelle eingetragen werden (aber das Protokoll zeigt eine Meldung an, dass das Ergebnis aus dem Cache stammt).

3. In einem einzigen Durchlauf schließt der Tester den Test ab, wenn ein Stop-Out-Level erreicht wird, während der Optimierer solche Situationen ohne Analyse überspringt. Wahrscheinlich können die Prüfer die Tatsache der Unterbrechung nicht selbst feststellen, und der Prüfer tut es. Und der Saldo könnte wieder in den positiven Bereich zurückkehren. Auch ich habe solche Fälle beobachtet.

4. Der letzte Fall ist meiner Meinung nach entweder auf eine Terminalaktualisierung oder eine Aktualisierung der Historie zurückzuführen.

Grund der Beschwerde: