Diskussion zum Artikel "Erstellen benutzerdefinierter Optimierungskriterien für Expert Advisors" - Seite 3
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
Ich habe viel experimentiert und bin zu ähnlichen Schlussfolgerungen gekommen. Ich weiß nicht, warum ich so lange gebraucht habe, um diesen Artikel und die Diskussion zu finden.
Ich begann mit einem Problem, bei dem meine Break-Out- und Trend-Riding-Strategien dazu neigten, sich auf einige wenige superprofitable Trades zu beschränken. So viel Gewinn aus diesen wenigen, dass der Optimierer nur "kümmerte" sich um diese wenigen Trades und verwendet breite Haltestellen und weit weg Take-Profit und dafür sorgen, dass sein Signal gefangen und gemolken diese wenigen Trades auf das Maximum. dies trat auch auf 20 Jahre Proben mit 100's von Trades. Selbst bei der Optimierung mit einem Verhältnis von dd zu Gewinn, ging es immer noch nach den Läufen mit diesen Trades um jeden Preis, weil die Läufe 90% seines Gewinns waren. Ich wollte dieses Verhalten irgendwie einschränken, ohne der Breakout/Trend Ride-Strat den Kopf abzuschlagen. Ich fand heraus, dass die Optimierung für relative dd Prozent (NICHT dd Verhältnis zum Gewinn, nur dd relativen Prozentsatz und nichts anderes) gibt gute Ergebnisse nach vorne, solange minimale Trades und minimale Gewinn-Faktor (etwa 1,3) erfüllt sind.
Es scheint falsch zu sein, den Gewinn nicht mit einzubeziehen, aber durch das Mindestkriterium "pf" erscheinen die meisten recht profitablen Läufe an der Spitze. Das Herausschneiden von dd aus profitablen Läufen erhöht normalerweise die Gewinne. In jedem Fall kann ich durch die Auswahl der profitableren Trades und die sorgfältige manuelle Nachbearbeitung (wie z. B. am Ende dieses ausgezeichneten Artikels https://www.mql5.com/de/articles/156) dem Optimierer einen Großteil der anfänglichen Arbeit überlassen und gleichzeitig eine umfangreiche Kurvenanpassung vermeiden. Ich habe experimentiert und hatte gemischte Ergebnisse mit Code wie dem folgenden. (Bei den Experimenten sollte man auch das Risiko und die Startbilanz ändern, sobald man anfängt, zusätzliche Gewichte zu einer prozentualen Bewertung hinzuzufügen)
Kann mir jemand sagen, ob dieser Artikel auch für MT4 gilt? Es scheint, dass es bereits viele Eigenschaften von MT5 übernommen hat.
Im Allgemeinen ist meine Aufgabe, nur die Werte der LR-Korrelation und des LR-Standardfehlers im MT4-Tester zu erhalten, wie sie im MT5-Tester leicht zu sehen sind.
Ich möchte nur diese Werte in der Funktion deinit() am Ende des Testlaufs auslesen und sie zusammen mit dem Wert des optimierten Parameters in eine Datei schreiben.
Vielleicht hat jemand so etwas schon gemacht und kann mir das fertige Ergebnis (die notwendige Funktion zur Berechnung der LR-Korrelation und der LR-Standardfehlerwerte) mitteilen, damit ich das Rad nicht neu erfinden muss?
Kann mir jemand sagen, ob dieser Artikel auch für MT4 gilt? Es scheint, dass es bereits viele Eigenschaften von MT5 übernommen hat.
Im Allgemeinen ist meine Aufgabe, nur die Werte der LR-Korrelation und des LR-Standardfehlers im MT4-Tester zu erhalten, wie sie im MT5-Tester leicht zu sehen sind.
Ich möchte nur diese Werte in der Funktion deinit() am Ende des Testlaufs auslesen und sie zusammen mit dem Wert des optimierten Parameters in eine Datei schreiben.
Vielleicht hat jemand so etwas schon gemacht und kann mir das fertige Ergebnis (die notwendige Funktion zur Berechnung der LR-Korrelation und der LR-Standardfehlerwerte) mitteilen, damit ich das Rad nicht neu erfinden muss?
Ein Beispiel für die Berechnung der LR-Korrelation und des LR-Standardfehlers für Trades in der Historie ist in AlgLib (MQL4\Scripts\Alglib\UseAlglib.mq4) verfügbar.
Ich danke Ihnen! Ich werde es mir ansehen.
Ich habe es verstanden. Die Korrelation scheint berechnet zu werden.
Das Einzige, worüber ich nachdenken musste, ist die Tatsache, dass dieser Punkt im MT4 Build 670-Tester nicht funktioniert:
Es gibt einfach keine Orders mit Typ 6 im Tester.
Das heißt, wenn man im MT4-Tester läuft und den Code aus UseAlglib.mq4, der in der heruntergeladenen Zip-Datei enthalten ist, durch einen Aufruf der Funktion deinit() verwendet.
bleibt der Saldo gleich 0. Und dann wird der Fehler"Trading operations with zero balance" ausgegeben.
Ich musste nur den erforderlichen Wert des Anfangssaldos im MT4-Tester in den Code selbst einfügen und dann wurde alles perfekt gezählt.
Vielleicht können die Entwickler diesen Punkt in zukünftigen Versionen der Bibliothek berücksichtigen.
Ich habe Kelly Criterion (Strategie) getestet, indem ich den folgenden Code verwendet habe:
Ich bin mir nicht sicher, ob der Metatrader Strategy Tester 0 (Null) Profit Trades als Profit Trades berechnet. Jemand?
Nun, hier bin ich wieder, der einsame Wolf in diesem Universum :-)
Ich habe versucht, die Geradheit Custom Criteria, um die Steigung der berechneten geraden Linie in die Gleichung zu bekommen. So wie es ist, kann man eine sehr hohe Bewertung für einen sehr schwachen Gewinn erhalten. Einfach den Endgewinn hinzufügen
In einem Versuch, die tatsächliche Steigung in die Gleichung einzufügen, habe ich den Code wie unten gezeigt geändert.
Es ist keine perfekte Lösung, aber es ist näher an dem, was ich sehen möchte. Die Verwendung des Ergebnisses zusammen mit dem Saldo oder dem Gewinn funktioniert für mich mit diesem Code gut
Ich weiß, dass es schon so lange her ist, dass Sie dies gepostet haben, aber für den Fall, dass Sie immer noch damit spielen oder jemand anderes nach der gleichen Implementierung der Geradheitskriterien sucht.
Ich habe eine funktionierende öffentliche Lösung hier gefunden https://community.darwinex.com/t/equity-curve-straigthness-optimization-with-metatrader/3976
Das zugehörige Tutorial hat zu viele Informationen, wie z. B. speziell über die Programmierung eines EA, die in anderen Tutorial ist, und nicht anwendbar auf durchschnittliche punter, die, wird ihre EA kaufen und hat minimale Programmierung Fähigkeit.
Ich finde, dass standardmäßig die einzige nützliche Kriterien für MT5 in genetischen Algo ist die "Balance max", dann haben zu wiederholen, dass ein paar Mal, und Fisch durch Ergebnisse til finden niedrige Drawdown, wie für den Einsatz auf mehrere Paare.
Welche Kriterien ich brauche: - Max Balance mit <20 Drawdown, MaxBalance mit <10 Drawdown
An alle "einsamen Wölfe" da draußen: Sie sind auf dem richtigen Weg, strenge Testkriterien zu schaffen und diese zu automatisieren. Es gibt natürlich verschiedene Möglichkeiten, dieselbe Herausforderung zu betrachten, und wenn man die Kommentare hier liest, scheint der Konsens darin zu bestehen, einen Kompromiss zwischen Gleichgewicht, Drawdown, RRR und einem gewissen Maß an Gewinn (Gewinnfaktor, Kelly-Kriterium usw.) zu finden.
Ich bin auf diesen Artikel gestoßen, weil ich das Gleiche tun wollte und wollte, dass der Strategy Tester das für mich erledigt; ich bin froh, dass ich nicht allein bin :)