English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
Lernen Sie, wie Sie ein Handelssystem mit Hilfe von ADX entwickeln

Lernen Sie, wie Sie ein Handelssystem mit Hilfe von ADX entwickeln

MetaTrader 5Handel | 9 Mai 2022, 08:10
538 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Einführung

In diesem Artikel wird ein neues technisches Handelsinstrument vorgestellt, das eines der nützlichsten und aussagekräftigsten Instrumente ist, das uns helfen kann, besser zu handeln und die Marktbewegung zu verstehen. Da eine der nützlichsten Eigenschaften der technischen Indikatoren darin besteht, dass sie uns zeigen können, was die Preise nicht zeigen können, und dies auf der Berechnung für jeden Indikator basiert, ist einer dieser nützlichen Indikatoren der durchschnittliche Richtungsindex (ADX) Indikator. Wir werden diesen Indikator im Detail lernen, um ihn gut zu verstehen und zu lernen, wie wir ihn einfach durch eine einfache Strategie nutzen können, denn wenn wir etwas tiefgründig lernen, werden wir in der Lage sein, mehr Einsichten zu erhalten und wir können ihn besser nutzen.

Das werden wir anhand der folgenden Themen lernen:

  1. ADX Definition
  2. ADX Strategie
  3. Blaupause für die ADX-Strategie
  4. ADX Handelssystem
  5. Schlussfolgerung

Im Kapitel ADX Definition werden wir im Detail diskutieren, was ist der Average Directional Index (ADX, durchschnittliche Richtungsindex), was misst er, und wie können wir ihn manuell berechnen, um in der Lage sein, ihn in seiner Tiefe zu verstehen, damit wir ihn profitabel nutzen können. Dann, nachdem wir den Indikator und seine Funktionsweise gut verstanden haben, werden wir eine einfache Strategie lernen, die wir in unserem Handel einsetzen können, und diese wird nach dem Thema ADX-Strategie bekannt sein. Und dann in das Thema der ADX-Strategie Blaupause werden wir lernen, wie man eine Blaupause zu entwerfen, um uns zu helfen, es zu schreiben, wie ein Code, um ein Trading-System für diese Strategie zu entwerfen. Dann werden wir lernen, wie man ein Handelssystem mit dieser Strategie zu schreiben und dies wird durch das Thema der ADX Handelssystem sein.

Wir werden die Handelsplattform MetaTrader 5 und den MetaQuotes Spracheditor verwenden, der in MetaTrader 5 integriert ist und den Sie über den folgenden Link herunterladen können: https://www.metatrader5.com/de/download

Nachdem Sie den MetaTrader 5 heruntergeladen und installiert haben, finden Sie die Handelsplattform wie in der folgenden Abbildung dargestellt:

MT5 

Ich empfehle Ihnen, alles in diesem Artikel selbst anzuwenden, da Sie dadurch Ihre Fähigkeiten schnell entwickeln und ein tiefes Verständnis für das Thema erlangen. Übung ist ein wichtiger Schlüssel für jede Entwicklung. Es ist also besser, wenn Sie versuchen, jedes Konzept anzuwenden und es selbst zu testen, denn wir werden lernen, wie man ein Handelssystem mit einem technischen Werkzeug entwickelt, und wir werden das mit MQL5 tun, indem wir einige Codes schreiben, um einen Expert Advisor oder ein Programm zu erstellen, das uns hilft, gut zu handeln. Wenn Sie das nicht wissen, können Sie ein Demokonto über den MetaTrader 5 selbst eröffnen, indem Sie im MetaTrader 5-Terminal auf die Registerkarte Datei --> Konto eröffnen --> Sie können den Namen Ihres Brokers eingeben, um dieses Demokonto über ihn zu eröffnen, oder Sie wählen MetaQuotes --> Weiter --> Wählen Sie Demokonto eröffnen, um mit virtuellem Geld ohne Risiko zu handeln --> Weiter --> Geben Sie Ihre Daten ein und bestimmen Sie die Kontobedingungen, dann setzen Sie ein Häkchen neben Ich stimme zu --> Weiter --> dann finden Sie Ihre Anmeldedaten für das Demokonto --> Beenden.

Sie können dieses Konto nun für den virtuellen Handel nutzen, indem Sie es öffnen, indem Sie auf die Registerkarte "Datei" klicken --> Handelskonto eröffnen --> geben Sie Ihre Demokonto-Anmeldedaten ein und drücken Sie auf "OK".

Haftungsausschluss: Alle Informationen dienen nur zu Bildungszwecken und sind nicht für Handelszwecke oder Beratung gedacht. Alle Informationen garantieren kein Ergebnis. Wenn Sie sich entscheiden, diese Materialien auf einem Ihrer Handelskonten zu verwenden, tun Sie dies auf eigenes Risiko und sind allein dafür verantwortlich.

Nun, lassen Sie uns beginnen, ein neues Werkzeug zu lernen, das einen Unterschied in unseren Handelsergebnissen machen kann, um besser zu sein.


ADX Definition

In diesem Teil werden wir über einen der populärsten Indikatoren in der Welt des technischen Handels im Detail sprechen, um zu wissen, was er ist, was er misst und wie wir ihn berechnen können, um ihn gut zu verstehen, damit wir ihn mit den verfügbaren Strategien oder sogar mit neuen Ideen um ihn herum gut nutzen können. Dieser Indikator ist der durchschnittliche Richtungsindex (ADX), er wurde von Welles Wilder entwickelt und er misst den Trend und bestätigt, ob es einen Trend gibt oder nicht, denn nach seiner Berechnung vergleicht er die Handelsspanne für einen Zeitraum mit der Handelsspanne für den vorherigen Zeitraum.

Als Ergebnis dieses Vergleichs können wir feststellen, dass wir einen Trend haben:

  • Einen Anstieg oder Rückgang (positive oder negative Richtungsbewegung).
  • Kein Anstieg oder Rückgang.
  • Anstieg und Rückgang.

Eine positive Richtungsbewegung bedeutet, dass der Höchststand einer Periode den Höchststand der vorangegangenen Periode übersteigt, und ihr Symbol ist (+DM).

Das folgende Bild zeigt uns, wie es auf dem Chart durch die Preisaktion sein kann:

+DM

Umgekehrt bedeutet eine negative Richtungsbewegung, dass das Tief einer Periode das Tief der vorangegangenen Periode übersteigt, und das Symbol ist (-DM).

Das folgende Bild zeigt uns, wie es auf dem Chart durch die Preisaktion sein kann:

-DM

