Lernen Sie, wie man ein Handelssystem mit Bulls Power entwirft

Mohamed Abdelmaaboud | 26 August, 2022

Einführung

In diesem neuen Artikel unserer Serie lernen wir ein neues technisches Werkzeug kennen, das wir zu unseren Gunsten einsetzen können, um unseren Handel zu verbessern. Wir lernen den Indikator Bulls Power (zu deutsch etwa Stärke des Aufwärtstrends) kennen, der einer der technischen Indikatoren ist, die uns Einblicke in die Beurteilung der Bullen geben können, wie wir in diesem Artikel sehen werden. Wir werden uns also mit diesem technischen Indikator im Detail befassen und dieses technische Instrument anhand der folgenden Themen behandeln:

  1. Bulls Power - Definition
  2. Bulls Power - Strategie
  3. Bulls Power - Blaupause der Strategie
  4. Bulls Power - Handelssystem
  5. Schlussfolgerung

Wir werden lernen, was der Bulls Power-Indikator ist, was er misst, wie man ihn manuell berechnen kann, um das Hauptkonzept dahinter zu verstehen, und wie man ihn ablesen kann, und dies wird durch im Teil „Bulls Power - Definition“ gelernt. Nachdem wir das Grundkonzept dieses Indikators verstanden haben, werden wir lernen, wie wir ihn durch einige einfache Strategien nutzen können, die zu unseren Gunsten eingesetzt werden können, um unsere Handelsergebnisse zu verbessern, und dies wird im Teil „Bulls Power - Strategie“ gelernt. Danach werden wir eine Schritt-für-Schritt-Blaupause für jede Strategie entwerfen, die uns helfen soll, ein Handelssystem für jede Strategie zu erstellen, und dies wird im Teil „Bulls Power - Strategie Blaupause“ gelernt werden. Anschließend werden wir für jede der genannten Strategien ein Handelssystem erstellen, das uns hilft, unsere Signale zu automatisieren, indem wir sie auf der MetaTrader 5 Handelsplattform ausführen.

Wir werden das MetaTrader 5-Handelsterminal verwenden und unsere Codes in der MetaQuotes Language 5 (MQL5) schreiben. Wenn Sie lernen wollen, wie man MetaTrader 5 herunterlädt und MQL5 verwendet, können Sie das Thema „Schreiben von MQL5-Code im MetaEditor“ aus einem früheren Artikel lesen, um mehr darüber zu erfahren. Ich rate Ihnen, das Gelesene selbst anzuwenden, wenn Sie Ihre Programmierkenntnisse verbessern und gut verstehen wollen.

Die Bedeutung des Programmierens nimmt von Tag zu Tag zu, und dieser Fall zeigt, wie wichtig es ist, dieses wichtige Werkzeug zu erlernen. Diese Bedeutung der Programmierung ergibt sich aus den Vorteilen der Programmierung, und die sind zahlreich. Die wichtigsten Vorteile der Programmierung im Handel sind, dass es uns hilft, unsere Zeit zu sparen, wie wir Code oder erstellen Sie ein Programm zu tun, was wir kontinuierlich tun, es gibt uns genauere Ergebnisse die gleichen wie wir brauchen, und es hilft uns, Emotionen, die unsere Handelsergebnisse beeinträchtigen können zu vermeiden.

Haftungsausschluss: Alle Informationen werden in der vorliegenden Form nur zu Informationszwecken bereitgestellt und sind nicht für Handelszwecke oder als Ratschläge gedacht. Die Informationen garantieren keinen Erfolg. Wenn Sie sich dafür entscheiden, diese Materialien auf einem Ihrer Handelskonten zu verwenden, tun Sie dies auf eigenes Risiko und Sie sind allein verantwortlich.

Beginnen wir nun mit den Themen dieses Artikels.

Bulls Power - Definition

In diesem Thema werden wir den Bulls Power-Indikator im Detail identifizieren, um das Hauptkonzept dahinter zu verstehen. Der Bulls Power-Indikator ist das Gegenteil des Indikators Bears Power, den wir bereits in einem früheren Artikel erwähnt haben. Lernen Sie, wie Sie ein Handelssystem mit Bears Power entwickeln können. Der Bulls Power wurde von Alexander Elder entwickelt. Er misst die Stärke der Bullen auf dem Markt und kann auch einen Hinweis darauf geben, ob die Bären ins Spiel kommen oder nicht, wenn die Bullen schwach werden. Es handelt sich um einen Oszillator, der über oder unter Null pendelt. Dieser Indikator gibt uns also auch einen wichtigen Einblick in den wichtigsten Faktor auf dem Markt, der den Markt in Bewegung bringt, und das sind Angebot und Nachfrage.

