eine Handelsstrategie auf der Grundlage der Elliott-Wellen-Theorie - Seite 291

 
Sergei, es geht nicht darum, dass man Ihre Ergebnisse kritisieren kann, sondern darum, ob sie etwas veranschaulichen oder nicht. Um das zu verstehen, muss man eine Basis haben, ein Fundament, auf dem man aufbauen kann. Wenn dieses Zwischenergebnis einen statistischen Vorteil nachweisen kann, ist nichts weiter erforderlich. Alles, was darüber hinausgeht, kann diesen Vorteil noch verstärken. Wenn es keinen Vorteil gibt, was gibt es dann zu bewerten? <br / translate="no">.
Und in diesem Fall erlauben es die Bedingungen des Experiments nicht, diese Ergebnisse als Bestätigung des statistischen Vorteils zu betrachten.


Gut.

"SL<MO" was ist MO?

Und noch eine Frage: Wie kann man SL optimieren, zumindest in groben Zügen? Als externen Parameter festlegen, d.h. ein SL für alle Geschäfte?
 
Sergej, was ich geschrieben habe, ist keine Kritik. Lesen Sie meinen früheren Beitrag.
Der einzige Gedanke ist, dass es schwierig ist, diese Ergebnisse zu beurteilen, da die Bedingungen des Experiments nicht richtig sind.
Die neuen Ergebnisse sind noch weniger aufschlussreich. Es gibt schließlich keine Statistiken!
Von den 21 Testmonaten sind 10 überzogen.

Sie behaupten nicht, dass Ihr System nicht falsch ist. Setzen Sie also einen Stopp 20 und sehen Sie, was passiert. Zumindest werden Statistiken erscheinen.

Und denken Sie nicht, dass das, was wir hier schreiben, eine Kritik an den Trading Expert Advisor ist. Generell als Kritik.

Übrigens hat die Umstellung auf alle Zecken zu einem Rückgang der MO von 38 auf 23 geführt, was kein schlechtes Ergebnis ist.
Es wäre auch interessant, die gleichen Zahlen zu vergleichen, allerdings mit Haltestellen in beiden Fällen.

MO ist die mathematische Erwartung eines Gewinns.
SL kann sehr einfach optimiert werden. Geben Sie ihn als externen Parameter aus und führen Sie die Optimierung im Prüfgerät durch, indem Sie die Grenzwerte und den Schritt festlegen. Natürlich müssen Sie im Code des Expert Advisors die Bedingung hinzufügen, dass eine Position geschlossen wird, wenn der Preis unter SL fällt (für Kauf) und umgekehrt (für Verkauf).
 
<br / translate="no"> Sergey, was ich geschrieben habe, ist keine Kritik. Lesen Sie meinen früheren Beitrag.
Der einzige Gedanke ist, dass es schwer ist, diese Ergebnisse zu beurteilen, nicht die Bedingungen des Experiments.
Die neuen Ergebnisse sind noch weniger aufschlussreich. Es gibt schließlich keine Statistiken!
Von den 21 Monaten, die getestet wurden, haben 10 zu lange gesessen.


Yuri, ich bin überhaupt nicht aufgeregt, nicht beleidigt und es ist völlig in Ordnung. :о)))) MathCAD hat keine 10-monatige Überschreitung, weil es einen Code hat, der solche Geschäfte nicht zulässt, sondern aus anderen Gründen. Was das Modell betrifft, so sind 10 Monate zu langes Sitzen kein Fehler. Für das Modell ist nichts "Schlimmes" passiert - der Preis saß im Kanal (baumelte am Rand). Aufgrund von Fällen wie diesem habe ich begonnen, die Flugbahn selbst vorherzusagen.


Sie behaupten nicht, dass Ihr System nicht falsch ist. Setzen Sie also einen Stopp 20 und sehen Sie, was passiert. Zumindest die Statistiken werden erscheinen.


Ich tue nicht so, als ob, obwohl ich noch keine offensichtlichen Fehler gefunden habe - während der Lebensdauer des Kanals passiert der Preis das berechnete Niveau. Aber sicher werden sie früher oder später auftauchen, ich mache mir keine Illusionen, das Modell hat einige Schwachstellen.

Wahrscheinlich werde ich von meinem Plan abweichen und Stopps verwenden. Ich verlasse mich immer noch auf Ihren Rat, da ich MT jetzt wie ein Neandertaler auf einem Taschenrechner betrachte. In Matcad ist es ganz einfach - Formeln, wie sie sind. :о)
 