Wenn wir keine positive Richtungsbewegung und keine negative Richtungsbewegung haben, bedeutet dies, dass das Hoch das vorherige Hoch und das Tief das vorherige Tief nicht überschritten hat.

Das folgende Bild zeigt uns, wie es auf dem Chart durch die Preisaktion sein kann:

Kein +DM, kein -DM

Wenn wir sowohl eine positive Richtungsbewegung als auch eine negative Richtungsbewegung haben, bedeutet dies, dass das Hoch das vorherige Hoch über- und das Tief das vorherige Tief unterschritten hat.

Das folgende Bild zeigt uns, wie es auf dem Chart durch die Preisaktion sein kann: 

 +DM-DM

Lassen Sie uns wissen, wie wir es berechnen können, da es uns mehr Einblicke geben wird. Im Folgenden finden Sie die Schritte zur Berechnung des ADX, wobei Sie beachten müssen, dass alle Werte absolut sein müssen:

1- berechnet von +DM und -DM:

In diesem Schritt müssen wir feststellen, ob es eine Bewegung nach oben oder unten für die aktuelle Bewegung im Vergleich zu der vorherigen gibt. Wir werden also zwei Dinge berechnen:

  • (+DM) bezieht sich auf eine positive gerichtete Bewegung, wenn es eine Aufwärtsbewegung gibt. 
Sie wird berechnet durch (+DM = aktueller Höchststand - vorheriger Höchststand)
  • (-DM) bezieht sich auf eine negative gerichtete Bewegung, wenn es eine Abwärtsbewegung gibt. 
Sie wird wie folgt berechnet: (-DM = aktuelles Tief - vorheriges Tief)

Wir werden also jede berechnete Periode überprüfen und feststellen, ob sie +DM, -DM oder etwas anderes ist.

  • Wenn wir +DM haben, also:
+DM=n
-DM = 0
  • Wenn -DM vorliegt, also:

-DM = n

+DM = 0

In einigen Fällen können wir andere Szenarien finden, in denen es keine Werte für (+DM und-DM) gibt oder wir können Werte für beide (+DM und-DM) finden, und das Folgende zeigt, wie wir damit umgehen können:

  • Wenn wir keine (+DM und-DM) haben, also:

+DM = 0

-DM = 0

kein DM

  • Wenn wir beides haben (+DM und -DM), dann vergleichen wir zwischen +DM und -DM und berücksichtigen den größten Wert oder ignorieren ihn, wenn es gleiche Werte gibt:
+DM>-DM = es wird nur +DM berücksichtigt,

 +DM größer

+DM<-DM = es wird nur -DM berücksichtigt

-DM größer

+DM=-DM = es werden beide ignoriert

+DM gleich -DM

2- Berechnung des True Range (TR):

In diesem Schritt und nach der Berechnung von DM, berechnen wir die (TR) und es wird der größte Wert aus den folgenden sein:

  • Die Differenz zwischen dem aktuellen Hoch und Tief.
  • Die Differenz zwischen dem aktuellen Hoch und dem vorherigen Schlusskurs.
  • Die Differenz zwischen dem aktuellen Tief und dem vorherigen Schlusskurs.
3- Berechnung der Summe der 14 berechneten Balken (+DM, -DM, und TR)

Nach der Berechnung der ersten 14 berechneten Balken (+DM, -DM und TR) werden wir die folgenden Formeln verwenden, um die folgenden Werte nach 14 zu berechnen:

+DM 15 = (vorherige +DM - (vorherige +DM/14)) + aktuelle +DM

-DM 15 = (vorige -DM - (vorige -DM/14)) + aktuelle -DM

TR 15 = (vorheriger TR - (vorheriger TR/14)) + aktuelles TR

4- Berechnung von +DI und -DI für 14 Balken
+DI 14 = 100*(+DM14/TR14)
-DI 14 = 100*(-DM14/TR14)

5- Berechnung der Differenz von +DI und -DI

DI 14 Diff = (+DI 14) - (-DI 14)

6- Berechnung der Summe von +DI und -DI

DI 14 Summe = (+DI 14) + (-DI 14)

7- Berechnung von DX

DX = 100*((Differenz zwischen +DI und -DI)/(Summe von +DI und -DI))
8- Berechnung des ADX
ADX = Durchschnitt der 14 Werte des DX

Mit den vorangegangenen Schritten können wir den ADX berechnen und nun ein Beispiel zur Anwendung dieser Schritte sehen, wenn wir die folgenden Daten haben:

Tag Hoch Niedrig Schlusskurs
1 110 90 100
2 140 120 130
3 160 120 140
4 150 110 130
5 140 100 130
6 150 130 140
7 170 150 160
8 180 160 170
9 170 150 155
10 170 130 140
11 180 155 160
12 190 175 180
13 220 190 190
14 230 200 200
15 215 205 210
16 200 190 200
17 195 180 190
18 195 180 185
19 210 185 195
20 220 190 200
21 233 195 208
22 246 200 216
23 258 205 223
24 271 210 231
25 283 215 238
26 296 220 246
27 308 225 253
28 321 230 261
29 333 235 268
30 346 240 276

Berechnen wir nun den ADX für die vorherigen Daten:

1- berechnet von +DM und -DM:

+DM = aktuelles Hoch - vorheriges Hoch

-DM = aktuelles Tief - vorheriges Tief

Beispiel - DM

2- Berechnung des TR:

Es wird der größte Wert aus den folgenden Werten sein:

  • Die Differenz zwischen dem aktuellen Hoch und Tief.
  • Die Differenz zwischen dem aktuellen Hoch und dem vorherigen Schlusskurs.
  • Die Differenz zwischen dem aktuellen Tief und dem vorherigen Schlusskurs.

Das folgende Bild ist für TR nach der Berechnung:

Beispiel - TR

3- Berechnung der Summe der 14 berechneten Balken +DM, -DM, und TR:

+DM 14 = Sum +DM 1(day 2: day 15)

-DM 14 = Sum -DM 1(day 2: day 15)

TR 14 = Sum TR (day 2: day 15)

Beispiel - 14 DM-TR

4- Berechnung von +DI und -DI von 14 Balken und die erste Berechnung erfolgt ab dem 15. Tag, da wir 14 DM benötigen, um 14 DI zu berechnen:

+DI14 = 100*(+DM14/TR14)

-DI14 = 100*(-DM14/TR14)


5- Berechnung der Differenz von +DI und -DI

DI 14 Diff = (+DI 14) - (-DI 14)

6- Berechnung der Summe von +DI und -DI

DI 14 Summe = (+DI 14) + (-DI 14)

DI14 - Diff und Sum

