English 日本語
preview
Modified Grid-Hedge EA in MQL5 (Part III): Optimizing Simple Hedge Strategy (I)

Modified Grid-Hedge EA in MQL5 (Part III): Optimizing Simple Hedge Strategy (I)

MetaTrader 5Handelssysteme | 21 Mai 2024, 12:51
135 0
Kailash Bai Mina
Kailash Bai Mina

Einführung

Willkommen zum dritten Teil unserer Serie „Optimierung einer einfachen Absicherungsstrategie“. In diesem Abschnitt werden wir zunächst einen kurzen Überblick über unsere bisherigen Fortschritte geben. Bislang haben wir zwei Schlüsselkomponenten entwickelt: den Simple Hedge Expert Advisor (EA) und den Simple Grid EA. Dieser Artikel konzentriert sich auf die weitere Verfeinerung des Simple Hedge EA. Unser Ziel ist es, die Performance durch eine Kombination aus mathematischer Analyse und einem Brute-Force-Ansatz zu verbessern, um den effektivsten Weg zur Umsetzung dieser Handelsstrategie zu finden.

Diese Diskussion konzentriert sich hauptsächlich auf die mathematische Optimierung der Simple Hedge-Strategie. Aufgrund der Komplexität und Tiefe der erforderlichen Analyse ist es unpraktisch, sowohl die mathematische Optimierung als auch die anschließende codebasierte Optimierung in einem einzigen Artikel zu behandeln. Deshalb widmen wir uns in diesem Artikel den mathematischen Aspekten, um eine gründliche Untersuchung der Theorie und der Berechnungen hinter dem Optimierungsprozess zu gewährleisten. In den folgenden Artikeln dieser Reihe werden wir uns auf den Codierungsaspekt der Optimierung konzentrieren und praktische Programmiertechniken auf die hier geschaffenen theoretischen Grundlagen anwenden.

Das wollen wir in diesem Artikel behandeln:

  1. Tief in die Optimierung eintauchen: Ein genauerer Blick
  2. Mathematische Optimierung
  3. Schlussfolgerung


Tief in die Optimierung eintauchen: Ein genauerer Blick

Was fällt uns ein, wenn wir das Wort „Optimierung“ sagen? Der Begriff ist ebenso weit gefasst wie kompliziert und wirft oft die Frage auf: „Was genau ist Optimierung?“

Schauen wir uns das mal an. Im Kern bezieht sich die Optimierung auf den Vorgang, den Prozess oder die Methode, etwas zu verfeinern - sei es ein Design, ein System oder eine Entscheidung - bis zu seiner höchsten Stufe der Perfektion, Funktionalität oder Effektivität. Aber seien wir ehrlich: Absolute Perfektion zu erreichen ist eher ein idealistisches Streben. Das eigentliche Ziel? Die Grenzen dessen, was mit den uns zur Verfügung stehenden Mitteln möglich ist, zu erweitern und das bestmögliche Ergebnis anzustreben.

Bei näherer Betrachtung wird deutlich, dass das Gebiet der Optimierung riesig ist und uns unzählige Methoden zur Verfügung stehen. Im Rahmen dieser Diskussion werden wir uns auf die „klassische Absicherungsstrategie“ konzentrieren. Aus der Fülle von Optimierungstechniken werden zwei herausragende Ansätze den Grundstein für unsere Untersuchung bilden:

  1. Mathematische Optimierung: Dieser Ansatz nutzt die schiere Macht der Mathematik zu unserem Vorteil. Stellen Sie sich vor, Sie könnten Gewinnfunktionen, Drawdown-Funktionen und mehr erstellen und diese Konstrukte dann zur Feinabstimmung unserer Strategie auf der Grundlage solider, quantifizierbarer Daten verwenden. Diese Methode erhöht nicht nur die Präzision unserer Optimierungsbemühungen, sondern bietet auch einen klaren, mathematischen Weg zur Verbesserung der Wirksamkeit unserer Strategie.

  2. Brute-Force-Ansatz: Am anderen Ende des Spektrums steht der Brute-Force-Ansatz, der zwar einfach, aber in seinem Umfang erschreckend ist. Bei dieser Methode werden alle denkbaren Kombinationen von Eingaben getestet, und jede einzelne wird einem Backtesting unterzogen, um die bestmögliche Konfiguration zu finden. Das Ziel? Je nach unseren strategischen Prioritäten maximieren wir entweder die Gewinne oder minimieren die Verluste. Aber es ist wichtig, den Elefanten im Raum zu erkennen: die überwältigende Anzahl von Eingabekombinationen. Diese Komplexität macht das Backtesting aller möglichen Szenarien zu einer Herkulesaufgabe, insbesondere bei begrenzten Ressourcen und Zeit.

Hier kommt die Schönheit der Kombination der beiden Ansätze zum Tragen. Indem wir zuerst die mathematische Optimierung anwenden, können wir die Anzahl der Fälle, die wir mit roher Gewalt lösen müssen, erheblich reduzieren. Dies ist ein strategisches Manöver, das es uns ermöglicht, uns auf die vielversprechendsten Konfigurationen zu konzentrieren, wodurch der Brute-Force-Prozess viel überschaubarer und zeitsparender wird.

Im Grunde ist der Weg der Optimierung ein Balanceakt zwischen theoretischer Präzision und praktischer Machbarkeit. Der Beginn der mathematischen Optimierung schafft die Voraussetzungen, um die riesige Menge an Möglichkeiten zu filtern. Wenn wir dann zu Brute-Force übergehen, können wir die verbleibenden Optionen rigoros testen und verfeinern. Zusammen bilden diese Methoden ein schlagkräftiges Duo, das uns zur effektivsten Optimierung unserer klassischen Absicherungsstrategie führt.


Mathematische Optimierung

Wenn man sich in die Welt der mathematischen Optimierung wagt, besteht der erste Schritt darin, einen klaren und umsetzbaren Rahmen zu schaffen. Das bedeutet, dass wir die Variablen herausarbeiten müssen, die einen wesentlichen Einfluss auf unser Ergebnis haben - in diesem Fall den Gewinn. Untersuchen wir die Komponenten, die eine entscheidende Rolle bei der Gestaltung unserer Gewinnfunktion spielen:

  1. Ausgangslage (Initial Position, IP): Eine binäre Variable, bei der 1 für einen Kauf und 0 für einen Verkauf steht. Diese erste Entscheidung legt die Richtung der Handelsstrategie fest.
  2. Ursprüngliche Losgröße (Initial Lot Size, IL): Die Größenordnung der ersten Order innerhalb eines Handelszyklus, die die Grundlage für den Umfang der Transaktionen bildet.
  3. Gewinnmitnahme kaufen (Buy Take Profit, BTP): Die im Voraus festgelegte Gewinnschwelle für Kaufaufträge, die als Zielvorgabe dafür dient, wann Positionen geschlossen und Gewinne gesichert werden sollen.
  4. Gewinnmitnahme verkaufen (Sell Take Profit, STP): Analog dazu ist dies das Gewinnziel für Verkaufsaufträge und markiert den Punkt, an dem Verkaufspositionen geschlossen werden, um Gewinne zu realisieren.
  5. Kauf-Verkaufs-Abstand (Buy-Sell Distance, D): Der räumliche Parameter, der das Intervall zwischen den Ebenen der Kauf- und Verkaufsaufträge definiert und die Einstiegspunkte für den Handel beeinflusst.
  6. Losgrößenmultiplikator (Lot Size Multiplier, M): Dieser Faktor erhöht die Losgröße für nachfolgende Aufträge und führt eine dynamische Anpassung auf der Grundlage des Verlaufs des Handelszyklus ein.
  7. Anzahl der Aufträge (Number of Orders, N): Die Gesamtzahl der Aufträge innerhalb eines Zyklus, die den Umfang der Handelsstrategie widerspiegelt.

Aus Gründen der Klarheit werden diese Parameter in ihrer vereinfachten Form dargestellt, obwohl es erwähnenswert ist, dass einige dieser Variablen in Gleichungen mit tiefgestellter Notation bezeichnet werden.

Mit diesen Parametern als Grundlage können wir nun unsere Gewinnfunktion formulieren. Das Wesen dieser Funktion besteht darin, mathematisch darzustellen, wie unser Gewinn (oder Verlust) durch die Veränderung dieser Variablen beeinflusst wird. Die Gewinnfunktion ist ein Eckpfeiler unseres Optimierungsprozesses, der es uns ermöglicht, die Ergebnisse verschiedener Handelsstrategien in unterschiedlichen Szenarien quantitativ zu analysieren.

