Optimierungsbereich

 

Hallo zusammen!

Ich möchte eine Frage zum Datenbereich stellen, der zur Optimierung von EAs verwendet wird. D.h. auf welchen Zeitrahmen welche Bereiche zu wählen sind. Reicht es zum Beispiel für H1 aus, einen EA auf der Grundlage von Daten aus einem Monat, drei Monaten oder einem Jahr zu optimieren? Ich würde gerne diese Werte für verschiedene Zeiträume sehen und zumindest eine kurze Begründung für die Wahl. Ich danke Ihnen vielmals.

 
Dies ist ein Problem, das häufig auftritt. Die Optimierung ist von Natur aus umstritten - sie hat sowohl ihre Gegner als auch ihre Befürworter. Sie ist eine rein individuelle Angelegenheit und hängt weitgehend von den Eigenheiten des Handelssystems und dem Marktverhalten ab. Darüber hinaus hängt es von der Art der optimierten Parameter ab.
 
ITeXPert >> :


Ich möchte eine Frage zum Datenbereich stellen, der zur Optimierung von EAs verwendet wird. D.h. auf welchen Zeitrahmen welche Bereiche zu wählen sind. Reicht es zum Beispiel für H1 aus, den Expert Advisor auf Monats-, Dreijahres- und Jahresdaten zu optimieren? Ich würde gerne diese Werte für verschiedene Zeiträume sehen und zumindest eine kurze Begründung für die Wahl.

Großartiges Buch über Prüfung und Optimierung
 

Es gibt keine eindeutigen Kriterien, jeder hat seine eigene Meinung. Ich werde versuchen, Ihnen meine Meinung zu sagen.

Die Optimierung über den gesamten Zeitraum der Geschichte hinweg ist reiner Selbstbetrug. Deshalb muss das Optimierungsintervall mindestens die Hälfte des Prüfzeitraums betragen. Je kleiner jedoch der Anteil des Testzeitraums ist, der für die Optimierung verwendet wird, desto besser. Nachdem Sie die Parameter im Abschnitt Optimierung ausgewählt haben, führen Sie den Test über das gesamte Intervall durch, das Sie als Testzeitraum gewählt haben. Sie können den erzielten Ergebnissen "Glauben schenken", wenn die Stichprobe mindestens 100 Geschäfte umfasst. Aber selbst das reicht vielen Menschen nicht aus. Es liegt auf der Hand, dass eine größere Anzahl von Geschäften ein genaueres Bild des Systems vermittelt. Ich kann zum Beispiel an eine Stichprobe von mindestens 200 Geschäften "glauben". 1000 Trades sind optimal, aber es gibt keine Grenze für die Perfektion...

 

Dieses Thema wird von Jezev und Shumsky sehr gut behandelt. Was sie getan haben, lässt sich wie folgt zusammenfassen:

Die Aufgabe der Lerntheorie besteht nicht darin, den Lernfehler zu minimieren, sondern den für alle möglichen zukünftigen Beispiele definierten Generalisierungsfehler zu minimieren. Auf diese Weise wird eine optimierte TS maximale Vorhersagekraft haben. Und die Schwierigkeit dabei ist, dass nur der Lernfehler tatsächlich beobachtbar ist. Der Verallgemeinerungsfehler kann nur geschätzt werden, und zwar auf der Grundlage einiger Überlegungen. Der Fehlerder Vorhersagen des Testers für die neuen Daten wird durch die Gesamtlänge der Beschreibung der Daten durch das Modell und die Beschreibung des Modells selbst bestimmt .

Annäherungsfehler

Da die Zahl der vom TC getroffenen Entscheidungen in der Regel viel kleiner ist als die Zahl der darin eingestellten Parameter, wird in diesem Fall der durchschnittliche Approximationsfehler durch die Gesamtzahl der Anpassungsparameter w wie folgt ausgedrückt Eapprox= d/w, wobei d die Anzahl der Eingabeparameter ist, die der TS analysiert. In der überwiegenden Mehrheit der Fälle ist d=w erfüllt (alle Anpassungsparameter konzentrieren sich auf den TC-Eingang).

