Diskussion zum Artikel "Entwicklung eines selbstanpassenden Algorithmus (Teil II): Effizienzverbesserungen" - 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
Es ist interessant zu sehen, wie sinnvolle Einstellungen gewählt wurden. Das ist ein ganzes Thema.
Es gibt mehrere wichtige Modi. Zum Beispiel, um Positionen bei jeder Kerze zu öffnen oder mit einem Skip oder nur wenn der Preis für Verkaufspositionen gestiegen oder für Kaufpositionen gefallen ist. Ich habe diese Modi ausprobiert und die Ergebnisse verglichen. Wir beginnen mit dem Modus der Positionseröffnung bei jeder Kerze. Wenn der Gewinn stark fällt, aber der Drawdown nicht stark fällt, dann ist der Modus schlecht. Zum Beispiel fiel der Gewinn um das 2fache und der Drawdown um das 1,1fache. Dieser Modus ist nicht gut. Wenn jedoch der Gewinn um das 2fache und der Drawdown um das 1,5fache gesunken ist, betrachten wir die maximale Anzahl der Geschäfte in der Serie. Wenn die maximale Anzahl der Geschäfte deutlich gesunken ist, z.B. ebenfalls um das 1,5-fache, kann sich dies positiv auf die Stabilität in der Zukunft auswirken. Das heißt, der Modus ist im Moment nicht beeindruckend, aber wir wissen, dass eine große Anzahl von Geschäften gefährlicher für das Depot ist. Wir finden also den optimalen Modus und belassen ihn. Diese Modi funktionieren für jedes Instrument gleichermaßen, da sie Merkmale des Algorithmus selbst sind. Ich werde also den Modus des Überspringens von Candlesticks verwenden, um Positionen zu eröffnen. Dies wird mit allen Betriebsarten durchgeführt. Wir werden sehen, welcher Modus für die aktuelle Aufgabe am interessantesten ist.
Ich optimiere die Parameter durch eine vollständige Suche. Zum Beispiel setze ich die minimale Anzahl der Candlesticks auf 30, die maximale auf 300 und optimiere die minimale Anzahl der Candlesticks in 2er Schritten, während die maximale Anzahl stabil bleibt. Darüber hinaus lege ich die Anzahl der zu analysierenden Stichproben fest. Ich beginne mit 1, das Maximum liegt bei 30. Und ich optimiere den Prozentsatz für die Eröffnung. Ich lege den Gewinn beim Schließen auf einen festen Wert von 1ATR fest. Nachdem die Optimierung abgeschlossen ist, schaue ich mir die Parameter an, bei denen die Stabilität beginnt. Es funktioniert so: Je höher der Eröffnungsprozentsatz, je höher die Mindestanzahl der Kerzen und je höher die Anzahl der Stichproben, desto besser ist die Qualität des Signals, aber desto geringer ist die Rentabilität. Deshalb finde ich die minimal stabilen Parameter und füge sie dann der Reserve hinzu. Ich habe zum Beispiel festgestellt, dass der Kerzenbereich 58-300, der Prozentsatz 58 und die Anzahl der Stichproben 7 stabile Parameter mit einem angemessenen Verhältnis zwischen Risiko und Rentabilität sind. Also erhöhe ich die Mindestanzahl der Kerzen auf 68-300, erhöhe den Prozentsatz um eins, 59, füge bis zu 9 Stichproben hinzu und prüfe, wie stabil es funktioniert, wenn ich mich nicht irre, gibt es eine Reserve in der Zukunft für Schwankungen der Preisreihenparameter, es ist gut, ich lasse die Einstellungen.
Jetzt müssen wir die Rentabilität verschärfen. Je kleiner der ATR-Koeffizient für die Gewinnmitnahme ist, desto stabiler ist er. Daher beginne ich mit der Optimierung dieses Parameters. Von 1 geht bereits, also versuchen wir es von 1 bis 3 mit einem Schritt von 0,1. Wir sehen, dass mit steigendem Wert der Gewinn wächst, aber an einem bestimmten Punkt verschwindet die Stabilität. Bis zu einem Wert von 1,5 ist er stabil. Dann lassen wir diese 0,5 Kerzen für die Veränderung der Markteigenschaften stehen und lassen es mit dem Wert von 1 arbeiten.
Es gibt hier noch einen weiteren Punkt. Wir handeln mit Kerzen, und ein Gewinn von 1 Kerze pro Position ist normal, insbesondere wenn wir nicht bei jeder Kerze eröffnen. Aber es gibt einen Spread, dessen Größe wir verstehen müssen. Eine Kerze hat eine Größe von 0,0015, und der Spread beträgt im Durchschnitt 0,0001. 0.0001/0,0015=0,066. 6,6 % des Gewinns aus der Kerze wird durch den Spread aufgefressen. Es ist also besser, den Gewinn nicht mit 1ATR (100%), sondern mit 1-0,066=0,93 zu machen. Ich werde aufrunden, um eine Marge nach unten zu haben, und ATR = 0,9 (90%) ist ein normaler Wert.
Das ist alles, worüber ich schreibe, Sie müssen das Muster, das Sie verwenden, sehr gut verstehen, um es einfach zu machen, mit den Ergebnissen zu arbeiten. Ich verwende keine abstrakten Indikatorwerte, sondern ganz spezifische Merkmale, weil sie sich auf diese Weise logisch analysieren lassen.
In einem fertigen, ausgefeilten Produkt sollte es ein Minimum an Einstellungen geben. Aber bei einem experimentellen Produkt fängt man normalerweise mit einer großen Anzahl an, versteht allmählich die Zusammenhänge, optimiert oder legt viele Parameter fest. Beim letzten Indikator habe ich aus 4 Parametern 2 gemacht. Und in kodobase ist es nur der Code für Experimente.
Was hier wichtig ist, ist das, was im Endprodukt für den Verbraucher ist. Ich verkaufe nicht diesen Roboter (obwohl es könnte und es ist besser als die meisten der Markt) Aber ich verstehe, dass der Käufer nicht verstehen, was es zu was, ich habe keine Illusionen. Wenn Sie sowohl ein Entwickler und ein Händler sind, ist das Endprodukt in ständiger Modifikation Modus. Man macht eine Version, verfeinert sie, sie wird gehandelt, während sie gehandelt wird, macht man eine andere, entfernt etwas, fügt etwas hinzu, am Ende ist die nächste Version wieder stabil, aber man muss die Schönheit kämmen.... Es macht Sinn, wenn man ein Team von 10 Leuten hat, aber wenn man ein/zwei ist, ist es besser, Ressourcen in die Entwicklung zu stecken.
Mit anderen Worten, für alles, worüber ich schreibe, müssen Sie das Muster, das Sie verwenden, sehr gut verstehen, damit es einfach ist, mit den Ergebnissen zu arbeiten. Ich verwende keine abstrakten Indikatorwerte, sondern ganz spezifische Merkmale, weil sie auf diese Weise logisch analysiert werden können.
Danke, das ist sehr klar.
So eine sinnvolle manuelle Optimierung, und manchmal mit einem kompletten Overkill)
Warum?
Weil FOREX....
Übrigens, ich habe 48 Einstellungen in meinem FORTS Expert Advisor (zusammen mit den Chart-Parametern)
Die tatsächliche Rendite ist niedriger als die berechnete, weil der Test mit überschätzten Spreads durchgeführt wurde und der Algorithmus so funktioniert, dass die Rendite umso höher ist, je höher der Spread ist. Die Situation ist nicht paradox, die Stabilität nimmt mit steigendem Spread ab.
Maxim, vielen Dank für die Artikel!
Bitte kommentieren Sie das Hervorgehobene. Ich kann mir keine Situation vorstellen, in der der Kauf zu einem höheren Preis und der Verkauf zu einem niedrigeren Preis zu einer höheren Rendite führt (es sei denn, es handelt sich um die Rendite eines Brokers, natürlich).
Maxim, vielen Dank für die Artikel!
Bitte kommentieren Sie den hervorgehobenen Artikel. Ich kann mir keine Situation vorstellen, in der der Kauf zu einem höheren Preis und der Verkauf zu einem niedrigeren Preis zu einer höheren Rendite führen würde (es sei denn, wir sprechen von der Rendite des Maklers).
Es ist ein Paradoxon.) Das liegt an der Art und Weise, wie der Gewinn kontrolliert wird. Er wird in Punkten vom Eröffnungskurs bis zum Schlusskurs kontrolliert. Wenn die Spanne klein ist, überschreitet der Gewinn den Schwellenwert und die Serie wird abgeschlossen. Wenn die Spanne jedoch groß ist, reicht der Gewinn möglicherweise nicht aus, um die Schließungsbedingungen auszulösen, und die Serie wird fortgesetzt. Wenn die Serie fortgesetzt wird, werden neue Positionen eröffnet. Und da der durchschnittliche Gewinn bei offenen Positionen kontrolliert wird, gilt: je mehr Positionen, desto mehr Gewinn. Es zeigt sich also, dass es bei einem größeren Spread mehr Positionen und damit mehr Gewinn gibt. Aber ein großer Spread beeinträchtigt die Stabilität. Je mehr Positionen, desto höher das Risiko, mit einem Verlust abzuschließen.
Verstanden, danke.
Logischer wäre es natürlich, die Bedingungen für das Schließen einer Serie korrekt zu formulieren. So dass sie nicht so sehr vom Spread abhängen.
Aber mir ist schon klar, dass der nächste Schritt die Umstellung auf MT5 ist. Ich werde das weiter beobachten.
Verstanden, danke.
Logischer wäre es natürlich, die Bedingungen für den Abschluss einer Serie korrekt zu formulieren. Damit sie nicht so sehr von der Spanne abhängen.
Aber mir ist schon klar, dass der nächste Schritt die Umstellung auf MT5 ist. Ich werde das weiter beobachten.
MT5 + MOEX
Verstanden, danke.
Logischer wäre es natürlich, die Bedingungen für den Abschluss einer Serie korrekt zu formulieren. Damit sie nicht so sehr von der Spanne abhängen.
Aber mir ist schon klar, dass der nächste Schritt die Umstellung auf MT5 ist. Ich werde es im Auge behalten.
Guten abend.
Ich vermute, dass in Zeile 256 Zeichen 87 einen Fehler\ einen Tippfehler gemacht hat, statt "-" sieht sehr gut "=" aus.
Bitte bestätigen Sie, ich werde es selbst zu korrigieren, oder vielleicht einige versteckte Bedeutung, die ich nicht verstehe, Fehler nicht brennen, brennt als Warnung.