Lassen Sie uns nun die Parameter unserer Gewinnfunktion schreiben:

Unsere endgültige Gewinnfunktion wird also wie folgt aussehen:

Auf den ersten Blick mag die Funktion Profit mit ihren mathematischen Ausdrücken und Symbolen abschreckend wirken. Es gibt jedoch keinen Grund, sich einschüchtern zu lassen. Jede Komponente der Gleichung hat eine spezifische Rolle und trägt, wenn sie aufgeschlüsselt wird, zu einem umfassenden Verständnis dafür bei, wie in unserem Handelsrahmen Gewinne erzielt werden.

Jetzt ist es wichtig, die Dynamik der Gewinnberechnung zu verstehen. Von zentraler Bedeutung für dieses Verständnis ist die Unterscheidung zwischen der Hauptgewinnfunktion, die mit p(x) bezeichnet wird, und ihrer Komponente g(x), wobei x die Gesamtzahl der Aufträge oder Positionen darstellt. Diese Unterscheidung ist von entscheidender Bedeutung, denn sie bildet die Grundlage für das Verständnis, wie Gewinne erzielt werden, wenn ein Handelszyklus über x Positionen abgeschlossen wird. Lassen Sie uns dieses Konzept methodisch dekonstruieren, um seine Essenz vollständig zu erfassen.

Angenommen, wir beschließen, den Handelszyklus mit einem einzigen Auftrag abzuschließen. Das Szenario stellt sich wie folgt dar:


In diesem Aufbau nimmt g(x) den Wert an, der auf der Wechselwirkung zwischen der Anzahl der Aufträge (N) und der Ausgangsposition (IP) beruht. Wenn wir zum Beispiel die anfängliche Losgröße (IL) auf 0,01 setzen und für diese Erklärung N gleich 1 lassen und die anfängliche Position (IP) eine Kaufaktion (d.h. IP = 1) darstellt, dann nimmt g(x) den Wert von Buy Take Profit (BTP) an. Daraus ergibt sich, dass unsere Gewinnfunktion p(x) 100 mal 0,01 mal BTP = BTP ist, was symbolisch bedeutet, dass unser Gewinn gleich BTP ist. Diese Illustration verdeutlicht einen wichtigen Punkt: Wir berechnen die Gewinne in Pips, nicht in Währungen. Dieser Ansatz wurde bewusst gewählt, um die Gewinnberechnung für verschiedene Währungen zu verallgemeinern, die Anwendbarkeit unabhängig vom Kontotyp (Mikro- oder Standardkonto) zu gewährleisten und die Gesamtberechnung zu vereinfachen. Der Grund für die Multiplikation der Losgröße mit 100 ist einfach - sie erleichtert die Umrechnung der Losgröße in einen genauen Pip-Wert, ein wesentlicher Schritt für eine genaue Gewinnberechnung.

Betrachten wir nun das Szenario, in dem N auf 2 erhöht wird, was eine neue Ebene der Komplexität einführt:

 

Diese geringfügige Anpassung verkompliziert unsere Gewinnberechnung und lädt zu einer tieferen Untersuchung der zugrunde liegenden Gründe ein, die sich am besten anhand von Beispielen veranschaulichen lassen. Eine entscheidende Komponente dieser Komplexität ist die Einführung der Funktion „floor“, einer mathematischen Operation, die an die Funktion größte, ganze Zahl (Greatest Integer Function, GIF) erinnert, die wir in der Schule lernen. Die Funktion „floor“ dient einem bestimmten Zweck: Bei einem beliebigen numerischen Wert schneidet sie die Dezimalkomponente ab und erzeugt so die größte, vorangehende, ganze Zahl. Für positive Werte ist diese Operation einfach: floor(1,54) = 1, floor(4,52) = 4 usw. Dieser Mechanismus ist integraler Bestandteil unserer Gewinnfunktion und stellt sicher, dass nur ganzzahlige Werte in die Berechnungen einfließen, eine Vereinfachung, die unseren Fokus auf positive Werte lenkt und die Berücksichtigung negativer Werte in diesem Zusammenhang vermeidet.

Der erste Abschnitt unserer Formel beginnt mit der Berechnung der Untergrenze als das -100-fache des Wirkungsgrades (Impact Levels, IL), was durch den Fall veranschaulicht wird, dass IL gleich 0,01 ist. Daraus ergibt sich eine Berechnung von -100 mal 0,01, was gleich -1 ist. Wenn wir dies mit dem Abstand (Distance, D) integrieren, stellt die Gleichung den Verlust von D Pips für jeden Handel dar, der nicht zu einem Gewinn führt, wie in der Handelsstrategie dargelegt. Der nächste Schritt besteht darin, die Untergrenze von 100 mal IL mal Multiplikator (M) zu einer Funktion g(x) zu addieren, die den Take Profit (TP) Wert darstellt, entweder für einen Kauf- oder Verkaufsauftrag. Das Produkt aus IL und M bestimmt die Losgröße für den nachfolgenden (zweiten) Auftrag, und die Multiplikation dieses Produkts mit 100 erleichtert die genaue Berechnung der Pips.

Eine wichtige Frage ist die nach der Notwendigkeit der Bodenfunktion in unserer Gleichung. Zur Verdeutlichung ein Beispiel: IL ist 0,01 und M ist 2, was zu einer Berechnung von 100 mal IL mal M führt, was gleich 2 ist. In diesem Fall ergibt die Anwendung der Floor-Funktion auf 2 den Wert 2, was die Floor-Funktion überflüssig zu machen scheint. Der Sinn der Floor-Funktion wird jedoch in einem anderen Szenario deutlich: Wenn IL bei 0,01 bleibt und M auf 1,5 gesetzt wird, ist das Produkt aus 100 mal IL mal M gleich 1,5. An dieser Stelle ist es wichtig zu wissen, dass die sich ergebende Losgröße von 0,015 nicht zulässig ist, da Makler Losgrößen in Vielfachen von 0,01 verlangen. Die Strategie sieht vor, dass die Auftragsgröße auf 0,01 zurückgeht, wobei die nachfolgenden Losgrößen kontrolliert erhöht werden, um sicherzustellen, dass sie unter den Beschränkungen des Brokers lebensfähig bleiben. Die nächste Losgröße berechnet sich beispielsweise als 0,01 mal 1,5 mal 1,5 gleich 0,0225, was in der Praxis auf 0,02 gerundet wird. Daher wird die Gleichung mit Hilfe der Floor-Funktion an diese betriebliche Realität angepasst, um sicherzustellen, dass Losgrößen wie 0,01 und später 0,02 korrekt dargestellt werden. Diese Anpassung stellt sicher, dass das Modell die pragmatischen Beschränkungen des Handels widerspiegelt und unterstreicht die Notwendigkeit, dass die Floor-Funktion die fraktionierte Erhöhung der Losgrößen gemäß den Richtlinien der Strategie berücksichtigt. Schließlich wird dieser angepasste Wert mit g(x) multipliziert, was entweder dem Kauf-TP oder dem Verkaufs-TP entspricht, wodurch die Parameter der Handelsstrategie weiter in die Gleichungsformulierung integriert werden. Diese detaillierte Aufschlüsselung verdeutlicht die Gründe, die hinter jeder Komponente der Gleichung stehen, und unterstreicht die strategischen Überlegungen, die mit ihrer Konstruktion verbunden sind.

Angenommen, N ist 3, dann erhalten wir einen Gewinn:


In dem Szenario, in dem N auf 3 gesetzt wird, veranschaulicht die Formel eine Situation, in der unter bestimmten Bedingungen ein Gewinn erzielt wird, was zu einem strukturierten Ansatz für die Berechnung der Ergebnisse auf der Grundlage der durch N bezeichneten Anzahl von Aufträgen führt. Das zweite Segment passt diesen Ansatz an, indem g(x) durch D ersetzt wird, was ebenfalls einen Verlust zweiter Ordnung widerspiegelt. Die Unterscheidung im dritten Abschnitt erfolgt durch die Einführung von M^2, was auf einen exponentiellen Anstieg des Multiplikatoreffekts hindeutet, was angesichts des Kontextes einfach ist.

