Verwendung von benutzerdefinierten MQL4-Codes im EA-Assistenten

EA Wizard enthält viele nützliche Funktionen, die leicht zu verwenden sind und es Ihnen ermöglichen, schnell Ihren eigenen Expert Advisor zu erstellen. Wenn Sie eine Funktion benötigen, die nicht vorhanden ist, sind Sie nicht aufgeschmissen. In einem solchen Szenario können Sie die benutzerdefinierte Funktion des EA Wizard verwenden.

Die Nutzung dieser Funktion setzt voraus, dass Sie in der Lage sind, einfache Codezeilen von MQL4-Code zu verstehen. Wenn Sie mit keiner Programmiersprache vertraut sind, sollten Sie trotzdem in der Lage sein, eine einfache Lösung zu erstellen, wie wir sie in diesem Tutorial zeigen.

In diesem Tutorial zeigen wir Ihnen, wie Sie einfach die Anzahl der Balken berechnen können, die über einem gleitenden Durchschnittsindikator für eine bestimmte Anzahl von zurückliegenden Balken geschlossen haben. Dieser Prozess erfordert eine Schleife, die zurückgeht und jeden Balken mit einem einfachen Vergleich eines Balkenschlusskurses und des gleitenden Durchschnittswertes überprüft.

Diese Funktion kann sehr nützlich sein, wenn wir einen Markttrend bewerten wollen. Wenn alle ausgewerteten Balken in einem bestimmten Zeitraum über dem gleitenden Durchschnittswert schließen, können wir davon ausgehen, dass sich der Markt in einem Aufwärtstrend befindet. Bei einem Abwärtstrend ist das Gegenteil der Fall.

Beginnen wir also mit der benutzerdefinierten Funktion selbst.

Erstellen von benutzerdefinierten MQL4-Funktionen im EA-Assistenten

Alle benutzerdefinierten Funktionen, die Sie in Ihren EA Wizard-Projekten verwenden möchten, müssen in der Datei CustomFunctions.mq4 abgelegt werden, die sich im EA Wizard-Installationsordner unter dem Code-Ordner befindet.

Sobald Sie Ihre MetaTrader4-Kopie auf Ihrem Computer installiert haben, können Sie diese Datei mit dem MetaEditor-Tool bearbeiten.

Öffnen Sie die Datei CustomFunctions.mq4

Um die Balken zu zählen, die oberhalb des gleitenden Durchschnittsindikators geschlossen haben, verwenden wir diese einfache benutzerdefinierte Funktion:

int getBarCloseAboveAverage(int barsPeriod, int maPeriod) {


int Zähler = 0;


for (int i = 1; i <= barsPeriod; i++) {


if (Close[i] > iMA(NULL, 0, maPeriod, 0, MODE_EMA, PRICE_CLOSE, i))


Gegen++;


}


Zähler zurück; }

Gehen wir die einzelnen Zeilen durch und erklären wir genauer, was jede Zeile bedeutet.