Das Hauptproblem von Lernalgorithmen ist bekannt als das Problem des Überlernens oder der Anpassung an die Geschichte.Das Wesen dieses Problems lässt sich am besten anhand eines konkreten Beispiels erklären. Angenommen, die Trainingsbeispiele werden von einer Funktion erzeugt, die wir reproduzieren wollen. In der Lerntheorie wird diese Funktion als Lehrer bezeichnet. Bei einer endlichen Anzahl von Trainingsbeispielen ist es immer möglich, den Testlauf mit einem Lernfehler von Null zu konstruieren, d. h. mit einem Fehler, der durch die Menge der Trainingsbeispiele definiert ist. Dazu muss man einen TS nehmen, bei dem die Anzahl der Anpassungsparameter größer ist als die Anzahl der Beispiele. Um jedes Beispiel zu reproduzieren, haben wir P Gleichungen für W Unbekannte.Und wenn die Anzahl der Unbekannten kleiner ist als die Anzahl der Gleichungen, ist ein solches System unterbestimmt und lässt unendlich viele Lösungen zu. Das ist das Hauptproblem: Wir haben nicht genügend Informationen, um die einzig richtige Lösung zu wählen - die Lehrerfunktion. Infolgedessen liefert die zufällig gewählte Funktion schlechte Vorhersagen für neue Beispiele, die nicht in der Trainingsstichprobe enthalten waren, obwohl der Tester diese in der Vergangenheit ohne Fehler reproduziert hat. Anstatt die bekannten Beispiele zu verallgemeinern, lernte er sie auswendig. Dieser Effekt wird als Überlernen bezeichnet.

Fehler im Zusammenhang mit der Komplexität des Modells.

Die Beschreibung eines Modells läuft im Wesentlichen auf die Übergabe der Werte seiner untergeordneten Parameter hinaus. Bei einer gegebenen Genauigkeit erfordert eine solche Beschreibung etwa W Bits. Folglich kann der spezifische Fehler pro Beispiel in Bezug auf die Modellkomplexität wie folgt geschätzt werden: Ecomplex=W/P. Wie wir sehen, sinkt sie monoton mit zunehmender Anzahl von Beispielen (Länge der Trainingsgeschichte).

Um die Anpassungsparameter von anhand von P Beispieleneindeutig zu bestimmen, ist es erforderlich, dass das System der P der Gleichungen muss überbestimmt sein, d. h. die Anzahl der Parameter W muss größer sein als die Anzahl der Gleichungen. Je größer der Grad der Überdeterminierung ist, desto weniger hängt das Lernergebnis von der Wahl einer bestimmten Teilmenge von Trainingsbeispielen ab. Die oben definierte Komponente des Verallgemeinerungsfehlers bezieht sich genau auf Lösungsvariationen aufgrund der Endlichkeit der Anzahl von Beispielen.

Wir haben also beide Komponenten des Generalisierungsfehlers der Strategietester geschätzt : E=Eapprox+ Ecomplex=d/W+W/P>SQRT(d/P).Wichtig ist, dass diese Komponenten unterschiedlich von der Anzahl der Anpassungsparameter W abhängen, was bedeutet, dass die optimale Größe gewählt werden kann, die den Gesamtfehler minimiert. Der minimale Fehler (Gleichheitszeichen) wird bei optimaler Länge der an der Strategieoptimierung beteiligten historischen Daten erreicht: P=k*W^2/d=k*W, wobei die k-Konstante ungefähr gleich 4 ist.

So wird der minimale Vorhersagefehler eines Expert Advisors im Vorwärtstest, der im Strategietester auf historischen Daten optimiert ist, erreicht, wenn die Länge der historischen Daten viermal größer ist als die Anzahl der Anpassungsparameter im Strategietester.