Durch die Erweiterung dieses Rahmens für verschiedene Werte von N wird eine verallgemeinerte Gleichung vorgestellt, die die Dynamik dieser Handelsstrategie umfassend erfasst. Diese Gleichung, die an verschiedene N-Instanzen angepasst werden kann, dient als grundlegendes Modell für das Verständnis des Verlaufs und der möglichen Ergebnisse, wenn die Anzahl der Aufträge steigt.

Die Bestimmung von g(x), die zwischen Buy Take Profit (BTP) und Sell Take Profit (STP) wechselt, hängt von der Anfangsposition (IP) und der Parität von N ab. Dieser binäre Entscheidungsprozess wird elegant in einer bedingten Struktur zusammengefasst, bei der das Ergebnis sowohl von der IP als auch von der numerischen Eigenschaft von N beeinflusst wird, wobei der Schwerpunkt auf seiner Geradzahligkeit oder Ungeradzahligkeit liegt. Dieser Mechanismus gewährleistet eine logische Zuordnung von g(x)-Werten, die mit den strategischen Zielen auf der Grundlage der Marktposition und der Auftragsreihenfolge übereinstimmt.


Der Einsatz von Desmos, einem grafischen Werkzeug, erleichtert die interaktive Erkundung dieser Gleichung, da die Parameter in Echtzeit angepasst werden können, was das Verständnis durch unmittelbare Rückmeldung über Änderungen verbessert. Die Fähigkeit dieses Tools, ganzzahlige Ergebnisse anzuzeigen, ist besonders wertvoll im praktischen Kontext, in dem die Anzahl der Aufträge eine inhärent, diskrete Variable ist.


Die Desmos-Demonstration mit vordefinierten Parametern zeigt das Verhalten des Modells unter Standardbedingungen und zeigt, dass über ein Spektrum von bis zu 10 Orders ein konstanter Gewinn von 15 Pips zu erwarten ist.

Anmerkung: Der Einfachheit halber haben wir die Spreads vorerst ignoriert.

Die Beobachtung der Ergebnisse kann den Wunsch wecken, in diese Strategie zu investieren; es ist jedoch wichtig, Vorsicht walten zu lassen und keine übereilten Entscheidungen zu treffen. Es gibt noch zahlreiche Herausforderungen und Probleme, die gelöst werden müssen, bevor es weitergeht. Um ein umfassenderes Verständnis der Situation zu erhalten, wäre es von Vorteil, eine zusätzliche Spalte in unsere Tabelle aufzunehmen. Bevor wir dies tun, sollten wir uns einen Moment Zeit nehmen, um die Gleichung zu formulieren und aufzuschreiben, die dieser neuen Rubrik zugrunde liegen wird. Dieser vorbereitende Schritt gewährleistet einen klaren und strukturierten Ansatz für die Analyse der Daten und ermöglicht einen fundierten Entscheidungsprozess.


Die Gleichung veranschaulicht den maximal möglichen Drawdown. Zur Verdeutlichung: Wenn der Zyklus beim 10. Auftrag endet, wäre der maximale Drawdown der Betrag, der dem Verlust sehr nahe kommt, wenn der 10. Auftrag ein Verlustgeschäft gewesen wäre. Dies wird in der Gleichung dadurch deutlich, dass „n“ von 0 bis „x-1“ geht, während zuvor „n“ von 0 bis „x-2“ für Verluste vor einem Gewinn ging.

Die vorgestellte Gleichung definiert den maximalen potenziellen Drawdown, ein entscheidendes Konzept für das Verständnis des Risikos bei dieser Strategie. Nehmen wir zum Beispiel an, dass der Zyklus mit der 10. In diesem Zusammenhang kann man sich den maximalen Drawdown als einen Betrag vorstellen, der dem Verlust nahe kommt, der entstehen würde, wenn der 10. Auftrag zu einem Verlust geführt hätte. Die Berechnung des Drawdowns ist in der Gleichung durch die Variable „n“ gekapselt, die von 0 bis x-1 iteriert. In diesem Abschnitt wird der Bereich angegeben, der für die Berechnung der Inanspruchnahme verwendet wird. Dies ist eine Abkehr von der bisherigen Methode der Verlustberechnung, bei der „n“ einen Bereich von 0 bis x-2 durchlief, gefolgt von einem Gewinn. Diese Anpassung der Parameter der Gleichung ermöglicht eine genauere Darstellung des Risikoprofils der Strategie, da das maximal mögliche Verlustszenario berücksichtigt wird, bevor ein potenzieller Gewinn realisiert wird.