Wie wir diesen Indikator manuell berechnen können, werden wir in den folgenden Schritten herausfinden:

Bulls Power = Hoch - EMA

Wenn die Bullen den Markt kontrollieren, treiben sie den Markt die meiste Zeit über zu höheren Werten. Wir verwenden also den Wert des Hochs in der Formel, um die Bulls Power zu berechnen, weil wir diese Bullen messen müssen. Dann erhalten wir die Differenz zwischen diesem Hoch und dem EMA, um einen Oszillator zu erhalten, der um Null pendelt, wie wir bereits erwähnt haben, und wenn wir feststellen, dass der Wert der Bulls Power sich der Null nähert und niedriger wird als zuvor, können wir einen Hinweis darauf erhalten, dass die Bullen schwächer geworden sind.

Es ist gut, diesen Indikator zusammen mit einem anderen Trendindikator zu verwenden, da er effektivere Erkenntnisse liefert, wie wir es in einer der in diesem Artikel erwähnten Strategien tun werden. Dieses Konzept ist sehr hilfreich und eines der nützlichen Merkmale der technischen Analyse, da wir viele Konzepte verwenden können, um mehr Einblicke zu erhalten und das Instrument aus verschiedenen Perspektiven zu sehen, was uns mehr Gewicht für unsere Entscheidung gibt.

Heutzutage brauchen wir diesen Indikator nicht mehr manuell zu berechnen, da er im MetaTrader 5-Handelsterminal vorhanden ist und wir ihn nur noch in den Chart einfügen müssen, indem wir auf Einfügen --> Indikatoren --> Oszillatoren --> Bulls Power klicken. Das können wir auch anhand des folgenden Bildes sehen:

Bulls Power einfügen

Nachdem Sie den Indikator ausgewählt haben, wird das folgende Fenster mit seinen Parametern angezeigt:

Bulls Power Paramalt

1 - Zur Bestimmung des Zeitraums, der für die Berechnung verwendet wird.

2 - Zur Bestimmung der Balken von Bulls Power zu bestimmen.

3 - Zur Bestimmung der Dicke der Stäbe von Bulls Power.

Nachdem Sie die vorherigen Parameter festgelegt und auf „OK“ gedrückt haben, wird der Indikator wie folgt in das Chart gestartet:

Bulls Power gestartettitlealtBulls Power gestartetalt

Wie wir im vorherigen Chart im unteren Teil sehen können, ist Bulls Power auf dem Chart gestartet und seine Balken oszillieren um Null, wie wir bereits erwähnt haben. Ist der Wert über Null, bedeutet dies, dass die Bullen die Kontrolle haben und wenn er sich der Null nähert und darunter liegt, bedeutet dies, dass sie schwächer geworden sind. Wenn die Bullen schwächer wurden, können wir sehen, dass die Bären ins Spiel kamen, indem sie den Markt kontrollierten, indem sie den Preis auf niedrige Niveaus drückten, oder zumindest ist der Markt durch das Gleichgewicht zwischen Bullen und Bären ausgeglichen.

Bulls Power - Strategie

In diesem Teil werden wir lernen, wie wir Bulls Power durch einfache Strategien nutzen können, die auf dem Grundkonzept dieses Indikators basieren. Im Folgenden werden diese Strategien und ihre Bedingungen beschrieben. Ich muss hier bestätigen, dass diese Strategien für die Bildung nur als das Hauptziel ist es, das Hauptkonzept hinter dem Indikator zu verstehen und wie wir sie zu unseren Gunsten verwenden können, so müssen Sie jede von ihnen zu testen, bevor Sie sie auf Ihrem realen Konto, um sicherzustellen, dass es gut für Ihren Handel, da es keine Strategie ist für jeden geeignet.