7- Berechnung des DX:

DX = 100*((Differenz zwischen +DI und -DI)/(Summe von +DI und -DI))


DX

8- Berechnung des ADX und die erste Berechnung wird die von 28 sein, da wir mehr 14 Tage benötigen, um den ADX zu berechnen:

ADX = Durchschnitt der 14 Perioden des DX --> durchschnittlicher DI (Tag 15: Tag 28)


ADX

Jetzt haben wir den ADX-Indikator manuell berechnet, aber das ist nicht nötig, da er in MetaTrader 5 integriert ist. Wir haben nur gelernt, wie wir ihn berechnen können, um unser Verständnis für den ADX-Indikator und seine Funktionsweise zu vertiefen. Wenn wir ihn in den Chart einfügen wollen, müssen wir ihn nur unter den verfügbaren Indikatoren im Handelsterminal auswählen (Einfügen --> Indikator --> Trend --> Average Directional Movement Index) und im Folgenden erfahren Sie, wie wir das machen:

ADX einfügen

Nachdem Sie "Average Directional Movement Index" ausgewählt haben, erscheint das folgende Fenster:

ADX-Fenster

Dieses Fenster ist für die Parameter der ADX-Indikatoren und sie sind die gleichen wie die folgenden:
  1. um die gewünschte Periodenlänge zu bestimmen,
  2. um die Farbe der ADX-Linie zu bestimmen,
  3. um den Typ der ADX-Linie zu bestimmen,
  4. um die Dicke der ADX-Linie zu bestimmen,
  5. um die Farbe der +DI-Linie zu bestimmen,
  6. um den Typ der +DI-Linie zu bestimmen
  7. um die Dicke der +DI-Linie zu bestimmen,
  8. um die Farbe der -DI-Linie zu bestimmen,
  9. um den Typ der -DI-Linie zu bestimmen,
  10. um die Dicke der -DI-Linie zu bestimmen.

Nachdem Sie die ADX-Parameter festgelegt und auf OK geklickt haben, wird der ADX an den Chart angehängt; die folgende Abbildung zeigt ein Beispiel dafür:

ADX angehängt

ADX Strategie

In diesem Teil werden wir einfache Strategien besprechen, die durch den ADX-Indikator verwendet werden können. Ich möchte hier betonen, dass wir nur einige einfache Strategien für den ADX-Indikator präsentieren. Sie müssen wissen, dass viele Strategien mit Hilfe des ADX verwendet werden könnten, von einfachen bis komplizierten, aber in diesem Artikel behandeln wir nur einfache Strategien, um das Konzept hinter dem Indikator zu verstehen, und um zu lernen, wie man ein Handelssystem auf der Grundlage des Konzepts erstellt.

Basierend auf dem Konzept, das hinter der Berechnung des ADX-Indikators steht, zeigt er an, ob es einen Trend gibt oder nicht, unabhängig von der Art des Trends (aufwärts oder abwärts). Wenn sich die ADX-Kurve nach oben bewegt, bedeutet dies, dass es einen Trend gibt, und umgekehrt, wenn sich die ADX-Kurve nach unten bewegt, bedeutet dies, dass es keinen Trend gibt. Aber zuerst müssen wir den Trend definieren, und das wird wie folgt aussehen:

Trend-Definition:

Zu Ihrer Information: Die Preisaktion ist sehr wichtig, da sie uns den Trendtyp zeigt, so wie wir wissen, dass es drei Arten von Trends gibt (Aufwärtstrend, Abwärtstrend und Seitwärtstrend).

Aufwärtstrend: Dies ist die Marktrichtung oder der Trend, bei dem wir sehen können, dass die Preise höhere Tiefs und höhere Höchststände bilden, die Preise steigen und die Käufer den Markt in dieser Marktbewegung kontrollieren.

Das folgende Bild zeigt die Bildung dieser Marktrichtung oder dieses Trends:

Aufwärtstrend-Formation

Das folgende Bild ist ein Beispiel aus dem Markt für den Aufwärtstrend:

Beispiel Aufwärtstrend

Abwärtstrend: Dies ist die Marktrichtung oder der Trend, wie wir sehen können, dass die Preise niedrigere Hochs und niedrigere Tiefs bilden, die Preise sich nach unten bewegen und die Verkäufer den Markt in dieser Marktbewegung kontrollieren.

Im Folgenden wird die Formation dieser Marktrichtung oder Trendform dargestellt:

Abwärtstrend-Formation

Das folgende Bild ist ein Beispiel für einen Abwärtstrend auf dem Markt:

Beispiel eines Abwärtstrends

Seitwärts: Dies ist jede Marktrichtung außer Aufwärts- oder Abwärtstrend, bei der es keine klare Richtung gibt und ein Gleichgewicht zwischen Käufern und Verkäufern besteht.

Im Folgenden sind einige Formationen dieser Marktrichtung aufgeführt:

Seitwärtsform 1

Seitwärtsform 2

Seitwärtsform 3

Seitwärtsform 4

Im Folgenden finden Sie ein Beispiel für Seitwärtsbewegungen auf dem Markt:

Seitwärtsform live Beispiel

Nach der Identifizierung von Trends werden wir einfache Strategien sehen, die nach dem Konzept des ADX verwendet werden können.

  • Strategie eins: Einfaches ADX-System - ADX-Bewegung:

Die Strategie basiert auf der Bewegung der ADX-Kurve,

aktueller ADX-Wert > vorheriger ADX-Wert = ADX steigt.

aktueller ADX-Wert < vorheriger ADX-Wert = ADX fällt.

  • Strategie zwei: Einfaches ADX-System - Aufwärtstrend:

Nach dieser Strategie, während des Aufwärtstrends,

ADX-Wert > 25 und aktueller ADX-Wert > vorheriger ADX-Wert --> wenn +DI-Wert > -DI-Wert = kaufen

  • Strategie drei: Einfaches ADX-System - Abwärtstrend:

Nach dieser Strategie, während des Abwärtstrends,

ADX-Wert > 25 und aktueller ADX-Wert > vorheriger ADX-Wert --> wenn +DI-Wert < -DI-Wert = verkaufen


Blaupause für die ADX-Strategie

In diesem Teil werden wir eine Blaupause für jede Strategie entwerfen, um uns bei der Erstellung des Handelssystems zu helfen, und diese Blaupause wird organisieren und festlegen, was wir das Programm oder das System Schritt für Schritt tun müssen.

  • Strategie eins: Einfaches ADX-System - ADX-Bewegung:

Bei dieser Strategie muss das Programm bei jedem Tick den aktuellen ADX-Wert und den vorherigen ADX-Wert überprüfen und dann entscheiden, ob der aktuelle ADX-Wert größer als der vorherige ADX-Wert ist oder nicht. Wenn der aktuelle ADX-Wert größer als der vorherige Wert ist, muss das System einen Kommentar auf dem Chart mit "ADX steigt", "ADX-Wert ist (n)" in einer neuen Zeile und "ADX-Wert zuletzt ist (n)" in einer weiteren neuen Zeile anzeigen. Wenn der aktuelle ADX-Wert niedriger ist als der vorherige ADX-Wert, muss das System einen Kommentar auf dem Chart mit dem Wort "ADX fällt" anzeigen.

Das folgende Bild ist eine Blaupause für diese Strategie:

ADX Bewegung Blaupause

  • Strategie zwei: Einfaches ADX-System - Aufwärtstrend:

Bei dieser Strategie muss das System jeden Tick den aktuellen ADX-Wert, den vorherigen ADX-Wert, den +DI-Wert und den -DI-Wert überprüfen und dann entscheiden, ob der aktuelle ADX-Wert größer als 25 und der vorherige ADX-Wert ist oder nicht. Wenn er nicht größer als beide ist, muss das System nichts tun, wenn er größer als beide ist, muss das System +DI und -DI prüfen, ob +DI größer als -DI ist oder nicht, wenn +DI größer als -DI ist, muss das System mit einem Kaufsignal kommentieren, ADX Wert ist (n), ADX Wert zuletzt ist (n), +DI Wert ist (n), und -DI Wert ist (n) oder wenn +DI nicht größer als -DI ist, muss das System nichts tun.

Das folgende Bild zeigt eine Blaupause für diese Strategie:

ADX - Kaufsignal Blaupause

  • Strategie drei: Einfaches ADX-System - Abwärtstrend:

Gemäß dieser Strategie muss das System bei jedem Tick den aktuellen ADX-Wert, den vorherigen ADX-Wert, den +DI-Wert und den -DI-Wert überprüfen und dann entscheiden, ob der aktuelle ADX-Wert kleiner als 25 und der vorherige ADX-Wert ist oder nicht. Wenn er nicht kleiner als beide ist, muss das System nichts tun. Wenn er kleiner als beide ist, muss das System +DI und -DI prüfen, ob +DI kleiner als -DI ist oder nicht, wenn +DI kleiner als -DI ist, muss das System mit einem Verkaufssignal generieren, ADX Wert ist (n), ADX Wert zuletzt ist (n), +DI Wert ist (n), und -DI Wert ist (n) oder wenn +DI nicht kleiner als -DI ist, muss das System nichts tun.

Das folgende Bild zeigt eine Blaupause für diese Strategie:

ADX - Verkaufssignal Blaupause

ADX Handelssystem

In diesem höchst interessanten Teil werden wir erfahren, wie man ein Handelssystem für diese erwähnten einfachen Strategien erstellt, um sie im MetaTrader 5-Handelsterminal zu verwenden, und wir werden den eingebauten MetaQuotes Language Editor (MQL5) verwenden, um den Code dieses Handelssystems zu schreiben. Um diesen MetaQuotes Language Editor zu öffnen, während Sie das MetaTrader 5-Handelsterminal öffnen, können Sie F4 drücken, um ihn zu öffnen, oder auf die Registerkarte Tools im MetaTrader 5 klicken --> dann MetaQuotes Language Editor auswählen.

Das folgende Bild zeigt Ihnen, wie Sie das tun können:

MetaEditor öffnen 1

Oder Sie können auf die Schaltfläche IDE klicken:

MetaEditor öffnen 2

Danach wird das folgende Fenster des MetaQuotes Language Editor geöffnet:

MetaEditor-Fenster

Dann öffnen wir eine neue Datei durch einen Klick auf "New", um dort das Handelssystem zu schreiben:

MetaEditor-Fenster 2

Dann wird das folgende Fenster geöffnet:

Metaeditor - Neue Datei

Im Folgenden finden Sie Optionen für die Art der neuen Datei:

  1. Expert Advisor: EA ist ein Programm im Terminal zur Automatisierung von Handelsprozessen nach vorgegebenen Bedingungen.
  2. Benutzerdefinierter Indikator: Dies ist ein Programmcode, der uns hilft, den Chart zu lesen, um Handelsentscheidungen zu verbessern.
  3. Skript: ist ein Programm, das eine Aufgabe nur ein einziges Mal nach dem Skript-Start ausführt.

Jetzt werden wir uns dafür entscheiden, eine Expert Advisor EA-Datei zu erstellen, um unser Handelssystem zu entwickeln.

Zunächst werden wir ein Programm erstellen, das als Kommentar im Chart mit dem aktuellen ADX-Wert angezeigt werden kann:

  • Wir erstellen ein Preis-Array und wir werden den Datentyp "double" verwenden, um reelle Wert verwenden zu können:
double PriceArray[];
  • Wir legen die Sortierrichtung dieses erstellte Preis-Array der aktuellen Daten mit der Funktion "ArraySetAsSeries" fest, die bei Erfolg true oder bei Misserfolg false zurückgibt (bool). Die erforderlichen Parameter sind:
array[] per Refenze und das Flag

ArraySetAsSeries(PriceArray,true);

  • Die Identifizierung des ADX-Indikators und Verwendung der Funktion "iADX". Sie gibt das Handle des technischen ADX-Indikators zurück. Ihre Parameter sind:
Symbol als Zeichenkette, Periode für den Zeitrahmen und Periodenlänge für die Anzahl der ADX-Perioden, die wie folgt lauten:
  • _Symbol: für das aktuelle Symbol
  • _Period: für den aktuellen Zeitrahmen
  • 14: für die Periodenlänge
int ADXDef = iADX(_Symbol,_Period,14);
  • Wir füllen die Daten entsprechend dem erstellten ADX-Indikator und verwenden die Funktion "CopyBuffer", die die Anzahl der kopierten Daten oder im Falle eines Fehlers -1 zurückgibt. Ihre Parameter sind:
Indikatorhandle, buffer_num der Indikatorpuffernummer, start_time (Startdatum und -uhrzeit), stop_time (Enddatum und -uhrzeit) und buffer[] (Zielarray).
CopyBuffer(ADXDef,0,0,3,PriceArray);
  • Um den Wert des ADX zu erhalten, erstellen wir eine Variable für "ADXValue" des Typs "double" und verwenden dann die Funktion "NormalizeDouble", die einen Wert vom Typ "double" mit voreingestellter Genauigkeit liefert: 