Um den maximal möglichen Drawdown mit unseren Standard-Eingabeparametern zu bestimmen, beobachten wir genau, wie sich die Werte der neu eingeführten Variablen bei Änderungen von „x“ anpassen. Dieser Schritt ist entscheidend für das Verständnis der direkten Auswirkung der Variation von „x“ auf den potenziellen Drawdown und gibt Aufschluss über das mit den verschiedenen Szenarien unserer Strategie verbundene Risiko.

Wenn wir den Zyklus mit einem Gewinn beim 10. Auftrag abschließen, sehen wir einem maximalen Drawdown von $15.345 USD entgegen. Diese Zahl ist beträchtlich, vor allem wenn man sie mit dem relativ bescheidenen Ertrag von 15 USD vergleicht. In Anbetracht dieser Dynamik, erhöhen wir den BTP und STP von 15 Pips auf 50 Pips,

Schauen wir mal, wie das ausgegangen ist,

Dies stellt eine erhebliche Veränderung gegenüber unserem vorherigen Szenario dar, in dem unsere Verluste exponentiell anstiegen. Jetzt befinden wir uns in einer Position, in der wir konstant Gewinne erzielen und ein sehr günstiges Risiko-Ertrags-Verhältnis aufweisen. Angesichts solch ermutigender Ergebnisse stellt sich die Frage: Warum sollten wir uns auf ein Ziel von 50 Pips beschränken? Lassen Sie uns das Potenzial einer Ausweitung unseres Ziels auf 100 Pips untersuchen.

Beachten Sie eine wichtige Beobachtung: Die Werte von c(x) bleiben unverändert, während p(x) über alle Werte von x hinweg gestiegen ist. Diese Diskrepanz dürfte jedem Beobachter ins Auge fallen, da die potenziellen Gewinne deutlich höher sind als die Verluste. Man muss sich jedoch fragen, welche Falle dahinter steckt. Stellen Sie sich vor, dass sowohl der BTP als auch der STP auf, sagen wir, 10.000 Pips eingestellt wären. Unter diesen Umständen würde es eine Ewigkeit dauern, bis der Preis diese Ziele erreicht. Dies führt uns zu einer entscheidenden Erkenntnis: Je höher das BTP und das STP, desto geringer sind die Chancen, den Zyklus zu beenden, d. h. entweder das BTP oder das STP zu erreichen. Im Wesentlichen wird dadurch ein verborgenes Element eingeführt, das wir „p“ nennen und das die Wahrscheinlichkeit darstellt, dass ein Zyklus bei x abgeschlossen wird. Eine unterschiedslose Erhöhung von BTP und STP senkt „p“, und je niedriger „p“ ist, desto unwahrscheinlicher ist es, dass der Zyklus abgeschlossen wird. Wenn also p“ minimal ist, werden die erwarteten Gewinne ungeachtet des Gewinnpotenzials möglicherweise nie eintreten. Da wir es hauptsächlich mit dem EURUSD zu tun haben, bei dem eine Schwankung von 100 Pips bereits erheblich ist, haben wir sowohl für BTP als auch für STP ein vorläufiges Limit von 50 Pips festgelegt. Dieses Limit basiert auf Intuition und kann bei Bedarf angepasst werden, um ein effektives Gleichgewicht zwischen Risiko und Ertrag herzustellen.

Die Berücksichtigung von „p“ und die Berechnung des erwarteten Gewinns ist eine komplexe Herausforderung. Während die mathematische Optimierung einen strukturierten Ansatz bietet, kann sie allein nicht „p“ - die Wahrscheinlichkeit des Zyklusabschlusses - bestimmen, was eine Diagrammanalyse für ein detaillierteres Verständnis erfordert. Weitere Komplikationen entstehen dadurch, dass p von Natur aus instabil ist und sich wie eine Zufallsvariable verhält. Es ist wichtig zu erkennen, dass „p“ einen Vektor von Wahrscheinlichkeitswerten darstellt, wobei jedes Element die Wahrscheinlichkeit angibt, dass sich der Zyklus nach einer bestimmten Anzahl von Gesamtaufträgen schließt. Das erste Element des Vektors stellt beispielsweise die Wahrscheinlichkeit dar, den Zyklus mit nur einem Auftrag abzuschließen, und diese Logik lässt sich auf andere Elemente für unterschiedliche Auftragssummen ausweiten. Eine umfassende Untersuchung dieses Konzepts, insbesondere seiner Anwendung und seiner Auswirkungen, wird einen Schwerpunkt beim Übergang zur codebasierten Optimierung im nächsten Teil dieser Reihe bilden.

