AI Trading Tutorial - MQL5 iTrix Mit Trailing Stops
Автор: MQL5TUTORIAL.DE
Загружено: Дата премьеры: 19 апр. 2025 г.
Просмотров: 31 просмотр
mql5tutorial.de/?s=itrix
In diesem Video werden wir einen Expert Advisor erstellen, der den Trix-Indikator für Handelsentscheidungen nutzt. Sehen wir uns an, wie wir das machen können. Wir starten Metaeditor, indem wir auf ein kleines Symbol klicken oder F4 drücken.
Der erste Teil unseres Codes enthält die Klasse CTrade aus der Standardbibliothek. Diese Klasse bietet vereinfachte Handelsmethoden wie PositionOpen und PositionModify, die wir zur Verwaltung unserer Handelsoperationen verwenden werden. Wir instanziieren ein CTrade-Objekt namens Trade, das alle unsere Handelsoperationen, einschließlich der Positionsverwaltung, abwickeln wird.
Als nächstes definieren wir die Parameter für unsere Strategiekonfiguration. Diese Parameter können in den Eigenschaften des Expert Advisors angepasst werden. Der Parameter LookbackBars wird auf 50 gesetzt, was den historischen Bereich für Höchst- und Tiefstwerte angibt, den wir analysieren werden, so dass wir auf eine bis tausend Kerzen zurückblicken können. Der Parameter MinCandlesBack ist auf 5 gesetzt, das heißt, wir benötigen ein Mindestalter von fünf bis fünfzig Kerzen für gültige Hochs und Tiefs. Der Parameter TrailingOffset wird auf 10.0 gesetzt, der den Sicherheitsabstand für den Trailing-Stop in Punkten definiert, mit einer Spanne von eins bis zwanzig. Der Parameter TrixPeriod wird auf 14 gesetzt, der den Zeitraum für den Trix-Indikator angibt. Schließlich wird der Parameter TrixPrice auf PRICE CLOSE gesetzt, was anzeigt, dass wir den Schlusskurs für die Trix-Berechnungen verwenden werden.
Anschließend deklarieren wir einige globale Variablen und Handles, um den Status zwischen Ticks und Indikatordaten zu speichern. Die Variable trixHandle enthält das Handle des Trix-Indikators, während trixBuffer ein Array ist, in dem die Trix-Werte gespeichert werden. Das Array priceData enthält die Kursdaten Open, High, Low und Close. Wir haben auch zwei boolesche Variablen, prevBullishSignal und prevBearishSignal, die den vorherigen Status der bullischen und bärischen Signale verfolgen werden.
Die Funktion OnInit wird einmal beim Start des Expert Advisors ausgeführt. In dieser Funktion erstellen wir das Handle des Trix-Indikators mit Hilfe der eingebauten Funktion iTriX. Wir konfigurieren die Arrays trixBuffer und priceData als Zeitreihen und stellen sicher, dass die neuesten Daten bei Index Null liegen. Diese Ausrichtung ermöglicht es uns, mit den Daten in einem natürlichen Zeitfluss zu arbeiten. Schließlich geben wir den Erfolgscode INIT SUCCEEDED zurück, um anzuzeigen, dass die Initialisierung erfolgreich war.
Als nächstes definieren wir Funktionen zum Öffnen von Positionen. Die Funktion OpenBuyPosition ist für die Ausführung einer Kauforder zuständig. Sie ruft den aktuellen Ask-Preis mithilfe der Funktion SymbolInfoDouble ab und ruft dann die Methode PositionOpen der Klasse CTrade auf. Zu den Parametern dieser Methode gehören das Symbol des Finanzinstruments, der Auftragstyp ORDER TYPE BUY für eine Long-Position, die Positionsgröße von 0,10, was bedeutet, dass wir 10 Mikro-Lots kaufen, der Einstiegskurs zum aktuellen Ask-Preis und sowohl der anfängliche Stop-Loss als auch der Take-Profit sind auf Null gesetzt, was bedeutet, dass sie deaktiviert sind. Ein Kommentar Trix Position ist ebenfalls zur Identifizierung enthalten.
Die Funktion OpenSellPosition funktioniert ähnlich, allerdings für Verkaufsaufträge. Sie ruft den aktuellen Bid-Preis ab und ruft die Methode PositionOpen auf, wobei der Auftragstyp auf ORDER TYPE SELL für eine Short-Position eingestellt ist. Die Parameter sind dieselben wie bei der Kauffunktion, wobei die Positionsgröße weiterhin 0,10 Lots beträgt.
Die Funktion OnTick ist die Kernlogik unserer Strategie und wird bei jedem Tick ausgeführt. In dieser Funktion rufen wir zunächst historische Kursdaten für die Analyse ab, indem wir mit der Funktion CopyRates die H1-Kerzendaten für den Rückblickzeitraum kopieren. Zu den Parametern gehören das Symbol, der Zeitrahmen, die Startposition, die Anzahl der zu kopierenden Kerzen und das Ziel-Array, in dem die Daten gespeichert werden. Außerdem laden wir mit der Funktion CopyBuffer die Trix-Werte aus dem Indikatorpuffer in das Array trixBuffer.
Als nächstes überprüfen wir den Status der offenen Positionen. Wir initialisieren eine boolesche Variable hasOpenPosition auf false und setzen den currentPositionType auf POSITION TYPE BUY als Standardwert. Anschließend gehen wir alle offenen Positionen in umgekehrter Reihenfolge durch, um die relevanten Positionen zu finden. Für jede Position ermitteln wir die eindeutige Ticketnummer und prüfen, ob sie zu dem aktuellen Symbol gehört. Ist dies der Fall, markieren wir, dass eine offene Position gefunden wurde und speichern den Typ der aktuellen Position. Wir verlassen die Schleife, nachdem wir die erste passende Position gefunden haben.

Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: