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
Kleine kosmetische Korrektur, int => bool. Oder wenn ich vorschlagen darf, stattdessen AmountDeleteIntervals zurückzugeben.
Danke, ich werde das korrigieren müssen.
Bitte beachten Sie AverageHolding als Ergänzung der Bibliothek
Intervall.mqh
BestInterval.mqh
Bitte berücksichtigen Sie AverageHolding als Ergänzung der Bibliothek
Durchschnittliche Haltedauer einer geschlossenen Position - wozu dient sie?
So sollte sie nicht berechnet werden. Sie müssen die Schließungszeit kennen.
Durchschnittliche Lebensdauer einer geschlossenen Position - wofür ist sie gut?
Ich beziehe mich auf die durchschnittliche Lebensdauer einer Position (OrderCloseTime - OrderOpentime). Dies kann als benutzerdefiniertes GA-Kriterium nützlich sein. Zum Beispiel kann man GA dazu bringen, die Transaktionshäufigkeit zu erhöhen, kombiniert mit einer Mindestgewinnschwelle pro Transaktion.
Das ist nicht, wie es zu berechnen. Sie müssen die Schlusszeit kennen.
Für das DEAL IN / OUT Netting-Konto reicht die Eröffnungszeit für die Berechnung aus, für eine korrekte Implementierung müssen Sie die Schlusszeit verwenden, die derzeit in der Bibliothek nicht berücksichtigt wird.
Es gibt ein Problem, das bleiben wird. Der Tester erzwingt das Schließen der letzten Position. Die Genauigkeit der Atomuhr ist vielleicht nicht für alle Strategien erforderlich, aber sie bleibt ein Problem. Auch GA kann zu einer höheren Handelsfrequenz getrieben werden, indem einfach 0 zurückgegeben wird, wenn BestInterval.GetTotal () <xxx, zum Beispiel wie Sie in einem Beitrag geschrieben haben.
Auf diese Weise sieht es so aus, als würde es sich nicht lohnen, während der Ärger weitergeht.
Ich beziehe mich auf die durchschnittliche Lebensdauer einer Position (OrderCloseTime - OrderOpentime). Dies kann als benutzerdefiniertes GA-Kriterium nützlich sein. Zum Beispiel kann man GA dazu bringen, die Transaktionshäufigkeit zu erhöhen, kombiniert mit einer Mindestgewinnschwelle pro Transaktion.
Geben Sie das Optimierungskriterium als schematischen Quellcode der OnTester-Funktion an.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Bibliotheken: BestInterval
fxsaber, 2019.12.05 13:48 PM.
Zu sagen, dass ich zufrieden bin, ist eindeutig eine Untertreibung.... BestInterval ist jetzt großartig. Und die Änderungen sind minimal. Wie immer, ein Beispiel.
Hier ist ein 24-Stunden-Durchlauf.
Wir wenden das klassische BestInterval an.
Wir sehen, dass der Gewinn um ein Drittel gestiegen ist, und andere Indikatoren sind besser geworden.
Aber wir wollten Flexibilität. Und hier ist sie.
Der Gewinn ist nicht gestiegen, er ist gesunken! Aber sehen Sie sich die anderen Indikatoren an. Anstatt das Intervall mit dem höchsten Gewinn und der höchsten Anpassungswahrscheinlichkeit zu finden, wurde ein viel engeres Intervall gefunden, das aber viel besser ist als das klassische.
Die Neuerung wird wie folgt hinzugefügt
Die Qualität der Marktmusterforschung ist nun sehr viel besser. Das hat erhebliche Auswirkungen auf die Arbeit mit mehreren Testern.
Interessant ist, dass, wenn man das gefundene so schmackhafte Intervall in den TS stopft und beginnt, es auf maximalen Gewinn darin zu optimieren, mit hoher Wahrscheinlichkeit ein Bullshit gefunden wird.
Und noch eine Bemerkung. BestInterval ignoriert zum Beispiel Trades, die zwischen Mitternacht und einer Stunde geöffnet sind. Das bedeutet nicht, dass BestInterval Sie einen Handel eröffnen lässt, wenn ein Eröffnungssignal um zwei Uhr nachts kommt. Bibla wird sie nur öffnen, wenn die ignorierte Position von Mitternacht "geschlossen" ist. Daher kann man oft sehen, dass die Optimierung eines TS mit einem starr festgelegten Intervall zu schlechteren Ergebnissen führt, als BestInterval zeigt.
Das offensichtlichste Beispiel ist ein TS für einen Gegentrend auf einen Trend. Nehmen wir an, der TS gibt ein VERKAUFSSIGNAL, und der Trend geht nach oben. BestInterval wird diese Signale ignorieren.
Ich habe eine solche Besonderheit festgestellt, die auf meiner Erfahrung beruht.
Wenn das Optimierungskriterium nichts mit der Glattheit der Profilkurve zu tun hat. Und das beste Ergebnis ergibt trotzdem eine glatte Kurve, dann ist es keine Anpassung.
Ein Beispiel: Das Kriterium ist der maximale Gewinn. Und der beste Durchlauf ergibt eine gerade aufsteigende Kurve. Das ist keine Anpassung.
Aber wenn das Kriterium minimaler R^2 ist. Und der beste Durchlauf ergibt eine gerade Kurve nach oben. Das ist wahrscheinlich eine Anpassung.
Ich habe ein Dilemma: Ist BestInterval ein unabhängiges Optimierungskriterium oder nicht? Vor allem mit dem Trick der Slippage-Zuweisung.
D.h. er sagt, wenn man alle Trades ignoriert, die nicht in das Intervall 18:00-12:00 fallen, wird alles schön in der Historie sein.
Ich nähe dieses Intervall in den TS ein, so dass der TS nicht mehr rund um die Uhr läuft, und optimiere ihn für maximalen Gewinn.
Der beste Pass der Genetik ist, um es milde auszudrücken, Quatsch.
ZY Dies ist immer noch ein schwaches Beispiel. Es tritt auf, wenn BestInterval PF > 3 hat und Optimiser PF < 1 ergibt.
Ich habe ein Dilemma, ist BestInterval ein unabhängiges Optimierungskriterium oder nicht? Vor allem mit seinem Slippage-Aufgaben-Chip.
Slippage ist in der Tat eine Provision. Je höher die Provision, desto schöner ist das Ergebnis, das BestInterval in der Historie anzeigt.
Es scheint, dass die Provision nichts mit den Marktmustern zu tun hat.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Expert Advisors: Validieren
fxsaber, 2020.08.23 07:44 AM
Wahrscheinlich habe ich nicht mit CloseBy Trades gerechnet, als ich es geschrieben habe. Ich kann mich an nichts mehr erinnern. Es ist sehr wahrscheinlich, dass BestInterval das gleiche Gebrechen hat. Ich bin nicht bereit, es zu bearbeiten. Vielen Dank für die Information.
Es sieht so aus, als ob Sie recht hätten. BestInterval liefert unterschiedliche Ergebnisse sowohl in Bezug auf den potenziellen Gewinn als auch auf die Zeitintervalle für Netting und Hedging. Ich habe mir die Details noch nicht angeschaut, aber die Deals-Liste sieht auf den ersten Blick falsch aus, die Eröffnungszeit für CloseBy-Closes fällt meist auf die Eröffnungszeit der Closing-Order.