Bei unserer Analyse haben wir einen wichtigen Faktor übersehen: den Spread. Der Spread spielt in unserer Strategie eine zentrale Rolle und beeinflusst sowohl Gewinne als auch Verluste. Um dies zu berücksichtigen, passen wir unsere Berechnungen an, indem wir bestimmte Terme sowohl von p(x) als auch von c(x) abziehen, um die Spanne in unserer Analyse zu berücksichtigen.


Es ist wichtig anzumerken, dass unsere Anpassung alle Handelsgeschäfte berücksichtigt, von Null bis x-1, da der Spread jedes Geschäft beeinflusst, ob profitabel oder nicht. Der Einfachheit halber behandeln wir den Spread (bezeichnet als S) derzeit als konstanten Wert. Diese Entscheidung wurde getroffen, um unsere mathematische Analyse nicht durch die zusätzliche Variabilität eines schwankenden Spreads zu erschweren. Diese Vereinfachung schränkt zwar die Realitätsnähe unseres Modells ein, ermöglicht es uns aber, uns auf die Kernaspekte unserer Strategie zu konzentrieren, ohne uns durch übermäßige Komplexität zu verzetteln.


Nachdem wir nun s(x) in unsere Berechnungen einbezogen haben, wollen wir die tatsächlichen Auswirkungen des Spreads auf unsere Gewinne quantifizieren. Die Auswirkungen sind beträchtlich, da die Spread-bedingten Verluste mit steigendem x eskalieren und bis zu 32.000 Pips bzw. etwa 3.200 $ erreichen können. Diese Anpassung reduziert nicht nur unsere potenziellen Gewinne um s(x), sondern erhöht auch unsere potenziellen Verluste um den gleichen Betrag, wodurch sich unser Risiko-Ertrags-Verhältnis erheblich verändert. Diese Verschiebung verdeutlicht, wie wichtig die Berücksichtigung des Spreads in unserer strategischen Planung ist, und unterstreicht die Notwendigkeit eines sorgfältigen Managements dieses Faktors bei der Optimierung unserer Absicherungsstrategie.

Wenn wir nun zu unserer letzten Aufgabe kommen und von der „Reduzierung der Fälle für Brute-Force“ sprechen, beziehen wir uns auf den Prozess der selektiven Eliminierung bestimmter Parameterkombinationen, die wahrscheinlich keine vorteilhaften Ergebnisse für unsere Strategie erbringen werden. Dieser Schritt ist für die Optimierung unseres Ansatzes von entscheidender Bedeutung, insbesondere bei der Vorbereitung der codebasierten Optimierung, da wir so unsere Rechenressourcen auf die Erkundung der vielversprechendsten Konfigurationen konzentrieren können.

Betrachten wir zum Beispiel ein Szenario, in dem wir die Parameter BTP (Buy Trigger Point), STP (Sell Trigger Point) und D (Distance) alle auf 15 und M (Multiplier) auf 1,5 setzen.

Wenn wir die Ergebnisse dieser Einstellungen analysieren, stellen wir schnell fest, dass solche Parameter zu unbefriedigenden Ergebnissen führen. Daher ist es offensichtlich, dass die Einbeziehung dieser spezifischen Werte in unsere Strategie oder weitere Optimierungsbemühungen zwecklos wären.

Es stellt sich also die Frage, wie wir solche ineffektiven Parameterkombinationen proaktiv erkennen und beseitigen können. Während meine anfängliche Entdeckung dieser Parameter ein Glücksfall war, ist die systematische Identifizierung und Beseitigung aller suboptimalen Eingaben eine große Herausforderung. Dies erfordert einen methodischen Ansatz, der möglicherweise eine Voranalyse zur Bewertung der Durchführbarkeit verschiedener Parametersätze umfasst, bevor eine umfassende Brute-Force-Optimierung durchgeführt wird. Auf diese Weise können wir den Optimierungsprozess rationalisieren und sicherstellen, dass wir nur die Parameterkombinationen untersuchen, die eine Verbesserung der Effektivität unserer Handelsstrategie versprechen.