Auf der Grundlage dieser Strategie suchen wir Signale, die auf der Position der aktuellen und der vorherigen Werten von Bulls Power basieren. Wenn der aktuelle Bulls Power-Wert größer ist als der vorherige, betrachten wir dies als ein Aufwärtssignal von Bulls Power. Umgekehrt, wenn der aktuelle Wert niedriger ist als der vorherige, betrachten wir dies als ein Abwärtssignal von Bulls Power.

Wenn wir dies vereinfachen, schaut es wie folgt aus:

Aktueller Bulls Power > Vorheriger Bulls Power --> Bulls Power steigt.

Aktueller Bulls Power < Vorheriger Bulls Power --> Bulls Power fällt.

Auf der Grundlage dieser Strategie suchen wir ein Signal, das uns darüber informiert, ob es eine starke Bewegung oder eine Divergenz gibt, indem wir vier Werte auswerten. Diese Werte sind das aktuelle Hoch, das vorherige Hoch, Bulls Power und die vorherigen Bulls Power. Wenn das aktuelle Hoch höher ist als das vorherige Hoch und der aktuelle Wert des Bulls Power höher ist als der vorherige, betrachten wir dies als ein Signal für eine starke Bewegung. Im anderen Fall, wenn das aktuelle Hoch höher ist als das vorherige Hoch und der aktuelle Wert des Bulls Power niedriger ist als der vorherige, betrachten wir dies als ein Signal für eine bärische Divergenz.

Wenn wir dies vereinfachen, schaut es wie folgt aus:

Aktuelles Hoch > vorheriges Hoch und aktueller Bulls Power > vorheriger Bulls Power --> starke Bewegung

Aktuelles Hoch < vorheriges Hoch und aktueller Bulls Power > vorheriger Bulls Power --> bärische Divergenz

Auf der Grundlage dieser Strategie suchen wir ein Signal, das für Kauf- und Verkaufssignale verwendet werden kann, und wir werden dafür vier Werte auswerten, um dies auf der Grundlage dieser Strategie zu tun. Diese vier Werte sind der aktuelle Bulls Power, die Null, der aktuelle Schlusskurs und der aktuelle exponentielle gleitende Durchschnitt. Wenn der aktuelle Bulls Power unter Null und der aktuelle Schlusskurs unter dem exponentiellen gleitenden Durchschnitt liegt, betrachten wir dies als ein Verkaufssignal. Wenn der aktuelle Bulls Power über Null liegt und der aktuelle Schlusskurs über dem exponentiellen gleitenden Durchschnitt liegt, ist dies ein Kaufsignal.

Wenn wir dies vereinfachen, schaut es wie folgt aus:

Aktueller Bulls Power < Null und aktueller Schlusskurs < EMA --> verkaufen

Aktueller Bulls Power > Null und aktueller Schlusskurs > EMA --> kaufen

Bulls Power - Blaupause der Strategie

In diesem Thema werden wir einen Schritt-für-Schritt-Blaupause für jede erwähnte Strategie entwerfen, um uns zu helfen, unser Handelssystem einfach und reibungslos zu erstellen, nachdem wir unsere Ideen organisiert haben.

Wir brauchen den Computer, um zwei Werte für jeden Tick zu überprüfen, und das wird nach der Erstellung dieser Werte sicher sein, diese Werte sind aktueller Bulls Power und vorheriger Bulls Power. Wir brauchen das Programm, um diese Werte zu überprüfen, um die Position von allen zu kennen. Wenn der aktuellen Bulls Power größer ist als der vorherige, muss das Programm oder der Experte ein Signal oder einen Kommentar auf dem Chart mit den folgenden Werten ausgeben, jeweils in einer eigenen Zeile:

Es gibt noch ein weiteres Szenario, das wir in Betracht ziehen müssen. Wenn der aktuelle Bulls Power -Wert niedriger ist als der vorherige, muss der Expert Advisor auch einen Kommentar mit den folgenden Werten ausgeben, wobei jeder Wert in einer eigenen Zeile steht:

Nachfolgend finden Sie den einfachen Bauplan für dieses Handelssystem auf der Grundlage seiner Strategie:

 Bulls Power Bewegung Blaupause