<br / translate="no"> Ich könnte von meinem Plan abweichen und Stopps einführen. Ich hoffe immer noch auf Ihren Rat, denn ich schaue jetzt auf MT wie ein Neandertaler auf einem Taschenrechner. In Matcad ist alles einfach - Formeln sind, was sie sind. :о)


Fragen Sie ruhig, wir stehen Ihnen zur Verfügung.

Aber bei mir ist es umgekehrt. :-))
Aber jetzt schaue ich nicht mehr auf Matcad, sondern auf Matlab. Und zwar nicht mehr als Neandertaler, sondern als Cro-Magnon.
 
zu grasn
Noch zwei Punkte:
- Grundsätzlich ist es normal, eine Korrelation zwischen Positionshaltezeit und Gewinnwert zu erwarten. Bei kleinen Zeiten scheint sie da zu sein (nach Augenmaß, ich kann mich irren). Aber bei längeren Zeiten (wiederum "nach Augenmaß") sieht die Situation eher zufällig aus. Aber zufällig sollte es sowohl kleine Pluspunkte als auch kleine Minuspunkte geben. Und es gibt keine Minuspunkte. Gibt es keine gelegentlichen "Anpassungs"-Ausgänge im Code?
- Bei fast jeder Strategie gibt es Phasen der "Anwendbarkeit" und der "Nicht-Anwendbarkeit". Wenn die Überschreitung den "nicht anwendbaren" Zeitraum verdeckt, könnte die Einführung von Stopps eine Katastrophe für den Bericht bedeuten. Und die Nichtannahme kann für das eigentliche Konto katastrophale Folgen haben.
 
Rosh
Ich muss es zählen. Wenn nicht beim ersten Mal, dann beim zweiten Mal. Auf dem Video können Sie sehen, wie das geschieht - https://www.mql5.com/zh/forum/103424

Es erfolgt also eine automatische Neuberechnung? Soweit ich weiß, gibt es jedoch keine Synchronisierung der Kurse mit der Zeit des Brokers. Ok, wenn es darum geht, zwei lange Stücke zu kombinieren, dann ist der Zeitsprung an der Kreuzung, sagen wir eine Stunde, nicht von prinzipieller Bedeutung. Aber was ist, wenn die ursprüngliche Geschichte aus mehreren Teilen besteht und das Laden von Zitaten die Lücken füllt? Das wäre eine gute Mischung.
Nachdem ich den Verlauf selbst geladen hatte, übertrug ich ihn sofort auf das Standalone-Terminal und vermischte ihn nicht mit irgendetwas.
 
zu Gorillych

<br/ translate="no"> Immer noch nicht klar. Der 14. Handel dauerte 20 Minuten, der 15. wurde 10 Monate lang gefoltert. Warum zeigte der Kanal im 15. Handel SELL und nicht BUY an?


Ich habe mich entschlossen, meine Antwort ein wenig zu erweitern. Unten sehen Sie die Statistik der Lebensdauer von Kanälen (eurusd, Stunden), die wie folgt durchgeführt wird: Ich lege die Länge des Kanals fest, bewege mich zusammen mit der Zeit, baue einen Kanal mit fester Länge für jeden "aktuellen" Balken und schätze seine Lebensdauer (natürlich mit Blick in die Zukunft). Gleichzeitig habe ich alle Arten von zusätzlichen Parametern der Kanäle gesammelt. In diesem speziellen Fall hat der Kanal eine Länge von 300 Zählern.



Natürlich ist es den Wavelet-Transformationsbildern unterlegen, aber achten Sie auf die Form der Kurve selbst (sie bleibt für andere Zeiträume und Zitate bestehen), der Kanal nimmt fast sofort eine stabile Position ein, d.h. es folgt zuerst ein Peak, und dann nimmt die Dauer ab, aber nicht umgekehrt, obwohl es logischer wäre, genau so ein Bild zu erwarten. Sie können sehen, dass einige Kanäle ziemlich lange leben, etwa 3,5 ihrer Länge (ich möchte Sie daran erinnern, dass sich die Kanalparameter nicht ändern, wenn Sie in die Zukunft schauen). Nun, ich weiß nicht, wie der Kursverlauf in dieser Zeit aussieht, aber es ist fast sicher, dass der Kurs während des Bestehens des Kanals das berechnete Niveau durchläuft, natürlich nur, wenn zusätzliche Kriterien funktionieren, einschließlich des Hurst-Index. Es kann in 20 Minuten, in ein paar Tagen oder in ein paar Monaten passieren. Natürlich ist dies eine der unangenehmen Eigenschaften - entweder glauben oder den Handel ablehnen oder einen Verlust zulassen. Ähnliche Merkmale in Bezug auf den Grad der "Unerfreulichkeit" lassen sich in ausreichender Zahl auch bei anderen Strategien und Modellen finden.