Die systematische Identifizierung und Eliminierung suboptimaler Parameterkombinationen in unserem Optimierungsprozess ist eine komplexe Aufgabe, die wir in den folgenden Teilen dieser Serie angehen werden. Dieser Ansatz gewährleistet eine gezielte und effiziente Erkundung der vielversprechendsten Strategien und erhöht damit die Gesamteffektivität unserer Handelsmethodik. Damit hören wir hier auf und fahren im nächsten Teil fort.


Schlussfolgerung

In diesem dritten Teil unserer Serie haben wir uns eingehender mit der Optimierung der Simple Hedge-Strategie beschäftigt. Dabei haben wir uns vor allem mit der mathematischen Analyse befasst und eine grundlegende Vorstellung von der Brute-Force-Methode bekommen, die wir im nächsten Teil anwenden werden.

In den folgenden Artikeln dieser Reihe werden wir von der theoretischen Erforschung zur praktischen codebasierten Optimierung übergehen und die bisher gewonnenen Prinzipien und Erkenntnisse auf reale Handelsszenarien anwenden. Diese Verschiebung verspricht, unsere Strategie stärker in den Mittelpunkt zu rücken und Händlern, die ihre Renditen maximieren und gleichzeitig ein effektives Risikomanagement betreiben wollen, greifbare Verbesserungen und umsetzbare Strategien zu bieten.

Ihre Beteiligung und Ihr Feedback waren während der gesamten Serie von unschätzbarem Wert, und ich möchte Sie ermutigen, uns auch weiterhin Ihre Gedanken und Vorschläge mitzuteilen, wenn wir vorankommen. Gemeinsam optimieren wir nicht nur eine Handelsstrategie, sondern ebnen den Weg für fundiertere, effektivere Handelsentscheidungen, die auch bei Marktvolatilität und Unsicherheit Bestand haben.

Viel Spaß beim Coding! Viel Spaß beim Handeln!



Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/13972

Verständnis von Programmierparadigmen (Teil 2): Ein objektorientierter Ansatz für die Entwicklung eines Price Action Expert Advisors Verständnis von Programmierparadigmen (Teil 2): Ein objektorientierter Ansatz für die Entwicklung eines Price Action Expert Advisors
Lernen Sie das objektorientierte Programmierparadigma und seine Anwendung im MQL5-Code kennen. Dieser zweite Artikel geht tiefer auf die Besonderheiten der objektorientierten Programmierung ein und bietet anhand eines praktischen Beispiels praktische Erfahrungen. Sie lernen, wie Sie unseren früher entwickelten prozeduralen Price Action Expert Advisor mit dem EMA-Indikator und Kursdaten der Kerzen in objektorientierten Code umwandeln können.
Deep Learning GRU model with Python to ONNX  with EA, and GRU vs LSTM models Deep Learning GRU model with Python to ONNX with EA, and GRU vs LSTM models
We will guide you through the entire process of DL with python to make a GRU ONNX model, culminating in the creation of an Expert Advisor (EA) designed for trading, and subsequently comparing GRU model with LSTN model.
Wie man einen einfachen Multi-Currency Expert Advisor mit MQL5 erstellt (Teil 7): Signale von ZigZag und dem Awesome Oszillator Wie man einen einfachen Multi-Currency Expert Advisor mit MQL5 erstellt (Teil 7): Signale von ZigZag und dem Awesome Oszillator
Der Multi-Currency Expert Advisor in diesem Artikel ist ein Expert Advisor für den automatisierten Handel, der den ZigZag-Indikator und den Awesome Oscillator als Signale verwendet.
Advanced Variables and Data Types in MQL5 Advanced Variables and Data Types in MQL5
Variables and data types are very important topics not only in MQL5 programming but also in any programming language. MQL5 variables and data types can be categorized as simple and advanced ones. In this article, we will identify and learn about advanced ones because we already mentioned simple ones in a previous article.