Wenn wir 5 Parameter im Tester optimieren (z.B. Mach-Perioden), dann sollte die optimale Länge der Historie so sein, dass der Tester 4*5=20 Transaktionen darauf verwenden würde. Es kann zwischen 1 und ...200 Tagen dauern, das hängt von der gewählten Strategie ab. Eine Verringerung dieser Zahl führt zu einer Anpassung des Prüfers an die Historie, eine Erhöhung zu einer Verschlechterung der Approximationsqualität und damit zu einer Verschlechterung der Prognosegenauigkeit.

 
einfach sein, werde ich ein kleines Geheimnis, aus welchen Erwägungen wählen Sie die Länge der Website-Optimierung zu offenbaren, was ist die Optimierung ?????? ja es ist Trimmen, und nichts mehr, so dass ich Trimmen verbringen die folgende Art und Weise, ich nehme die letzte Jahreschart auf H1 (wenn dies der wichtigste Zeitrahmen für die TS), dann, sie identifiziert 2 dicke Abschnitte, einer von ihnen Bay, eine andere - Cell, und auf jedem dieser Abschnitte tun eine beschissene fit sootv. für An- und Verkäufe - ich erhalte 2 Sätze von Anpassungswerten, und in der Zukunft schließe ich nur einen Satz ein, der von einem Werkzeug auf einem höheren Zeitrahmen gefiltert wurde, in diesem Beispiel filtere ich D1, bescheiden-150% pro Jahr, aber genug für die Ration von Brot! :-о)

 
будьте проще, открою маленький секрет

Es gibt viele Möglichkeiten, diese Welt kennenzulernen.

Manche lernen sie durch die Liebe kennen. Manche durch Meditation usw. Ich habe einen Weg aufgezeigt, wie der Wert der Zinsen mit Hilfe von Logik und Mathematik geschätzt werden kann. Ihr Geheimnis ist also gar kein Geheimnis, es ist nur eine weitere Facette...

P.S. Was ich oben beschrieben habe, ist nur eine Maßnahme zur Optimierung der Parameter. Um die Leistung eines optimierten EA zu beurteilen, reicht ein Punkt nicht aus, man muss Statistiken sammeln, und ein statistisch signifikantes Ergebnis beginnt mit hundert Durchläufen auf unabhängigen Daten mit Überoptimierung bei jedem Durchlauf ...

Das Rezept für eine angemessene Optimierung im Tester wird also nicht einfach sein.

 

Vielen Dank an alle, insbesondere an Neutron für die ausführliche Beschreibung. Kürzlich habe ich eine sehr interessante Idee im Forum gefunden und ich arbeite daran, sie in meinem Code umzusetzen. Gleichzeitig habe ich es in der Demo getestet und ein recht gutes Ergebnis erzielt, etwa 150% nach 3 Tagen, aber es gibt einige Feinheiten... Um kein neues Thema zu erstellen, werde ich hier fragen:

Bei der Definition eines Einstiegspunktes ist es notwendig, herauszufinden, ob bereits eine Order in der gleichen Richtung in einem Abstand von n Pips offen ist. Der folgende Code funktioniert nicht, aber ich kann nicht verstehen, warum:

bool buy=true;

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderOpenPrice()<=Bid && Bid-OrderOpenPrice()<50*Point) buy=false;
}
if (buy) OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0, "MyAdvisor",0,0,Blue);

Wenn ich einen EA mit 10 möglichen offenen Lots ausführe, öffnet er sie alle von einem Punkt aus. Ich möchte, dass er einen Auftrag öffnet und den nächsten nur dann öffnet, wenn die Differenz zwischen dem aktuellen Preis und dem Preis des aktuellen offenen Auftrags mehr als 50 Pips beträgt

 

zu Neutron

Gelten diese beiden Arten von Fehlern für alle TK oder nur für neuronale Netze?

 
budimir Wählen Sie die Trendabschnitte aus, um die Parameter zu definieren? Verwerfen Sie die Abschnitte "Richtungswechsel" und "Seitwärtstrend"?
 
khorosh >> :
budimir Sie wählen für die Definition der Parameter die Trendbereiche? Wählen Sie die Trendlinien und die Seitentrendlinien?

Ich wähle die lebhaftesten Trendabschnitte aus, und der passende Abschnitt ergibt nur 20-30 Geschäfte, während die Stichprobe im passenden Abschnitt mindestens 100-1000 Geschäfte umfassen sollte.

mütterliche Zuverlässigkeit - all das ist Unsinn, na ja, nehmen wir an, Sie haben ein passendes Plot, direkt neben der Zukunft, identifiziert die Phase des Marktes - ein Trend oder es ist ein Seitwärtstrend oder eine Änderung der Richtung, und dann? Der Markt ist NICHT stationär, und wir wissen nicht, wohin er sich in Zukunft entwickeln wird!


zu ITeXPert > machen Sie sich nicht über den Auftrag von 150% in 3 Tagen lustig.

und in meinem TS können Sie mehr als ein Dutzend solcher Lose in 3 Tagen mit 150% bekommen! :о)