In diesem Modell suche ich nicht nach einem Umkehrbereich (andere Modelle sind für diesen Zweck). Der Kernmodellcode in MathCAD umfasst nur wenige Zeilen, und der Code, der den 10-Monats-Handel blockiert, umfasst einige hundert Zeilen. Also, erste Tests dieses Modells zeigten 20% Verlustgeschäfte (nach Blockierung), jetzt sind es 2% in MathCAD, es bleibt abzuwarten, was in MT passieren wird.

Übrigens ist auch die Form der Kurve selbst nützlich. Wenn Sie statistische Daten sammeln (vielleicht haben Sie sie bereits gesammelt), können Sie Extremwerte klassifizieren (entweder mit gesundem Menschenverstand oder mit Hilfe professioneller Systeme), und wenn Sie die Form des Kanals in der Nähe des aktuellen Bezugspunkts betrachten (indem Sie einen Kanal zurückverfolgen), können Sie den Zeitpunkt des Bestehens des Kanals mit einem hohen Maß an Zuverlässigkeit schätzen.

Im Allgemeinen sind Kanäle sehr sinnvoll... aber das ist nur eine Philosophie.

zu Candid

Zu grasn
Noch zwei Punkte:

- Grundsätzlich ist es normal, eine Korrelation zwischen Positionshaltezeit und Gewinnwert zu erwarten. Sie scheint zu kleinen Zeiten vorhanden zu sein (nach Augenmaß, ich kann mich irren). Aber bei längeren Zeiten (wiederum "nach Augenmaß") sieht die Situation eher zufällig aus. Aber zufälligerweise sollte es sowohl kleine Pluspunkte als auch kleine Minuspunkte geben. Und es gibt keine Minuspunkte. Gibt es keine gelegentlichen "Anpassungs"-Ausgänge im Code?

- Bei fast jeder Strategie gibt es Phasen der "Anwendbarkeit" und der "Nicht-Anwendbarkeit". Wenn die Überschreitung den "nicht anwendbaren" Zeitraum verdeckt, könnte die Einführung von Stopps eine Katastrophe für den Bericht bedeuten. Und die Nichtannahme kann sich katastrophal auf das reale Konto auswirken.


Genau aus dem Grund, weil es noch früh ist (philosophischer Test), habe ich wie ein marquesanisches Boot gewackelt, als Yuri mich mit einem SL an die Wand nagelte. Er überredete mich praktisch mit einem freundlichen Wort und einer Waffe zu SL. :о)
Übrigens habe ich Stop Loss bisher nicht als Orderparameter verwendet und über die Steuerung einer offenen Position implementiert, da sich die Bedingungen immer ändern.

an Yurixx

Yuri, bitte hilf mir mit SL. :о)

Wie ich bereits geschrieben habe, habe ich nie SL verwendet, sondern die dynamische Auftragssteuerung genutzt. Wahrscheinlich ist das nicht sehr praktisch, weil das System ständig mit dem Server verbunden sein muss, aber meiner Meinung nach macht es mehr Sinn.

Ich erinnere mich vage daran, dass ich Probleme mit SL hatte (das war vor etwa einem Jahr), oder meine Maklerfirma hat es nicht erlaubt, sie zu weit weg zu platzieren oder etwas anderes. Jedenfalls habe ich in der Dokumentation nachgeschaut und mich daran "erinnert", dass dies das Preisniveau ist, zu dem der Auftrag geschlossen wird. Ok, ich habe mir gesagt, und die folgenden Parameter für SL je nach Auftragsart eingegeben:

Bid-20*Point
Ask+20*Point

Nicht ein einziger Handel, jetzt versuche ich zu verstehen, warum, oder besser gesagt, um den Fehlercode zu beantragen. Ich habe noch ein paar weitere Optionen eingegeben, aber keinen Deal. Irgendwann hatte ich die Nase voll und gab das SL-Kursniveau 20,0 an, es funktionierte:



Wie in dem Cartoon "Ich verstehe nichts". Yuri, erkläre dem Dinosaurier, wie man sie richtig einstellt und warum ein Wert von, sagen wir, 1,2 schlechter ist als 20,0
 