int getBarCloseAboveAverage(int barsPeriod, int maPeriod) { - Diese Zeile definiert unsere benutzerdefinierte Funktion. Der Rückgabetyp ist auf "int" eingestellt, was bedeutet, dass die Funktion eine ganze Zahl zurückgibt, d.h. die Anzahl der Balken, die über unserem gleitenden Durchschnitt geschlossen haben. Die Funktion enthält auch zwei Parameter - barsPeriod eine ganze Zahl, die die Anzahl der Balken angibt, die wir mit dem gleitenden Durchschnitt vergleichen, und maPeriode die eine Periode darstellt, die als gleitende Länge verwendet wird. Die Namen dieser Variablen sind nur innerhalb der Funktion selbst von Bedeutung. Im EA-Assistenten können wir verschiedene Namen für die Eingabewerte verwenden, wie Sie später sehen werden.

int Zähler = 0; - Diese Zeile definiert einen Zähler. Er speichert die Summe der Balken, die unsere Kriterien erfüllen, d.h. die Balken, die oberhalb der gleitenden Durchschnittslinie geschlossen haben

for (int i = 1; i <= barsPeriod; i++) { - Mit dieser Zeile beginnt die Schleife. Die Variable "i" steht für den Bar-Index, den wir gerade auswerten. Wir beginnen mit dem Balken #1 und fahren mit jedem Balken fort, bis alle Balken (barsPeriod) geprüft sind. Jedes Mal erhöhen wir auch den Wert von "i" um 1 (wir gehen zum vorherigen Balken)

if (Close[i] > iMA(NULL, 0, maPeriod, 0, MODE_EMA, PRICE_CLOSE, i)) - Diese Bedingung prüft, ob ein Balken über dem gleitenden Durchschnittswert schließt. Beachten Sie die Variable "i", die wir verwenden, um jeden Balken zu referenzieren, während die Schleife über alle Balken fortschreitet. Wir verwenden auch den exponentiellen gleitenden Durchschnitt (MODE_EMA), wie in der MQL4-Hilfe angegeben https://docs.mql4.com/indicators/ima

Auch wenn Ihnen das zu kompliziert erscheinen mag, ist es doch recht intuitiv, vor allem, wenn der MetaEditor Ihnen auch bei der Vervollständigung des Codes hilft. Siehe den Screenshot.

Sobald die Funktion fertig ist, können wir unsere Arbeit speichern, den EA-Assistenten öffnen und die erstellte Funktion in unserem neuen Expert Advisor verwenden.

Verwendung benutzerdefinierter Funktionen im EA-Assistenten

Nun werden wir einen einfachen Expertenberater erstellen, der die erstellte Funktion verwenden wird. Der erste Schritt besteht darin, Variablen und Eingaben zu definieren. Siehe beigefügtes Bildschirmfoto.

Definition der Eingaben für den Expertenberater

averagePeriod - Diese Eingabevariable steht für den Zeitraum des gleitenden Durchschnitts. Standardmäßig setzen wir sie auf 34

barsTrendPeriod - Diese Eingabevariable steht für die Gesamtanzahl der zu zählenden Balken. Standardmäßig wird sie auf 20 gesetzt.

minBarsUptrend - Diese Eingabevariable steht für die Mindestanzahl von Balken, die über dem gleitenden Durchschnitt liegen müssen. Standardmäßig setzen wir sie auf 15

Wir setzen auch GewinnmitnahmestopLoss auf 20 Pips und lotSize auf 0,1.

Fassen wir das alles in einer einfachen Handelsregel zusammen, die eine Long-Position eröffnet.

Regeln für eine Long-Position

Neben unserer benutzerdefinierten Funktion umfasst die Long-Bedingung auch eine Prüfung, ob wir keine Position auf dem Markt haben. Wenn dies nicht der Fall ist, können wir eine neue Position eröffnen. Außerdem stellen wir sicher, dass die Regel nur ausgewertet wird, wenn ein Balken geschlossen wird (nicht bei jedem Tick), indem wir die Ist die Bar geöffnet ist wahr Funktion.

So richten wir die benutzerdefinierte Funktion ein und nehmen definierte Variablen in den EA-Assistenten auf Benutzerdefinierte Funktion die Sie unter dem Menüpunkt Funktionen Menü.

Benutzerdefinierte Funktion : getBarCloseAboveAverage(barsTrendPeriod, averagePeriod)

Jetzt ist unser Expert Advisor einsatzbereit. Als letzten Schritt müssen wir den Code in MetaTrader 4 exportieren. Hier ist, wie es zu tun:

Exportieren des Strategiecodes

Jetzt können Sie den Expert Advisor im MetaTrader testen und dank der definierten Eingaben ist der Expert Advisor auch für einen Optimierungsprozess bereit. Sie können versuchen, die besten Einstellungen für die Eingabewerte zu finden oder zusätzliche Regeln und Filter für die Handelssignale hinzufügen.

Sie können das EA-Wizard-Projekt hier herunterladen: Balken schließen über EMA.sqw

Abonnieren
Benachrichtigen Sie mich bei
0 Kommentare
Inline-Rückmeldungen
Alle Kommentare anzeigen

Lesen Sie weiter