Bei dieser Strategie muss das Handelssystem vier Werte überprüfen, und zwar das aktuelle Hoch, das vorherige Hoch, den aktuellen Wert von Bulls Power und den vorherigen. Danach muss das Handelssystem entscheiden, ob das aktuelle Hoch höher ist als das vorherige, und wenn der aktuelle Bulls Power höher ist als der vorherige, muss das Handelssystem ein Signal als Kommentar auf dem Chart mit den folgenden Werten ausgeben jeweils in einer separaten Zeile:

Im anderen Fall, wenn das aktuelle Hoch höher ist als der vorherige und gleichzeitig der aktuelle Wert von Bulls Power niedriger ist als der vorherige, muss das Handelssystem ein Signal als Kommentar auf dem Chart mit den folgenden Werten ausgeben, jeweils in einer separaten Zeile:

Im Folgenden finden Sie die Blaupause in einer einfachen Form visuell, um uns zu helfen, ein Handelssystem auf der Grundlage dieser Strategie zu erstellen.

   Bulls Power - Stark oder Divergenz

Nach dieser Strategie müssen wir ein Handelssystem erstellen, das bei jedem Tick vier Werte überprüft. Diese Werte sind der aktuelle Bulls Power, die Null, der aktuelle Schlusskurs und der aktuelle exponentielle gleitende Durchschnitt. Dann müssen wir entscheiden, ob der aktuelle Bulls Power unter Null liegt und gleichzeitig, ob der aktuelle Schlusskurs unter dem exponentiellen gleitenden Durchschnitt liegt und wir brauchen den Expert Advisor, um ein Signal als Kommentar auf dem Chart mit den folgenden Werten, jeweils in einer Zeile auszugeben:

Im anderen Fall, wenn der aktuelle Bulls Power größer als Null ist und gleichzeitig der aktuelle Schlusskurs größer als der exponentielle gleitende Durchschnitt ist, soll das Handelssystem ein Signal mit den folgenden Werten ausgeben, wobei jeder Wert in einer eigenen Zeile steht:

Im Folgenden finden Sie eine einfache Schritt-für-Schritt-Blaupause, um unsere Ideen zu organisieren und ein Handelssystem zu erstellen, das auf dieser Strategie basiert.

 Bulls Power Signale Blaupause

Bulls Power - Handelssystem

In diesem Abschnitt werden wir lernen, wie man ein Handelssystem für jede der erwähnten Strategien erstellt, aber zuerst werden wir ein einfaches Handelssystem erstellen, das verwendet werden kann, um automatisch einen Kommentar mit dem aktuellen Bulls Power-Wert auf dem Chart zu generieren, der als Grundlage für alle Strategien verwendet werden kann.

Im Folgenden finden Sie den Code für die Erstellung dieses Handelssystems:

Schritt eins: Wir erstellen ein Array für „bullpower“ vom Typ double:

double bullpowerArray[];

Zweiter Schritt: Wir richten das erstellte Array mit der Funktion „ArraySetAsSeries“ aus, die einen booleschen Wert zurückgibt.

ArraySetAsSeries(bullpowerArray,true);

Dritter Schritt: Wir erstellen eine Integer-Variable für „bullpowerDef“, wir definieren den Indikator Bulls Power, indem wir die Funktion „iBullsPower“ verwenden, um das Handle des Indikators zu erhalten. Die Parameter sind:

Symbol: Wir verwenden _Symbol, das aktuelle Symbol.

Zeitrahmen: Wir verwenden _Period, den aktuellen Zeitrahmen.

ma_period: Wir verwenden 13 für die Periodenlänge des verwendeten gleitenden Durchschnitts.

int bullpowerDef = iBullsPower(_Symbol,_Period,13);

Vierter Schritt: Wir füllen das erstellte Array mit der Funktion „CopyBuffer“, um die Daten von Bulls Power zu erhalten. Parameter dieser Funktion:

indicator_handle: für das Indikator-Handle bullpowerDef.     

buffer_num: für die Nummer des Indikatorpuffers, wir verwenden 0.

start_pos: für die Startposition, wir verwenden 0.         

count: für die Anzahl der zu kopierenden Werte, wir verwenden 3.                

buffer[]: für das Ziel-Array, wir verwenden bullpowerArray.

CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);

Schritt fünf: Wir erhalten den Wert „bullpowerVal“, nachdem wir eine Variable erstellt haben, um den Wert vom Typ double mit der Funktion „NormalizeDouble“ zurückzugeben. Parameter dieser Funktion:

Wert: Wir werden (bullpowerArray[0]) als normalisierte Zahl verwenden.

Stellen: Wir verwenden 6 als Anzahl der Dezimalstellen nach dem Komma.

double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);

Sechster Schritt: Wir werden eine Kommentarfunktion verwenden, um einen Kommentar zum Chart mit dem aktuellen Wert von Bulls Power zu erzeugen:

Comment("Bull's Power Value is ",bullpowerVal);

Das Folgende ist der vollständige Code des vorherigen Handelssystems:

//+------------------------------------------------------------------+
//|                                          Simple Bull's Power.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()
  {
   double bullpowerArray[];

   ArraySetAsSeries(bullpowerArray,true);

   int bullpowerDef = iBullsPower(_Symbol,_Period,13);

   CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);

   Comment("Bull's Power Value is ",bullpowerVal);

  }
//+------------------------------------------------------------------+

Danach kompilieren wir diesen Code, um den Experten dieses Codes im Navigator-Fenster zu sehen, wie im Folgenden dargestellt:

Bulls Power  Nav

Mit einem Doppelklick auf Simple Bulls Power wird er auf dem MetaTrader 5-Terminal ausgeführt, es wird das folgende Fenster angezeigt:

Simple Bulls Power Fenster

Nachdem Sie auf „OK“ geklickt haben, sehen Sie, dass der Experte auf dem Chart läuft, wie in der folgenden Abbildung dargestellt.

 Simple Bulls Power gestartet

Wie wir auf dem Chart in der oberen rechten Ecke sehen können, läuft der Experte. Jetzt sind wir bereit, den automatischen Kommentar mit dem aktualisierten Wert der aktuellen Bullenpower auf dem Diagramm zu erhalten, wie im folgenden Beispiel aus dem Test: 

 Simple Bulls Power Signal

Wie wir auf dem vorherigen Chart in der oberen linken Ecke sehen können, gibt es den aktuellen Wert des Bulls Power als Kommentar.

Das Folgende ist der vollständige Code zum Erstellen eines Handelssystems für diese Strategie:

//+------------------------------------------------------------------+
//|                                         Bulls Power 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()
  {
   double bullpowerArray[];

   ArraySetAsSeries(bullpowerArray,true);

   int bullpowerDef = iBullsPower(_Symbol,_Period,13);

   CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);
   double bullpowerPrevVal = NormalizeDouble(bullpowerArray[1],6);

   if(bullpowerVal>bullpowerPrevVal)
     {
      Comment("Bull's Power is rising","\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

   if(bullpowerVal<bullpowerPrevVal)
     {
      Comment("Bull's Power is declining","\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }
  }
//+------------------------------------------------------------------+

Unterschiede in diesem Code sind die gleichen wie die folgenden:

Ermitteln des aktuellen Wertes von Bulls Power „bullpowerVal“ und des vorherigen „bullpowerPrevVal“:

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);
   double bullpowerPrevVal = NormalizeDouble(bullpowerArray[1],6);

Bedingungen der Strategie:

Bei steigenden Werten:

   if(bullpowerVal>bullpowerPrevVal)
     {
      Comment("Bull's Power is rising","\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

Bei fallenden Werten:

   if(bullpowerVal<bullpowerPrevVal)
     {
      Comment("Bull's Power is declining","\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

Nachdem wir diesen Code kompiliert haben, können wir den Experten im Navigationsfenster finden:

Bulls Power  Nav

Durch Ziehen und Ablegen auf dem gewünschten Chart wird das Fenster wie folgt aussehen.

 Bulls Power Bewegung Fenster

Durch Drücken von „OK“ wird der Expert Advisor auf dem Chart gestartet:

 Bulls Power Bewegung gestartet

Wie wir im vorherigen Diagramm in der oberen rechten Ecke des Charts sehen können, läuft der Experte bereits auf dem Chart und wir sind nun bereit, seine Signale wie die folgenden zu erhalten.

Bei steigenden aktuellen Daten:

 Bulls Power Bewegung - steigend - aktuelle Daten

Wie wir auf dem vorherigen Chart im oberen Teil des Charts sehen können, haben wir ein steigendes Signal, den aktuellen und den vorherigen Wert von Bulls Power ausgewiesen. Im Datenfenster können wir den aktuellen Wert von Bulls Power ablesen.

Bei steigenden früheren Daten:

 Bulls Power Bewegung - steigend - vorherigee Daten

Wie wir auf dem vorherigen Chart sehen können, können wir nur die Differenz im Datenfenster finden, da wir den vorherigen Wert der Bullenpower sehen können.

Im Falle eines Rückgangs der aktuellen Daten:

Bulls Power Bewegung - fallend - aktuelle Daten

Wie wir auf dem vorherigen Chart im oberen Teil des Charts sehen können, haben wir ein fallendes Signal, den aktuellen und den vorherigen Wert von Bulls Power. Im Datenfenster können wir den aktuellen Wert von Bulls Power ablesen.

Bei fallenden, vorherigen Daten,

 Bulls Power Bewegung - fallend - vorherige Daten

Wie wir auf dem vorherigen Chart sehen können, können wir den einzigen Unterschied im Datenfenster finden, da wir den letzten Wert der Bulls Power finden können.

Das Folgende ist der vollständige Code zum Erstellen eines Handelssystems für diese Strategie:

//+------------------------------------------------------------------+
//|                          Bull's Power - Strong or Divergence.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()
  {
   double bullpowerArray[];
   MqlRates priceArray[];

   ArraySetAsSeries(bullpowerArray,true);
   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

   int bullpowerDef = iBullsPower(_Symbol,_Period,13);

   CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);
   double bullpowerPrevVal = NormalizeDouble(bullpowerArray[1],6);

   double currentHighVal=NormalizeDouble(priceArray[2].high,6);
   double prevHighVal=NormalizeDouble(priceArray[1].high,6);

   if(currentHighVal>prevHighVal && bullpowerVal>bullpowerPrevVal)
     {
      Comment("Strong Move","\n",
              "Current High Value is ",currentHighVal,"\n",
              "Previous High Value is ",prevHighVal,"\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

   if(currentHighVal>prevHighVal && bullpowerVal<bullpowerPrevVal)
     {
      Comment("Bearish divergence","\n",
              "Current High Value is ",currentHighVal,"\n",
              "Previous High Value is ",prevHighVal,"\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }
  }
//+------------------------------------------------------------------+

Die Unterschiede in diesem Code sind die gleichen wie die folgenden:

Erstellen von zwei Arrays, bullpowerArray und priceArray:

   double bullpowerArray[];
   MqlRates priceArray[];

Ausrichten der erstellten Arrays, für bullpowerArray mit der Funktion „ArraySetAsSeries“, die wir sie bereits kennen, Für priceArray werden wir die Funktion „CopyRates“ verwenden, um historische Daten von „MqlRates“ zu erhalten, und ihre Parameter sind:

   ArraySetAsSeries(bullpowerArray,true);
   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

Bestimmen der aktuellen und vorherigen Werte von Bulls Power und der Höchstwerte mit Hilfe der Funktion „NormalizeDouble“.

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);
   double bullpowerPrevVal = NormalizeDouble(bullpowerArray[1],6);

   double currentHighVal=NormalizeDouble(priceArray[2].high,6);
   double prevHighVal=NormalizeDouble(priceArray[1].high,6);

Bedingungen der Strategie:

Im Falle einer starken Bewegung:

   if(currentHighVal>prevHighVal && bullpowerVal>bullpowerPrevVal)
     {
      Comment("Strong Move","\n",
              "Current High Value is ",currentHighVal,"\n",
              "Previous High Value is ",prevHighVal,"\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

Im Falle einer bärischen Divergenz

   if(currentHighVal>prevHighVal && bullpowerVal<bullpowerPrevVal)
     {
      Comment("Bearish divergence","\n",
              "Current High Value is ",currentHighVal,"\n",
              "Previous High Value is ",prevHighVal,"\n",
              "Bull's Power Value is ",bullpowerVal,"\n",
              "Bull's Power Previous Value is ",bullpowerPrevVal);
     }

Nach dem Kompilieren dieses Codes können wir den Experten dieses Handelssystems im Navigatorfenster finden:

Bulls Power Nav2

Wenn Sie auf diesen Experten doppelklicken, um ihn auszuführen, erscheint folgendes Fenster:

 Bulls Power - Stark oder Divergenz Fenster

Nachdem Sie auf „OK“ geklickt haben, sehen Sie, dass der Experte auf dem Chart läuft, wie in der folgenden Abbildung dargestellt.

 Bulls Power - Stark oder Divergenz gestartet

Wie wir in der oberen rechten Ecke sehen können, läuft der Experte und wir sind bereit, seine Signale zu empfangen, genau wie im Folgenden.

Im Falle einer starken Bewegung der aktuellen Daten:

Bulls Power - Stark oder Divergenz - stark - aktuelle Daten

Wie wir auf dem Chart sehen können, haben wir das gewünschte Signal genauso wie wir wollen, basierend auf dieser Strategie mit einem Kommentar der folgenden Werte:

Im Falle eines starken Rückgangs der vorherigen Daten,

 Bulls Power - Stark oder Divergenz - stark - vorherige Daten

Wie wir auf dem vorherigen Chart sehen können, haben wir den gleichen Kommentar wie ein Signal auf dem Chart mit den gleichen Werten, aber der Unterschied ist das vorherige Datenfenster.

Im Falle einer bärischen Divergenz mit dem aktuellen Datenfenster:

Bulls Power - Stark oder Divergenz - Bärische Divergenz - aktuelle Daten

Wie wir auf dem vorherigen Chart sehen können, haben wir einen Kommentar auf dem Chart mit den folgenden Werten:

Im Falle einer bärischen Divergenz der vorherigen Daten

 Bulls Power - Stark oder Divergenz - Bärische Divergence - vorherige Daten

Wie wir im vorherigen Diagramm sehen können, haben wir einen Kommentar mit demselben Wert, aber hier finden wir das vorherige Datenfenster.

Das Folgende ist der vollständige Code zum Erstellen eines Handelssystems für diese Strategie:

//+------------------------------------------------------------------+
//|                                         Bulls' Power signals.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()
  {
   double bullpowerArray[];
   double maArray[];
   MqlRates priceArray[];

   ArraySetAsSeries(bullpowerArray,true);
   ArraySetAsSeries(maArray,true);
   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

   int bullpowerDef = iBullsPower(_Symbol,_Period,13);
   int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);

   CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);
   CopyBuffer(maDef,0,0,3,maArray);

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);

   double emaVal = NormalizeDouble(maArray[0],6);

   double currentClose=NormalizeDouble(priceArray[2].close,6);

   if(bullpowerVal<0 && currentClose<emaVal)
     {
      Comment("Sell Signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current EMA Value is ",emaVal,"\n",
              "Bull's Power Value is ",bullpowerVal);
     }

   if(bullpowerVal>0 && currentClose>emaVal)
     {
      Comment("Buy Signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current EMA Value is ",emaVal,"\n",
              "Bull's Power Value is ",bullpowerVal);
     }
  }
//+------------------------------------------------------------------+

Unterschiede in diesem Code:

Erstellen von drei Arrays, bullpowerArray, maArray und priceArray.

   double bullpowerArray[];
   double maArray[];
   MqlRates priceArray[];

Ausrichten dieser drei erstellten Arrays.

   ArraySetAsSeries(bullpowerArray,true);
   ArraySetAsSeries(maArray,true);
   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);

Wir erhalten Bulls Power mit Hilfe der Funktion „iBullsPower“, nachdem wir eine Integer-Variable für „bullpowerDef“ erstellt haben, und den Indikator des gleitenden Durchschnitts mit Hilfe der Funktion „iMA“, die das Handle des gleitenden Durchschnitts zurückgibt, nachdem wir eine Integer-Variable für „maDef“ erstellt haben.

   int bullpowerDef = iBullsPower(_Symbol,_Period,13);
   int maDef = iMA(_Symbol,_Period,13,0,MODE_EMA,PRICE_CLOSE);

Wir füllen das erstellte Array mit der Funktion „CopyBuffer“, um die Daten von Bulls Power und des gleitenden Durchschnitts zu erhalten.

   CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);
   CopyBuffer(maDef,0,0,3,maArray);

Wir werden den aktuelle Bulls Power, den exponentiellen gleitenden Durchschnitt und den aktuellen Schlusskurs abrufen.

   double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);
   double emaVal = NormalizeDouble(maArray[0],6);
   double currentClose=NormalizeDouble(priceArray[2].close,6);

Bedingungen für diese Strategie:

Im Falle des Verkaufssignals

   if(bullpowerVal<0 && currentClose<emaVal)
     {
      Comment("Sell Signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current EMA Value is ",emaVal,"\n",
              "Bull's Power Value is ",bullpowerVal);
     }

Im Falle des Kaufsignals:

   if(bullpowerVal>0 && currentClose>emaVal)
     {
      Comment("Buy Signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current EMA Value is ",emaVal,"\n",
              "Bull's Power Value is ",bullpowerVal);
     }

Nachdem wir diesen Code kompiliert haben, können wir ihn im Navigator von MetaTrader 5 wie folgt finden:

Bulls Power  Nav3

Wenn Sie auf diesen Experten doppelklicken, um ihn auszuführen, erscheint folgendes Fenster:

 Bulls Power Signal Fenster

Nachdem Sie auf „OK“ geklickt haben, sehen Sie, dass der Experte auf dem Chart läuft, wie in der folgenden Abbildung dargestellt.

Bulls Power Signale gestartet

Wie wir auf dem Chart in der oberen rechten Ecke sehen können, läuft der Experte Bulls Power signals. Dann sind wir bereit, Signale zu erhalten, die auf dieser Handelsstrategie basieren, wie die folgenden:

Im Falle des Verkaufssignals:

 Bulls Power Signale - verkaufen

Wie wir auf dem Chart sehen können, haben wir einen Kommentar mit den folgenden Werten:

Im Falle eines Kaufsignals:

 Bulls Power Signale - kaufen

Wie wir auf dem Chart sehen können, wird das gewünschte Signal als Kommentar auf dem Chart mit den folgenden Werten angezeigt:

Für jede der genannten Strategien haben wir ein Handelssystem erstellt, um automatische Signale zu generieren.

Schlussfolgerung

Ich hoffe, dass wir diesen Indikator in den vorangegangenen Themen behandelt haben. Wir haben im Detail gelernt, was der Indikator Bulls Power ist, was er misst, wie wir ihn berechnen können, wie wir ihn ablesen können und wie wir den in MetaTrader 5 eingebauten Bulls Power Indikator einfügen und verwenden können, indem wir das Thema Bulls Power Definition durchgenommen haben. Danach haben wir gelernt, wie man diesen Indikator auf der Grundlage des Grundkonzepts durch einige einfache Strategien zu verwenden, und das grundlegende Ziel dieser Strategien ist es, zu lernen, wie wir diesen Indikator verwenden können. Sie müssen alles testen, bevor Sie sie auf Ihrem realen Konto verwenden, um sicherzustellen, dass sie für Ihren Handelsstil geeignet sind, und um Gewinne durch sie zu generieren. Diese Strategien waren dieselben wie die folgenden:

Danach haben wir eine Schritt-für-Schritt-Blaupause für jede erwähnte Strategie entworfen, um uns zu helfen, ein Handelssystem reibungslos zu erstellen, nachdem wir unsere Ideen durch diese Blaupausen organisiert haben. Dann lernten wir, wie man ein Handelssystem für jede erwähnte Strategie erstellt, um automatisch Signale zu erhalten, nachdem man sie auf MQL5 kodiert hat, um auf dem MetaTrader 5-Handelsterminal ausgeführt zu werden. Ich hoffe, dass Sie sich beworben und versucht haben, die genannten Codes selbst zu schreiben, um Ihre Programmierfähigkeiten zu verbessern, wenn Sie das möchten. Dies wird Ihre Lernkurve als Programmierer verbessern.

Ich hoffe, dass dieser Artikel auch für Sie nützlich ist, um Ihren Handel zu verbessern und Ihre Handelsergebnisse zu steigern. Wenn Sie mehr ähnliche Artikel über das Lernen, wie man ein Handelssystem auf der Grundlage der beliebtesten technischen Indikatoren zu entwerfen lesen möchten, können Sie meine anderen Artikel in dieser Serie zu lesen, wie wir viele technische Indikatoren, die wir in diesen Artikeln geteilt und konzipiert Handelssysteme auf sie und auf das grundlegende Konzept hinter ihnen durch einfache Strategien.