Hallo Sergej!

1. Sie können überhaupt keinen SL setzen, sondern das Preisniveau selbst dynamisch steuern und den Handel im richtigen Fall "schließen". Es geht nur um Symbolik, nicht um Handel. Es geht nur um das Sammeln von Statistiken. In diesem Fall muss jedoch alles manuell und nicht mit einem Prüfgerät durchgeführt werden. Wir müssen also nur ein Skript schreiben, das den Verlauf durchläuft, die Strategie umsetzt und die Ergebnisse in einer Datei sammelt. Das ist nicht schwer, denn 95 % des Skripts sind der Text Ihres Expert Advisors.

2. Wenn Sie den Tester verwenden, sollte SL in den von Ihnen erteilten Aufträgen gesetzt werden, so wie es auch in der realen Welt geschieht. Was Sie geschrieben haben, verstehe ich immer noch nicht, was das Problem ist. Am einfachsten lässt sich das Problem lösen, indem Sie die Codeschnipsel, in denen Sie SL deklarieren, definieren und verwenden, ausschneiden und hier einfügen. Vielleicht liegt das Problem in der Normalisierung (alle Preise in Aufträgen sollten normalisiert, d.h. auf den Punkt genau gerundet werden). Übrigens, wenn Sie ausdrücklich 20,0 angegeben haben, dann ist das genau der normierte Wert. Und 20*Point ist es nicht. Wenn Sie ihn explizit auf 1,2 gesetzt hätten, würde das auch funktionieren (für buy). Versuchen Sie dies:

Bid-20.0*Point
Ask+20.0*Point

Aber noch einmal: Bid,Ask können auch nicht normalisiert sein.
 
<br/ translate="no"> 1. Sie können überhaupt keinen SL setzen, sondern das Preisniveau selbst dynamisch steuern und den Handel bei Bedarf "schließen". Es geht nur um Symbolik, nicht um Handel. Es geht nur um das Sammeln von Statistiken. In diesem Fall muss jedoch alles manuell und nicht mit einem Prüfgerät durchgeführt werden. Wir müssen also nur ein Skript schreiben, das den Verlauf durchläuft, die Strategie umsetzt und die Ergebnisse in einer Datei sammelt. Das ist nicht schwer, denn 95% des Skripts sind der Text Ihres Expert Advisors.


Das werde ich tun, wie man so sagt, wie immer.


2. Wenn Sie den Tester verwenden, sollte SL in den von Ihnen erteilten Aufträgen gesetzt werden, so wie es in der realen Welt der Fall ist. Nach dem, was Sie geschrieben haben, verstehe ich nicht, wo das Problem liegt. Am einfachsten lässt sich das Problem lösen, indem Sie die Codeschnipsel, in denen Sie SL deklarieren, definieren und verwenden, ausschneiden und hier einfügen. Vielleicht liegt das Problem in der Normalisierung (alle Preise in Aufträgen sollten normalisiert, d.h. auf den Punkt genau gerundet werden). Übrigens, wenn Sie ausdrücklich 20,0 angegeben haben, dann ist das genau der normierte Wert. Und 20*Point ist es nicht. Wenn Sie ihn explizit auf 1,2 setzen, würde das auch funktionieren (für buy)


Das Problem ist, dass es den Fehlercode 130 - falsche Haltestellen - gibt. :о)

Wie knifflig das ist. Gibt es eine Funktion, die die Zahl einfach auf 4 Dezimalstellen rundet?
 
grasn
Ich weiß nicht, wie sich der Kurs in dieser Zeit entwickeln wird, aber es ist fast sicher, dass der Kurs während des Bestehens des Kanals das berechnete Niveau überschreiten wird, vorausgesetzt natürlich, dass zusätzliche Kriterien wie der Hearst-Index funktionieren. Das kann in 20 Minuten, in ein paar Tagen oder in ein paar Monaten geschehen.

Der Kanal ist also während dieses 10-monatigen Handels (bei diesem Drawdown) nicht durchbrochen worden? Aber es war ein starker Kanal :)


Ok, sagte ich mir und gab die folgenden Parameter für SL je nach Auftragsart ein:

Bid-20*Point
Ask+20*Point

Kein einziger Handel, jetzt versuche ich zu verstehen, warum, oder besser gesagt, den Fehlercode zu erfragen.

Schauen Sie sich das Protokoll an. Wenn OrderSend nicht funktioniert, gibt es eine Aufzeichnung des Grundes.