Wert als Double (normalisierte Zahl) und Digits als Integer (Anzahl der Stellen nach dem Komma)
double ADXValue=NormalizeDouble(PriceArray[0],2);
  • Darstellen eines Kommentars mit dem aktuellen ADX-Wert. Wir werden die Funktion "comment" verwenden. Ihre Parameter sind:
Beliebige Werte, die durch Kommas voneinander getrennt werden, und wenn einige von ihnen in einer neuen Zeile erscheinen sollen, wird ein Zeilenumbruchssymbol "\n" verwendet: 
Comment("ADX Value is ", ADXValue);

Wenn Sie den vollständigen Code dieses Programms sehen möchten, können Sie ihn im Folgenden sehen:

//+------------------------------------------------------------------+
//|                                            Simple ADX System.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
//creating an array for prices
   double PriceArray[];

//sort price array from current data
   ArraySetAsSeries(PriceArray,true);

//identify ADX
   int ADXDef = iADX(_Symbol,_Period,14);

//Filling data according to created ADX
   CopyBuffer(ADXDef,0,0,3,PriceArray);

//Getting value of current data
   double ADXValue=NormalizeDouble(PriceArray[0],2);

//Comment with ADX value
   Comment("ADX Value is ", ADXValue);
  }
//+------------------------------------------------------------------+

Nachdem wir dieses Programm geschrieben haben, können wir diese Programmdatei im Navigator-Fenster des MetaTrader 5-Terminals sehen, und das Folgende soll das zeigen:

Nav

Nachdem Sie auf die Datei doppelgeklickt oder sie per Drag & Drop auf den Chart gezogen haben, wird das folgende Fenster angezeigt:

Einfaches ADX-Fenster

Nachdem Sie ein Häkchen bei "Algo-Trading zulassen" gesetzt und die Schaltfläche OK gedrückt haben, wird die Datei an den Chart angehängt:

Einfacher ADX angehängt

Dann wird das Ergebnis dieses Handelssystems angezeigt, und das folgende Bild ist ein Beispiel dafür:

Einfacher ADX

Nun, da wir ein Programm erstellt haben, das den Wert des aktuellen ADX-Wertes anzeigt, müssen wir etwas hinzufügen, das uns bei der Entwicklung unseres Handelssystems hilft. Wir müssen ein Programm kodieren, das andere Werte des ADX-Indikators (+DI-Wert und -DI-Wert) anzeigt, und im Folgenden wird beschrieben, wie man das macht:

  • Erstellen eines Preis-Arrays für jeden Wert (ADX-Wert, +DI und -DI) und Erstellen von Variablen für diese Werte mit der Funktion "double":
    • ADXArray: für ADX-Werte
    • PDIArray: für +DI-Werte
    • NDIArray: für -DI-Werte
double ADXArray[];
double PDIArray[];
double NDIArray[];
  • Festlegen der Sortierrichtung jedes Preisarrays für jeden Wert aus den aktuellen Daten mit Hilfe der Funktion "ArraySetAsSeries":
ArraySetAsSeries(ADXArray,true);
ArraySetAsSeries(PDIArray,true);
ArraySetAsSeries(NDIArray,true);

  • Identifizierung des ADX-Indikators mit Hilfe der Funktion "iADX":
int ADXDef = iADX(_Symbol,_Period,14);
  • Füllen der Daten entsprechend dem identifizierten ADX mit Hilfe der Funktion "CopyBuffer":
CopyBuffer(ADXDef,0,0,3,ADXArray);
CopyBuffer(ADXDef,1,0,3,PDIArray);
CopyBuffer(ADXDef,2,0,3,NDIArray);
  • Um die Werte der aktuellen Daten zu erhalten, werden wir nach der Erstellung von Variablen für jeden Wert mit der Funktion "double" die Funktion "NormalizeDouble:" verwenden:
double ADXValue=NormalizeDouble(ADXArray[0],2);
double PDIValue=NormalizeDouble(PDIArray[0],2);
double NDIValue=NormalizeDouble(NDIArray[0],2);
  • Darstellen des Kommentars mit jedem Wert in einer neuen Zeile mit Hilfe der Funktion "comment":
Comment("ADX Value is ", ADXValue,"\n""+DI Value is ", 
PDIValue,"\n""-DI Value is ", NDIValue);

Hier der vollständigen Code für diesen Expert Advisor:

//+------------------------------------------------------------------+
//|                                  Simple ADX System - 3 lines.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //creating an array for prices
   double ADXArray[];
   double PDIArray[];
   double NDIArray[];
   
   //sort price array from current data
   ArraySetAsSeries(ADXArray,true);
   ArraySetAsSeries(PDIArray,true);
   ArraySetAsSeries(NDIArray,true);

   //identify ADX
   int ADXDef = iADX(_Symbol,_Period,14);
   
   
   //Filling data according to created ADX
   CopyBuffer(ADXDef,0,0,3,ADXArray);
   CopyBuffer(ADXDef,1,0,3,PDIArray);
   CopyBuffer(ADXDef,2,0,3,NDIArray);
   
   //Getting value of current data
   double ADXValue=NormalizeDouble(ADXArray[0],2);
   double PDIValue=NormalizeDouble(PDIArray[0],2);
   double NDIValue=NormalizeDouble(NDIArray[0],2);
   
   //Comment with ADX value
   Comment("ADX Value is ", ADXValue,"\n""+DI Value is ", 
   PDIValue,"\n""-DI Value is ", NDIValue);
  }
//+------------------------------------------------------------------+

Nachdem wir dieses Programm geschrieben haben, können wir seine Datei im Navigator-Fenster finden:

 Nav 2

Nach einem Doppelklick auf die Datei oder dem Ziehen und Ablegen auf dem Chart erscheint das folgende Fenster:

Einfaches ADX - 3-Linien-Fenster

Nachdem Sie ein Häkchen bei "Algo Trading zulassen" gesetzt und auf OK gedrückt haben, wird das Programm an den Chart angehängt:

Einfacher ADX - 3 Linien angehängt

Danach erscheinen die Werte auf dem Chart gemäß diesem Expert Advisor:

Einfacher ADX - 3 Linien

Nun werden wir unser Handelssystem für unsere genannten Strategien (ADX-Bewegung, Aufwärtstrend und Abwärtstrend) erstellen.

  • Strategie eins: Einfaches ADX-System - ADX-Bewegung:

Aktueller ADX-Wert > vorheriger ADX-Wert = ADX steigt.

Aktueller ADX-Wert < vorheriger ADX-Wert = ADX fällt.

Im Folgenden soll der Code des Programms bzw. des Expert Advisors geschrieben werden, der das leisten kann:

  • Erstellen eines Preisarrays für ADX-Werte (aktueller, vorheriger):
    • ADXArray0: für den aktuellen ADX-Wert.
    • ADXArray1: für den vorherigen ADX-Wert.
double ADXArray0[];
double ADXArray1[];

  • Sortierrichtung des Preisarrays aus den aktuellen Daten:
ArraySetAsSeries(ADXArray0,true);
ArraySetAsSeries(ADXArray1,true);

  • Identifizieren des ADX:
int ADXDef = iADX(_Symbol,_Period,14);
  • Füllen der Daten entsprechend dem ADX:
CopyBuffer(ADXDef,0,0,3,ADXArray0);
CopyBuffer(ADXDef,0,0,2,ADXArray1);
  • Werte abrufen, nachdem Variablen für sie erstellt wurden:
double ADXValue=NormalizeDouble(ADXArray0[0],2);
double ADXValuelast=NormalizeDouble(ADXArray1[1],2);
  • Einstellung der Bedingungen für die ADX-Bewegung entsprechend dem ADX-Wert:
if (ADXValue>ADXValuelast)
      {
       Comment("ADX is rising","\n""ADX Value is ", ADXValue,"\n""ADX Value last is ", 
   ADXValuelast);
      }
   
if (ADXValue<ADXValuelast)
     {
      Comment("ADX is falling","\n""ADX Value is ", ADXValue,"\n""ADX Value last is ", 
   ADXValuelast);
      }

Es folgt vollständigen Code für diese Strategie zur Erstellung des Expert Advisors:

//+------------------------------------------------------------------+
//|                             Simple ADX System - ADX Movement.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   //creating an array for prices
   double ADXArray0[];
   double ADXArray1[];

   //sort price array from current data
   ArraySetAsSeries(ADXArray0,true);
   ArraySetAsSeries(ADXArray1,true);
      
   //identify ADX
   int ADXDef = iADX(_Symbol,_Period,14);
   
   //Filling data according to created ADX
   CopyBuffer(ADXDef,0,0,3,ADXArray0);
   CopyBuffer(ADXDef,0,0,2,ADXArray1);
   
   //Getting value of current data
   double ADXValue=NormalizeDouble(ADXArray0[0],2);
   double ADXValuelast=NormalizeDouble(ADXArray1[1],2);
   
   //ADX movement signal
   if (ADXValue>ADXValuelast)
      {
         Comment("ADX is rising","\n""ADX Value is ", ADXValue,"\n""ADX Value last is ", 
   ADXValuelast);
      }
   
   if (ADXValue<ADXValuelast)
     {
         Comment("ADX is falling","\n""ADX Value is ", ADXValue,"\n""ADX Value last is ", 
   ADXValuelast);
      }
  }
//+------------------------------------------------------------------+

Nachdem wir diesen Expert Advisor erstellt haben, finden wir ihn im Navigator-Fenster:

Nav - adx3

Nach einem Doppelklick oder dem Ziehen und Ablegen auf dem Chart erscheint das folgende Fenster:

Fenster ADX-Bewegung 

Nachdem Sie ein Häkchen bei "Algo Trading zulassen" gesetzt und die Schaltfläche OK gedrückt haben, wird der EA an den Chart angehängt:

ADX-Bewegung angehängt

Danach kann der EA gemäß seinen Bedingungen handeln, und die folgenden Beispiele zeigen die Ergebnisse der Tests:

  • Wenn der ADX steigt, können wir sehen, dass der Expert Advisor Werte in Form von Kommentaren anzeigt, wie in der folgenden Abbildung:

ADX-Bewegung - steigend 


  • Wenn der ADX fällt, können wir sehen, der Experte Berater erscheinen Werte als Kommentare wie die gleiche wie die folgende Abbildung:

ADX movement2.png

  • Strategie zwei: Einfaches ADX-System - Aufwärtstrend:

ADX-Wert > 25 und aktueller ADX-Wert > vorheriger ADX-Wert --> wenn +DI-Wert > -DI-Wert = kaufen

Im Folgenden wird beschrieben, wie man einen Expert Advisor zur Ausführung dieser Strategie erstellt:

  • Wir erstellen eine Variable für das "Signal" mit einer leeren Zuweisung, weil es danach berechnet wird, wir verwenden den Typ "string":
string signal="";
  • Erstellen von Arrays für den aktuellen ADX-Wert, den vorherigen ADX-Wert, den +DI-Wert und den -DI-Wert:
    • ADXArray0: für den aktuellen ADX-Wert
    • ADXArray1: für den vorherigen ADX-Wert
    • PDIArray: für +DI-Werte
    • NDIArray: für -DI-Werte 
double ADXArray0[];
double ADXArray1[];
double PDIArray[];
double NDIArray[];
  • Sortieren von Preis-Arrays aus aktuellen Daten:
ArraySetAsSeries(ADXArray0,true);
ArraySetAsSeries(ADXArray1,true);
ArraySetAsSeries(PDIArray,true);
ArraySetAsSeries(NDIArray,true);
  • Identifizierung des ADX-Indikators:
int ADXDef = iADX(_Symbol,_Period,14);
  • Füllen der Daten gemäß dem erstellten ADX:
CopyBuffer(ADXDef,0,0,3,ADXArray0);
CopyBuffer(ADXDef,0,0,2,ADXArray1);
CopyBuffer(ADXDef,1,0,3,PDIArray);
CopyBuffer(ADXDef,2,0,3,NDIArray);
  • Abrufen der Werte der aktuellen Daten:
double ADXValue=NormalizeDouble(ADXArray0[0],2);
double ADXValueLast=NormalizeDouble(ADXArray1[1],2);
double PDIValue=NormalizeDouble(PDIArray[0],2);
double NDIValue=NormalizeDouble(NDIArray[0],2);
  • Festlegen der Bedingungen für die Aufwärtstrendstrategie:
if (ADXValue>25&&ADXValue>ADXValueLast)
   if(PDIValue>NDIValue)
   {
    signal = "BUY";
   }
  • Kommentar mit dem Kaufsignal und den Werten und jeweils in einer neuen Zeile:
Comment("Simple ADX System - Signal is ",signal,"\n""ADX Value is ", ADXValue,
"\n""ADX Value Last is ", ADXValueLast, "\n""+DI Value is ", PDIValue,
"\n""-DI Value is ", NDIValue);

Es folgt vollständigen Code für diese Strategie zur Erstellung des Expert Advisors:

//+------------------------------------------------------------------+
//|                     Simple ADX System - Uptrend - Buy Signal.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+

void OnTick()
  {
  
   // creating a variable for signal
   string signal="";
   
   //creating an array for prices
   double ADXArray0[];
   double ADXArray1[];
   double PDIArray[];
   double NDIArray[];
   
   //identify ADX, positive DI, negative DI
   int ADXDef = iADX(_Symbol,_Period,14);
   
   
   //sort price array from current data
   ArraySetAsSeries(ADXArray0,true);
   ArraySetAsSeries(ADXArray1,true);
   ArraySetAsSeries(PDIArray,true);
   ArraySetAsSeries(NDIArray,true);
   
   //Filling data according to created ADX
   CopyBuffer(ADXDef,0,0,3,ADXArray0);
   CopyBuffer(ADXDef,0,0,2,ADXArray1);
   CopyBuffer(ADXDef,1,0,3,PDIArray);
   CopyBuffer(ADXDef,2,0,3,NDIArray);
   
   //Getting value of current data
   double ADXValue=NormalizeDouble(ADXArray0[0],2);
   double ADXValueLast=NormalizeDouble(ADXArray1[1],2);
   double PDIValue=NormalizeDouble(PDIArray[0],2);
   double NDIValue=NormalizeDouble(NDIArray[0],2);
   
   //Comment with Buy signal according to Buy Strategy
    if (ADXValue>25&&ADXValue>ADXValueLast)
      if(PDIValue>NDIValue)
      {
         signal = "BUY";
      }
      
   Comment("Simple ADX System - Signal is ",signal,"\n""ADX Value is ", ADXValue,
   "\n""ADX Value Last is ", ADXValueLast, "\n""+DI Value is ", PDIValue,
   "\n""-DI Value is ", NDIValue);
  }
//+------------------------------------------------------------------+

Danach können wir den Expert Advisor im Navigator-Fenster sehen:

Nav - ADX4

Nach einem Doppelklick oder durch Ziehen und Ablegen auf dem Chart erscheint das folgende Fenster,

ADX - Fenster Aufwärtstrend

Nachdem Sie ein Häkchen bei "Algo-Trading zulassen" gesetzt und die Schaltfläche "OK" gedrückt haben, wird der Expert Advisor angehängt,

ADX - Aufwärtstrend angehängt

Danach können wir Signale finden, die entsprechend der Strategie erscheinen:

  • Das Kaufsignal.
  • Neue Zeile mit aktuellem ADX-Wert.
  • Neue Zeile mit vorherigem ADX-Wert.
  • Neue Zeile mit +DI Wert.
  • Neue Zeile mit dem -DI-Wert.
Das folgende Bild ist ein Beispiel für die Ergebnisse dieser Strategie bzw. des Expert Advisors beim Testen:


ADX - Kaufsignal

  • Strategie drei: Einfaches ADX-System - Abwärtstrend:

ADX-Wert > 25 und aktueller ADX-Wert > vorheriger ADX-Wert --> wenn +DI-Wert < -DI-Wert = verkaufen

Im Folgenden wird beschrieben, wie Sie einen Expert Advisor erstellen, der diese Strategie umsetzt:

//+------------------------------------------------------------------+
//|                Simple ADX System - Downtrend - Sell Strategy.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
  
   // creating a variable for signal
   string signal="";
   
   //creating an array for prices
   double ADXArray0[];
   double ADXArray1[];
   double PDIArray[];
   double NDIArray[];
   
   //identify ADX, positive DI, negative DI
   int ADXDef = iADX(_Symbol,_Period,14);
   
   
   //sort price array from current data
   ArraySetAsSeries(ADXArray0,true);
   ArraySetAsSeries(ADXArray1,true);
   ArraySetAsSeries(PDIArray,true);
   ArraySetAsSeries(NDIArray,true);
   
   //Filling data according to created ADX
   CopyBuffer(ADXDef,0,0,3,ADXArray0);
   CopyBuffer(ADXDef,0,0,2,ADXArray1);
   CopyBuffer(ADXDef,1,0,3,PDIArray);
   CopyBuffer(ADXDef,2,0,3,NDIArray);
   
   //Getting value of current data
   double ADXValue=NormalizeDouble(ADXArray0[0],2);
   double ADXValueLast=NormalizeDouble(ADXArray1[1],2);
   double PDIValue=NormalizeDouble(PDIArray[0],2);
   double NDIValue=NormalizeDouble(NDIArray[0],2);
   
   //Comment with Buy signal according to Buy Strategy
    if (ADXValue>25&&ADXValue>ADXValueLast)
      if(PDIValue<NDIValue)
      {
         signal = "SELL";
      }
      
   Comment("Simple ADX System - Signal is ",signal,"\n""ADX Value is ", ADXValue,
   "\n""ADX Value Last is ", ADXValueLast, "\n""+DI Value is ", PDIValue,
   "\n""-DI Value is ", NDIValue);
  }
//+------------------------------------------------------------------+

Es handelt sich um die gleichen Schritte wie bei der Aufwärtsstrategie mit folgenden Unterschieden:

  • Bedingungen der Abwärtstrend-Strategie:
    if (ADXValue>25&&ADXValue>ADXValueLast)
      if(PDIValue<NDIValue)
      {
         signal = "SELL";
      }
  • Kommentar zu dem Signal:
   Comment("Simple ADX System - Signal is ",signal,"\n""ADX Value is ", ADXValue,
   "\n""ADX Value Last is ", ADXValueLast, "\n""+DI Value is ", PDIValue,
   "\n""-DI Value is ", NDIValue);

Nachdem wir den Code dieser Strategie geschrieben haben, können wir die Datei des Expert Advisors im Navigator-Fenster finden:

Nav - ADX 5

Nach einem Doppelklick oder dem Ziehen und Ablegen der Datei auf dem Chart wird das folgende Fenster angezeigt:

ADX - Fenster Abwärtstrend 

Nachdem Sie ein Häkchen bei "Algo-Trading zulassen" gesetzt und die Schaltfläche "OK" gedrückt haben, wird der Expert Advisor an den Chart angehängt; die folgende Abbildung zeigt ein Beispiel dafür:

ADX - Abwärtstrend angehängt

Dann können wir Signale finden, die gemäß der Abwärtstrend-Strategie erscheinen:

  • Verkaufssignal.
  • Neue Zeile mit aktuellem ADX-Wert.
  • Neue Zeile mit vorherigem ADX-Wert.
  • Neue Zeile mit +DI Wert.
  • Neue Zeile mit dem -DI-Wert.

Das folgende Bild ist ein Beispiel für ein Signal, das nach dieser Strategie beim Testen erzeugt wurde:

ADX - Verkaufssignal

Schlussfolgerung

Jetzt nach besprochenen Themen dieses Artikels können wir annehmen, dass Sie den beliebten und nützlichen ADX-Indikatoren im Detail kennengelernt haben, und wie man ein Handelssystem mit ihm entwirft, nachdem wir nun wissen, was er misst und wie man ihn berechnet. Wir kennen jetzt einfache Strategien auf der Grundlage der ADX-Indikator, bei einem Aufwärts- oder Abwärtstrend. Dann entwarfen wir eine Blaupause für diese Strategien, um uns zu helfen, die Gestaltung der Handelssystem Schritt für Schritt zu verstehen, was wir brauchen, damit das Programm genau das tut. Wir kennen jetzt wie man ein Handelssystem entwickelt, das automatisch auf der Grundlage dieser ADX-Strategien arbeitet, und wir wissen jetzt auch, wie man den Code für diese Handelsstrategien mit MQL5 (MetaQuotes Language) schreibt.

Der ADX-Indikator hat viele Strategien, die für den Handel von einfachen bis zu komplizierten Strategien verwendet werden können, aber hier haben wir nur einige einfache Strategien erwähnt, um das Grundkonzept des Indikators und das Grundkonzept des Artikels zu lernen, und das Hauptziel ist es, Handelsstrategien auf der Grundlage des technischen Ansatzes kennenzulernen und ein Handelssystem für sie durch MQL5 zu entwerfen, um in der MetaTrader 5 Handelsplattform verwendet zu werden.

Was ich hier auch erwähnen muss, ist, dass wir eine Menge nützlicher Tools und Strategien haben, die wir für unseren Handel nutzen können. Diese Werkzeuge können einzeln verwendet werden, oder wir können kombinieren, was gültig sind, um bessere Ergebnisse zu erhalten, und dies ist eines der nützlichsten Merkmale der technischen Analyse, da es viele Werkzeuge auf verschiedenen Konzepten basiert, dass sie unsere Handelsentscheidungen verbessern können und dies wird bessere Ergebnisse aus dem Handel zurück. Ich empfehle die Lektüre meiner früheren Artikel über andere beliebte Indikatoren, die von einigen einfachen Strategien verwendet werden können und wie man ein einfaches Handelssystem auf der Grundlage dieser Strategien von MQL5 für den MetaTrader 5 zu verwenden. Unsere Aufgabe ist es also, diese Konzepte und Tools zu lernen und herauszufinden, was für unseren Handelsstil und -plan geeignet ist, denn es gibt viele Strategien, die für den einen nützlich sein können, für den anderen aber nicht, und jeder muss einen Handelsplan haben, der auf seiner Handelsstrategie basiert, und das können wir wissen, indem wir jede neue Strategie oder jedes neue Tool testen, um zu bestätigen, ob es nützlich und profitabel ist oder nicht, bevor wir es auf realen Konten verwenden.

Die Programmierung kann in dieser Phase aus vielen Gründen sehr nützlich sein, denn sie hilft uns, dies einfach, reibungslos und genau zu tun. Sobald wir eine rentable Strategie gefunden haben, können wir auch ein Handelssystem für sie entwerfen, damit der Computer automatisch für uns gemäß den Bedingungen des entworfenen Programms arbeiten kann. Auf diese Weise vermeiden wir schädliche Emotionen, die auch in unseren Handelsprozess einfließen können. Die Programmierung hilft uns also, mit Disziplin zu handeln, was einer der wichtigsten Schlüssel zum erfolgreichen Handel ist. Es ist also gut, das Programmieren und MQL5 zu erlernen, da sie hilfreich sein können, um diese Ziele zu erreichen.

Ich hoffe, dass Sie diesen Artikel nützlich für Ihr Trading gefunden haben, auch wenn er Ihnen die Augen für neue Ideen geöffnet hat und Ihnen Einblicke in das Thema des Artikels oder ein verwandtes Thema gegeben hat, um Ihnen zu helfen, Ihre Trading-Ergebnisse zu verbessern, um kontinuierlich bessere Ergebnisse zu erzielen, denn das ist das Hauptziel von unserem Trading ist es, gute Ergebnisse zu erzielen und Gewinne zu erreichen Konsistenz und ich hoffe, dass dieser Artikel hilft, dieses wertvolle Ziel zu erreichen. 


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

Lernen Sie, wie Sie ein Handelssystem mit Hilfe des ATR entwickeln Lernen Sie, wie Sie ein Handelssystem mit Hilfe des ATR entwickeln
In diesem Artikel werden wir ein neues technisches Instrument kennenlernen, das beim Handel verwendet werden kann, als Fortsetzung der Serie, in der wir lernen, wie man einfache Handelssysteme entwickelt. Diesmal werden wir mit einem anderen beliebten technischen Indikator arbeiten: Average True Range (ATR).
Grafiken in der Bibliothek DoEasy (Teil 98): Verschieben von Angelpunkten erweiterter grafischer Standardobjekte Grafiken in der Bibliothek DoEasy (Teil 98): Verschieben von Angelpunkten erweiterter grafischer Standardobjekte
In diesem Artikel setze ich die Entwicklung erweiterter grafischer Standardobjekte fort und schaffe die Funktionen zum Verschieben von Angelpunkten zusammengesetzter grafischer Objekte unter Verwendung von Kontrollpunkten zur Verwaltung der Koordinaten der Angelpunkte des grafischen Objekts.
Mehrere Indikatoren in einem Chart (Teil 04): Weiterentwicklung zum Expert Advisor Mehrere Indikatoren in einem Chart (Teil 04): Weiterentwicklung zum Expert Advisor
In meinen früheren Artikeln habe ich erklärt, wie man einen Indikator mit mehreren Unterfenstern erstellt, was bei der Verwendung von nutzerdefinierten Indikatoren interessant wird. Dieses Mal werden wir sehen, wie man mehrere Fenster einem Expert Advisor hinzufügen kann.
Tipps von einem professionellen Programmierer (Teil III): Protokollierung. Anbindung an das Seq-Log-Sammel- und Analysesystem Tipps von einem professionellen Programmierer (Teil III): Protokollierung. Anbindung an das Seq-Log-Sammel- und Analysesystem
Implementierung der Klasse Logger zur Vereinheitlichung und Strukturierung von Meldungen, die in das Expertenprotokoll ausgegeben werden. Anschluss an das Seq Logsammel- und Analysesystem. Online-Überwachung der Log-Meldungen.