English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
Analyse von Kerzenmustern

Analyse von Kerzenmustern

MetaTrader 5Handelssysteme | 9 März 2016, 11:03
4 333 0
Dmitry Voronkov
Dmitry Voronkov


"Durch das Hinterfragen des Alten lernen wir Neues"

Einleitung

Die Darstellung von Kerzendiagrammen und die Analyse von Kerzenmustern sind ein erstaunlicher Bereich der technischen Analyse. Der Vorteil von Kerzen ist, dass sie Daten auf eine Art darstellen, dank der Sie die Bewegungen innerhalb der Daten erkennen können.

Kerzen zeichnen ein lebendiges geistiges Bild des Handels. Nach der Lektüre dieses Beitrags und etwas Übung werden Kerzen ein fester Bestandteil Ihres analytischen Arsenals sein. Mit japanischen Kerzendiagrammen können Sie in das "Innere" der Finanzmärkte vordringen, was mit anderen grafischen Methoden nur schwierig zu bewerkstelligen ist. Sie sind für alle Märkte gleichermaßen geeignet.

1. Arten von Kerzen

Einer der ersten Analytiker, der begann, zukünftige Preisbewegungen anhand vergangener Preise zu prognostizieren, war der legendäre Munehisa Homma. Die von Homma beim Handel auf dem Reismarkt angewendeten Handelsprinzipien waren der Beginn der japanischen Kerzentechnik, die heute in Japan und auf der ganzen Welt weit verbreiten ist.

Struktur einer Kerze

Abbildung 1. Struktur einer Kerze

Betrachten Sie die Struktur der Kerze (Abb. 1). Das Rechteck, das den Unterschied zwischen Öffnungs- und Schließungspreisen darstellt, wird als Körper der Kerze bezeichnet. Die Höhe des Körpers stellt den Bereich zwischen den Öffnungs- und Schließungspreisen des Handelszeitraums dar. Wenn der Schließungspreis höher ist als der Öffnungspreis, ist der Kerzenkörper weiß (Abb. 1 a). Ist der Körper schwarz (Abb. 1 b), bedeutet das, dass der Schließungspreis unter dem Öffnungspreis lag.

Kerzen haben einen oberen und einen unteren Schatten. Die Länge des Schattens hängt vom Abstand zwischen den Öffnungs-/Schließungspreisen und den Mindest-/Höchstpreisen ab.

Kerzen werden eine nach der anderen im Diagramm dargestellt und bilden verschiedene Muster. Die Theorie besagt, dass einige Muster mit einer bestimmten Wahrscheinlichkeit andeuten, dass der Trend sich ändert, oder den Trend bestätigen oder zeigen, dass der Markt unentschlossen ist.

Lange Kerzenkörper stehen für gewöhnlich für Druck von Käufern oder Verkäufern (je nach Farbe der Kerze). Kurze Körper bedeuten, dass der Kampf zwischen Bullen und Bären schwach war.

 Kerzen Beschreibung
 

"Lange Kerzen". Der Verweis auf lange Kerzen ist in der Literatur zu japanischen Kerzen weit verbreitet.
Das Wort "lang" bezieht sich auf die Körperlänge einer Kerze, d. h. den Unterschied zwischen dem Öffnungspreis und dem Schließungspreis.
Es empfiehlt sich, die aktuellsten Preisbewegungen zu betrachten, um zu bestimmen, was lang ist und was nicht.
Die fünf oder zehn letzten Tage sind ein gut geeigneter Zeitraum für eine korrekte Schlussfolgerung.
 

 "Kurze Kerzen". Die Bestimmung von kurzen Kerzen kann auf den gleichen Methoden basieren wie die langer Kerzen und führt zu ähnlichen Ergebnissen.
Darüber hinaus gibt es zahlreiche Kerzen, die in keine dieser beiden Kategorien fallen.
"Marubozu". Das japanische Wort "Marubozu" bedeutet "kurz geschoren".
Die Bedeutung dieses Wortes sagt in jedem Fall aus, dass der Körper der Kerze entweder keine oder nur sehr kurze Schatten nach oben und/oder unten hat.

Schwarze Marubozu – ein langer schwarzer Körper ohne Schatten auf beiden Seiten. Sie ist oft teil eines baissierenden Fortsetzungsmusters oder haussierenden Umkehrmusters und tritt insbesondere bei Abwärtstrends auf. Eine lange schwarze Kerze deutet auf einen deutlichen Sieg der Bären hin und erscheint somit oft am ersten Tag vieler haussierender Umkehrmuster.

Weiße Marubozu – ein langer weißer Körper ohne Schatten auf beiden Seiten. Das ist eine sehr starke Kerze. Im Gegensatz zur schwarzen Marubozu ist sie oft teil eines haussierenden Fortsetzungsmusters oder eines baissierenden Umkehrmusters.
"Doji". Wenn der Körper der Kerze so kurz ist, dass Öffnungs- und Schließungspreise gleich sind, wird dies als Doji bezeichnet.
Die Anforderung, dass Öffnungs- und Schließungspreise völlig identisch sein müssen, würde die Daten stark einschränken und Doji würde äußerst selten erscheinen.
Es ist mehr als ausreichend, wenn der Preisunterschied zwischen dem Öffnungspreis und dem Schließungspreis nur wenige Ticks beträgt (minimale Preisänderung).
"Kreisel" sind kurze Kerzen mit einem oberen und/oder unteren Schatten, der länger ist als der Körper.
Sie werden manchmal "weiße" und "schwarze" Doji genannt. Kreisel deuten auf unentschlossene Bullen und Bären hin.
Die Farbe des Kreiselkörpers und die Länge seines Schattens sind unwichtig. Was den Kreisel auszeichnet, ist der im Vergleich zu den Schatten kleine Körper.
 

"Gehängter" und "Hammer". Das sind Kerzen mit langen unteren Schatten und kurzen Körpern. Die Körper befinden sich im oberen Teil des Preisbereichs.
Das Überraschende an diesen Kerzen ist, dass sie haussierend und baissierend sein können, je nach der Trendphase, in der sie auftreten.
Das Erscheinen dieser Kerzen in einem Abwärtstrend ist ein Signal dafür, dass der Trend bald zu Ende sein wird. In diesem Fall wird die Kerze als "Hammer" bezeichnet.
Erscheint die Kerze während eines Aufwärtstrends, deutet sie auf sein mögliches Ende hin und hat einen ominösen Namen: "Gehängter".
Ein "Stern" erscheint, wenn ein kleiner Körper sich vom vorherigen langen Körper ausgehend nach oben oder unten öffnet. Die Farbe des Körpers ist unwichtig.
Idealerweise muss die Lücke auch Schatten abfangen, doch das ist keine Grundvoraussetzung. Der Stern deutet auf Ungewissheit auf dem Markt hin.
Sterne sind in vielen Kerzenmustern zu finden, insbesondere in Umkehrmustern.

 Tabelle 1. Arten von Kerzen

Einzelne Kerzen sind äußerst wichtig für die Analyse von Kombinationen von Kerzen. Wenn ein Analytiker sie erst separat und dann in Kombination mit anderen Kerzen verwendet, wird dadurch der psychologische Zustand des Marktes offengelegt.

2. Identifikation der Basistypen von Kerzen

2,1. Erforderliche Strukturen

Kerzenmuster können aus einer einzelnen Kerze oder mehreren Kerzen bestehen. Es gibt bestimmte Regeln für die Erkennung von Kerzenmustern.

Beispiel: Abendstern (baissierendes Muster). Der Aufwärtstrend. Die erste und dritte Kerze sind "lang". Die Schatten der Sterne sind kurz, die Farbe ist unwichtig. Das klassische Muster: Trennung des Sterns vom Close der ersten Kerze, bei Forex und innerhalb des Tages: Close der ersten Kerze und Open des Sterns sind gleich. Die dritte Kerze ist innerhalb des Körpers der ersten eingeschlossen.

Sehen wir uns also zuerst an, wie die Typen von Kerzen erkannt werden können. Zu diesem Zweck schreiben wir die Funktion RecognizeCandle, die Kerzentypen erkennt und die nötigen Informationen ausgibt.

//+------------------------------------------------------------------+
//|   Function of candlestick type recognition                       |
//+------------------------------------------------------------------+
bool RecognizeCandle(string symbol,ENUM_TIMEFRAMES period, datetime time,int aver_period,CANDLE_STRUCTURE &res)
Dabei bedeutet:
  • symbol – Name des Symbols,
  • period – Zeitraum des Diagramms,
  • time – Öffnungszeit der Kerze,
  • aver_period – Mittelungszeitraum,
  • res – eine Struktur, in der das Ergebnis ausgegeben wird.

Bestimmen wir anhand der Regeln für die Erkennung von Kerzenmustern, welche Ergebnisse wir benötigen:

  • Öffnungs-, Schließungs-, Höchst- und Mindestpreis;
  • Öffnungszeit der Kerze;
  • Trendrichtung;
  • haussierende oder baissierende Kerze;
  • Größe des Kerzenkörpers – ein absoluter Wert;
  • Kerzentyp (gem. Tabelle 1).

Erstellen wir eine Struktur:

//+------------------------------------------------------------------+
//| Structure CANDLE_STRUCTURE                                       |
//+------------------------------------------------------------------+
struct CANDLE_STRUCTURE
  {
   double            open,high,low,close; // OHLC
   datetime          time;     //Time
   TYPE_TREND       trend;    //Trend
   bool              bull;     //Bull candlestick
   double            bodysize; //Body size
   TYPE_CANDLESTICK  type;    //Type of candlestick
  };

Dabei sind trend und type Variablen des Typen Aufzählung:

//+------------------------------------------------------------------+
//|   ENUM TYPE CANDLESTICK                                          |
//+------------------------------------------------------------------+
enum TYPE_CANDLESTICK
  {
   CAND_NONE,          //Unrecognized
   CAND_MARIBOZU,       //Marubozu
   CAND_MARIBOZU_LONG, //Marubozu long
   CAND_DOJI,           //Doji
   CAND_SPIN_TOP,       //Spinning Tops
   CAND_HAMMER,         //Hammer
   CAND_INVERT_HAMMER, //Reverse hammer
   CAND_LONG,           //Long
   CAND_SHORT,          //Short
   CAND_STAR            //Star
  };
//+------------------------------------------------------------------+
//|   TYPE_TREND                                                     |
//+------------------------------------------------------------------+
enum TYPE_TREND
  {
   UPPER,   //Upward
   DOWN,    //Downward
   LATERAL  //Lateral
  }; 

Betrachten wir die RecognizeCandle-Funktion.

2,2. Erkennen des Kerzentyps

//+------------------------------------------------------------------+
//| Function of recognition of candlestick type                      |
//+------------------------------------------------------------------+
bool RecognizeCandle(string symbol,ENUM_TIMEFRAMES period, datetime time,int aver_period,CANDLE_STRUCTURE &res)
  {
   MqlRates rt[];
//--- Get data of previous candlesticks
   if(CopyRates(symbol,period,time,aver_period+1,rt)<aver_period)
     {
      return(false);
     }

Rufen Sie zuerst mithilfe der Funktion CopyRates die Daten vorheriger aver_period +1-Kerzen ab. Beachten Sie die Reihenfolge, in der die Daten im erhaltenen Muster gespeichert sind.

Wurden die Daten ohne Fehler abgerufen, fangen Sie an, unsere Ausgabestruktur CANDLE_STRUCTURE mit Daten zu befüllen.

   res.open=rt[aver_period].open;
   res.high=rt[aver_period].high;
   res.low=rt[aver_period].low;
   res.close=rt[aver_period].close;
   res.time=rt[aver_period].time;

Bestimmen des Trends. Was ist ein Trend? Gäbe es eine halbwegs vollständige Antwort auf diese Frage, wären damit die Geheimnisse des Marktes offengelegt. In diesem Beitrag verwenden wir die Methode zur Bestimmung des Trends mithilfe eines gleitenden Mittelwerts.

MA=(C1+C2+...+Cn)/N,
mit C – Schließungspreise, N – Anzahl der Balken.

In seinem Buch "Candlestick Charting Explained. Timeless techniques for Trading Stocks and Futures" (englisch) nutzt Gregory L. Morris einen gleitenden Mittelwert mit einem Zeitraum von zehn zur Bestimmung eines kurzfristigen Trends. Wenn der Schließungspreis über dem Durchschnitt liegt, geht der Trend nach oben. Wenn er darunter liegt, geht der Trend nach unten.

So sieht es aus:

//--- Define the trend direction
   double aver=0;
   for(int i=0;i<aver_period;i++)
   {
      aver+=rt[i].close;
   }
   aver=aver/aver_period;
   
   if(aver<res.close) res.trend=UPPER;
   if(aver>res.close) res.trend=DOWN;
   if(aver==res.close) res.trend=LATERAL;

Als nächstes bestimmen wir, ob unsere Kerze haussierend oder baissierend ist. Wir berechnen den absoluten Wert des Kerzenkörpers, die Größe der Schatten, die durchschnittliche Körpergröße der Kerze während aver_period und weitere erforderliche Zwischendaten.

//--- Define of it bullish or bearish
   res.bull=res.open<res.close;
//--- Get the absolute value of the candlestick body size
   res.bodysize=MathAbs(res.open-res.close);
//--- Get the size of shadows
   double shade_low=res.close-res.low;
   double shade_high=res.high-res.open;
   if(res.bull)
     {
      shade_low=res.open-res.low;
      shade_high=res.high-res.close;
     }
   double HL=res.high-res.low;
//--- Calculate the average body size of previous candlesticks
   double sum=0;
   for(int i=1; i<=aver_period; i++)
      sum=sum+MathAbs(rt[i].open-rt[i].close);
   sum=sum/aver_period;

Sehen wir uns nun die Identifizierung der Typen von Kerzen an.

2,3. Regeln zur Identifizierung von Kerzentypen

"Lange" Kerzen. Prüfen Sie den Wert der aktuellen Kerze in Bezug auf den Durchschnittswert vorheriger aver_period-Kerzen, um "lange" Kerzen zu definieren.

(Körper) > (durchschnittlicher Körper der letzten fünf Tage) *1,3

//--- long 
   if(res.bodysize>sum*1.3) res.type=CAND_LONG;

"Kurze" Kerzen. Nutzen Sie zur Definition "kurzer" Kerzen dasselbe Prinzip wie bei "langen", allerdings mit einer veränderten Bedingung.

(Körper) < (durchschnittlicher Körper der letzten X Tage) *0,5

//--- short 
   if(res.bodysize<sum*0.5) res.type=CAND_SHORT;

Doji. Doji tritt auf, wenn die Öffnungs- und Schließungspreise gleich sind. Das ist eine sehr strenge Regel. Bei den meisten Typen von Daten können wir gewisse Abweichungen zum Finden von Mustern tolerieren. Mit der Formel kann der prozentuale Unterschied zwischen den zwei Preisen innerhalb der akzeptierten Grenzen bestimmt werden.

(Doji-Körper) < (Bereich zwischen dem höchsten und niedrigsten Preis) *0,03

//--- doji
   if(res.bodysize<HL*0.03) res.type=CAND_DOJI;

"Marubozu". Das ist eine Kerze ohne oder mit sehr kleinem Maximum oder Minimum.

(unterer Schatten) < (Körper) *0,03 oder (oberer Schatten) < (Körper) *0,03

//--- maribozu
   if((shade_low<res.bodysize*0.01 || shade_high<res.bodysize*0.01) && res.bodysize>0)
     {
      if(res.type==CAND_LONG)
         res.type=CAND_MARIBOZU_LONG;
      else
         res.type=CAND_MARIBOZU;
     }

Beim Schreiben eines Indikators für diesen Beitrag musste eine "lange" "Marubozu" abgetrennt werden. Dazu musste ich die Bedingung zur Prüfung "langer" Kerzen hinzufügen.

"Hammer" und "Gehängter".  Der Körper befindet sich im oberen Teil des Tagesbereichs und der untere Schatten ist viel länger als der Körper. Falls es einen oberen Schatten gibt, musst auch seine Länge berücksichtigt werden. Das Verhältnis zwischen Körper und unterem Schatten ist als Verhältnis zwischen Körperlänge zur Länge des unteren Schattens definiert:

(unterer Schatten) > (Körper) *2 und (unterer Schatten) < (Körper) *0,1

//--- hammer
   if(shade_low>res.bodysize*2 && shade_high<res.bodysize*0.1) res.type=CAND_HAMMER;

"Sternschnuppe" und "Umgedrehter Hammer" sind dem Hammer ähnlich, haben aber die entgegengesetzte Bedingung:

(unterer Schatten) < (Körper) *0,1 und (unterer Schatten) > (Körper) *2

//--- invert hammer
   if(shade_low<res.bodysize*0.1 && shade_high>res.bodysize*2) res.type=CAND_INVERT_HAMMER;

"Kreisel". Das sind "kurze" Kerzen, deren Schatten länger sind als ihr Körper:

(unterer Schatten) > (Körper) und (oberer Schatten) > (Körper)

//--- spinning top
   if(res.type==CAND_SHORT && shade_low>res.bodysize && shade_high>res.bodysize) res.type=CAND_SPIN_TOP;

Der Quelltext der Funktion und die Strukturbeschreibungen befinden sich in der angehängten Datei CandlestickType.mqh. 

Ferner ist der Indikator Candlestick Type Color.mq5 an den Beitrag angehängt, der Kerzen im Diagramm abhängig von ihrem Typ einfärbt.


 Abbildung 2. Beispiel für Candlestick Type Color.mq5

Wir haben also eine Funktion erstellt, die alle erforderlichen Daten ausgibt.

Nun können wir mit der Erstellung eines Indikators fortfahren, der Kerzenmuster erkennt.

3. Kerzenmuster und Algorithmen für ihre Identifikation

Ein Kerzenmuster kann aus einer einzelnen oder mehreren Kerzen bestehen, selten mehr als fünf oder sechs. In der japanischen Literatur wird gelegentlich auf Muster verwiesen, die aus einer größeren Menge an Kerzen bestehen. Die Reihenfolge, in der wir die Muster betrachten, sagt nichts über ihre Wichtigkeit oder ihre Prognosefähigkeiten aus. 

Kerzenmuster werden in zwei Typen unterteilt: Umkehrmuster und Fortsetzungsmuster.

Wir betrachten zuerst einfache Muster (eine Kerze) und anschließend komplexe Muster (mehrere Kerzen). Die Abbildung mit dem Muster beginnt mit zwei kleinen vertikalen Linien. Diese Linien zeigen einfach die Richtung des vorherigen Markttrends und sollten nicht als direkter Hinweis auf die Beziehungen zwischen Mustern betrachtet werden.

Die Muster werden in einer Tabelle vorgestellt, das haussierende Muster in der ersten Zeile, das entgegengesetzte baissierende, sofern vorhanden, in der zweiten.

3,1. UMKEHRMUSTER VON KERZEN

3.1.1. Muster aus einer Kerze

Rufen Sie Daten für eine einzelne Kerze ab:

//--- calculation of candlestick patterns
   for(int i=limit;i<rates_total-1;i++)
     {
      CANDLE_STRUCTURE cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i],InpPeriodSMA,cand1))
         continue;
/* Checking patterns with one candlestick */

und erkennen Sie die Muster.

Name des Musters Order Klassisches Muster Forex Mustererkennung
Umgedrehter
Hammer
(haussierend)

Buy

 Abwärtstrend.
Der obere Schatten ist nicht weniger als 2 und nicht mehr als 3 Mal so groß wie der Körper.
Es gibt keinen oder nur einen sehr kurzen unteren Schatten (nicht mehr als 10 % des Kerzenbereichs).
Die Farbe des Körpers ist beim langen Spiel unwichtig, beim kurzen ist der weiße Hammer viel stärker als der schwarze.
Eine Bestätigung wird empfohlen.

Gehängter
(baissierend)

Sell

 Aufwärtstrend.
Der untere Schatten ist nicht weniger als 2 und nicht mehr als 3 Mal so groß wie der Körper.
Es gibt keinen oder nur einen sehr kurzen oberen Schatten (nicht mehr als 10 % des Kerzenbereichs).
Die Farbe des Körpers ist beim langen Spiel unwichtig, beim kurzen ist der schwarze Gehängte viel stärker als der weiße.
Eine Bestätigung wird empfohlen.

      //------      
      // Inverted Hammer the bull model 
      if(cand1.trend==DOWN && // check the trend direction
         cand1.type==CAND_INVERT_HAMMER) // check the "inverted hammer"
        {
         comment=_language?="Inverted hammer";
         DrawSignal(prefix+"Inverted Hammer the bull model"+string(objcount++),cand1,InpColorBull,comment);
        }
      // Handing Man the bear model 
      if(cand1.trend==UPPER && // check the trend direction
         cand1.type==CAND_HAMMER) // check "hammer"
        {
         comment=_language?"Hanging Man";
         DrawSignal(prefix+"Hanging Man the bear model"+string(objcount++),cand1,InpColorBear,comment);
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Hammer
(haussierend)

Buy

 Abwärtstrend.
Der untere Schatten ist nicht weniger als 2 und nicht mehr als 3 Mal so groß wie der Körper.
Es gibt keinen oder nur einen sehr kurzen oberen Schatten (nicht mehr als 10 % des Kerzenbereichs).
Die Farbe des Körpers ist beim langen Spiel unwichtig, beim kurzen ist der weiße Hammer viel stärker als der schwarze.
Eine Bestätigung wird empfohlen.
Sternschnuppe
(baissierend)

Sell

 Aufwärtstrend.
Der obere Schatten ist mindestens 3 Mal größer als der Körper.
Es gibt keinen oder nur einen sehr kurzen unteren Schatten (nicht mehr als 10 % des Kerzenbereichs).
Preislücke zwischen dem Stern und der vorherigen Kerze.
 Forex: Der Close-Preis der vorherigen Kerze und der Open-Preis des Sterns sind gleich.
Die Farbe des Körpers ist unwichtig.
Eine Bestätigung wird empfohlen.

      //------      
      // Hammer the bull model 
      if(cand1.trend==DOWN && //check the trend direction
         cand1.type==CAND_HAMMER) // check the hammer
        {
         comment=_language?"Hammer";
         DrawSignal(prefix+"Hammer the bull model"+string(objcount++),cand1,InpColorBull,comment);
        }
      //------      
      // Shooting Star the bear model 
      if(cand1.trend==UPPER && cand2.trend==UPPER && //check the trend direction
         cand2.type==CAND_INVERT_HAMMER) // check the inverted hammer
        {
         comment=_language?"Shooting Star";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open) // close 1 less equal open 1
              {
               DrawSignal(prefix+"Shooting Star the bear model"+string(objcount++),cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close) // 2 candlestick detached from 1
              {
               DrawSignal(prefix+"Shooting Star the bear model"+string(objcount++),cand2,InpColorBear,comment);
              }
           }
        }

Ich möchte Ihre Aufmerksamkeit darauf lenken, dass wir bei der "Sternschnuppe" tatsächlich zwei Kerzen brauchen, da gemäß den Erkennungsbedingungen der Körper des vorherigen Tages berücksichtigt wird.

Name des Musters Order Klassisches Muster Forex Mustererkennung
Gürtelgriff
(haussierend)



Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
Öffnung der Kerze mit großer Lücke in der Richtung des Trends.
 Weiße Kerze – "Marubozu" "lang".
 Der Körper der weißen Kerze ist viel größer als der Körper der vorherigen Kerze.
Eine Bestätigung wird empfohlen.
Gürtelgriff
(baissierend)


Sell

Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
Öffnung der Kerze mit großer Lücke in der Richtung des Trends.
Schwarze Kerze – "Marubozu" "lang".
 Der Körper der schwarzen Kerze ist viel größer als der Körper der vorherigen Kerze.
Eine Bestätigung wird empfohlen.

      //------      
      // Belt Hold the bull model 
      if(cand2.trend==DOWN && cand2.bull && !cand1.bull &&// check the trend direction and direction of the candlestick
         cand2.type==CAND_MARIBOZU_LONG && // check the "long" marubozu
         cand1.bodysize<cand2.bodysize && cand2.close<cand1.close) // the body of the first candlestick is smaller than the body of the second one, close of the second one is below the close of the first
        {
         comment=_language?"Belt Hold";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Belt Hold the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Belt Hold the bear model
      if(cand2.trend==UPPER && !cand2.bull && cand1.bull && // check the trend direction and direction of the candlestick
         cand2.type==CAND_MARIBOZU_LONG && // check the "long" marubozu
         cand1.bodysize<cand2.bodysize && cand2.close>cand1.close) // the body of the first candlestick is smaller than the body of the second one, close of the second one is above the close of the first
        {
         comment=_language?"Belt Hold";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Belt Hold the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

Wie bei der "Sternschnuppe" werden zwei Kerzen verwendet, da der Körper des vorherigen Tages für die Mustererkennung berücksichtigt wird.

3.1.2. Muster aus fünf Kerzen

Fügen Sie eine weitere Kerze hinzu:

/* Checking patterns with two candlesticks */
      CANDLE_STRUCTURE cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-1],InpPeriodSMA,cand1))
         continue;

und erkennen Sie die Muster:

Name des Musters Order Klassisches Muster Forex Mustererkennung
Umschließend
(haussierend)

Buy

 Abwärtstrend.
Der Körper der zweiten Kerze bedeckt vollständig den Körper der ersten.
 Forex: Close der schwarzen Kerze und Open der weißen fallen zusammen.
Schatten sind unwichtig.
Eine Bestätigung wird empfohlen.

Umschließend
(baissierend)

Sell

 Aufwärtstrend.
Der Körper der zweiten Kerze bedeckt vollständig den Körper der ersten.
 Forex: Close der weißen Kerze und Open der schwarzen fallen zusammen.
Schatten sind unwichtig.
Eine Bestätigung wird empfohlen.

      //------      
      // Engulfing the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && // check the trend direction and direction of the candlestick
         cand1.bodysize<cand2.bodysize) // the body of the second candlestick is larger than that of the first
        {
         comment=_language?"Engulfing";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Engulfing the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && // check the trend direction and direction of the candlestick
         cand1.bodysize<cand2.bodysize) // the body of the second candlestick is larger than that of the first
        {
         comment=_language?"Engulfing";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.open>cand2.close) //the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Engulfing the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.open>cand2.close) // close 1 less equal to open 2 or open 1 larger equal to close 2
              {
               DrawSignal(prefix+"Engulfing the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Harami-Kreuz (haussierend)

Buy

 Abwärtstrend.
Die erste Kerze des Musters ist lang und schwarz.
Die Doji befindet sich einschließlich ihrer Schatten innerhalb des Bereichs der ersten Kerze.
 Forex: Doji ist auf dem Niveau des Close-Preises der ersten Kerze. Wenn die Schatten der Doji kurz sind, sollte das Muster als Doji-Stern für Forex betrachtet werden.
Eine Bestätigung wird empfohlen.

Harami-Kreuz
(baissierend)

Sell

 Aufwärtstrend.
Die erste Kerze des Musters ist lang und weiß.
Die Doji befindet sich einschließlich ihrer Schatten innerhalb des Bereichs der ersten Kerze.
 Forex: Doji ist auf dem Niveau des Close-Preises der ersten Kerze. Wenn die Schatten der Doji kurz sind, sollte das Muster als Doji-Stern für Forex betrachtet werden.
Eine Bestätigung wird empfohlen.

      //------      
      // Harami Cross the bull model
      if(cand1.trend==DOWN && !cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking the "long" first candlestick and doji
        {
         comment=_language?""Harami Cross";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Harami Cross the bear model
      if(cand1.trend==UPPER && cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) //  checking the "long" candlestick and doji
        {
         comment=_language?"Harami Cross";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) //  doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) //  doji inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami Cross the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Harami
(haussierend)

Buy

 Abwärtstrend.
 Der Körper der ersten "langen" Kerze umschließt vollständig den Körper der zweiten.
Schatten sind unwichtig.
Forex: Close der schwarzen Kerze und Open der weißen fallen zusammen.
Eine Bestätigung wird empfohlen.

Harami
(baissierend)

Sell

 Aufwärtstrend.
 Der Körper der ersten "langen" Kerze umschließt vollständig den Körper der zweiten.
Schatten sind unwichtig.
Forex: Close der weißen Kerze und Open der schwarzen fallen zusammen.
Eine Bestätigung wird empfohlen.

      //------      
      // Harami the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.bull &&// check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long"first candlestick
          cand2.type!=CAND_DOJI && cand1.bodysize>cand2.bodysize) // the second candlestick is not doji and the body of the first is larger than the body of the second
        {
         comment=_language?"Harami";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // body of the second candlestick is inside the body of the first
              {
               DrawSignal(prefix+"Harami the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // body of the second candlestick is inside the body of the first
              {
               DrawSignal(prefix+"Harami the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
              }
           }
        }
      // Harami the bear model
      if(cand1.trend==UPPER && cand1.bull && !cand2.bull &&// check the trend direction and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" first candlestick
          cand2.type!=CAND_DOJI && cand1.bodysize>cand2.bodysize) // the second candlestick is not doji and body of the first candlestick is larger than that of the second
        {
         comment=_language?"Harami";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) // doji is inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) //doji is inside the body of the first candlestick
              {
               DrawSignal(prefix+"Harami the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Doji-Stern
(haussierend)

Buy

 Abwärtstrend.
 Die erste Kerze des Musters ist lang und schwarz.
 Zweite Sitzung: Doji mit Unterbrechung in Trendrichtung.
Forex: keine Unterbrechung.
Die Schatten der Doji sind kurz.
Eine Bestätigung wird empfohlen.

Doji-Stern
(baissierend)

Sell

 Aufwärtstrend.
Die erste Kerze des Musters ist lang und weiß.
 Zweite Sitzung: Doji mit Unterbrechung in Trendrichtung.
Forex: keine Unterbrechung.
Die Schatten der Doji sind kurz.
Eine Bestätigung wird empfohlen.

      //------      
      // Doji Star the bull model 
      if(cand1.trend==DOWN && !cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking 1 "long" candlestick and 2 doji
        {
         comment=_language?"Doji Star";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open) // open of doji is below or equal to close of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);

              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close) // the body of doji is alienated from the body of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);

              }
           }
        }
      // Doji Star the bear model 
      if(cand1.trend==UPPER && cand1.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand2.type==CAND_DOJI) // checking 1 "long" candlestick and 2 doji
        {
         comment=_language?"Doji Star";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open) // // open of doji is above or equal to close of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);

              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close) // // the body of doji is alienated from the body of the first candlestick
              {
               DrawSignal(prefix+"Doji Star the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);

              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Loch in den Wolken
(haussierend)

Buy

 Abwärtstrend.
 Beide Kerzen sind lang.
Open der weißen Kerze liegt unter Low der schwarzen.
 Forex: Close der schwarzen Kerze und Open der weißen sind gleich.
Die weiße Kerze ist in der schwarzen eingeschlossen und bedeckt mehr als 50 % des Körpers. (Bei Aktienmärkten: Im Gegensatz zur dunklen Wolkendecke gibt es keine Ausnahmen für diese Anforderung.)
Keine Bestätigung erforderlich beim klassischen Modell, erforderlich für Forex.
Dunkle Wolkendecke (baissierend)

Sell

 Aufwärtstrend.
 Beide Kerzen sind lang.
 Open der schwarzen Kerze liegt über High der weißen.
 Forex: Close der weißen Kerze und Open der schwarzen sind gleich.
Die schwarze Kerze ist in der weißen eingeschlossen und bedeckt mehr als 50 % des Körpers.
Keine Bestätigung erforderlich beim klassischen Modell, erforderlich für Forex.

            //------      
            // Piercing line the bull model 
            if(cand1.trend==DOWN  &&  !cand1.bull  &&  cand2.trend==DOWN  &&  cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
               cand2.close>(cand1.close+cand1.open)/2)// close of the second is above the middle of the first
              {
               comment=_language?"Piercing Line";
               if(_forex)// if forex
                 {
                  if(cand1.close>=cand2.open && cand2.close<=cand1.open)
                    {
                     DrawSignal(prefix+"Gleam in clouds"+string(objcount++),cand1,cand2,InpColorBull,comment);
                    }
                 }
               else
                 {
                  if(cand2.open<cand1.low && cand2.close<=cand1.open) // open of the second candlestick is below LOW of the first, 
                    {
                     DrawSignal(prefix+"Piercing Line"+string(objcount++),cand1,cand2,InpColorBull,comment);
                    }
                 }
              }
            // Dark Cloud Cover the bear model 
            if(cand1.trend==UPPER  &&  cand1.bull  &&  cand2.trend==UPPER && !cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
               cand2.close<(cand1.close+cand1.open)/2)// close 2 is below the middle of the body of 1
              {
               comment=_language?"Dark Cloud Cover";
               if(_forex)// if forex
                 {
                  if(cand1.close<=cand2.open && cand2.close>=cand1.open)
                    {
                     DrawSignal(prefix+"Dark Cloud Cover"+string(objcount++),cand1,cand2,InpColorBear,comment);
                     
                    }
                 }
               else
                 {
                  if(cand1.high<cand2.open && cand2.close>=cand1.open)
                    {
                     DrawSignal(prefix+"Dark Cloud Cover"+string(objcount++),cand1,cand2,InpColorBear,comment);
                     
                    }
                 }
              }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Sich treffende Linien
(haussierend)

Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die erste Kerze des Musters ist lang und schwarz.
 Open der weißen Kerze hat eine große Lücke und liegt unter Low der schwarzen Kerze.
 Die Schließungspreise der beiden Kerzen sind gleich.
 Der Körper der weißen Kerze ist größer als der Körper der schwarzen Kerze.
Eine Bestätigung wird empfohlen.
Sich treffende Linien
(baissierend)

Sell

Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
Die erste Kerze des Musters ist lang und weiß.
 Open der schwarzen Kerze hat eine große Lücke und liegt unter High der weißen Kerze.
 Die Schließungspreise der beiden Kerzen sind gleich.
 Der Körper der schwarzen Kerze ist größer als der Körper der weißen Kerze.
Eine Bestätigung wird empfohlen.

      // Meeting Lines the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close==cand2.close && cand1.bodysize<cand2.bodysize && cand1.low>cand2.open) // close prices are equal, size of the first one is less than of the second one, open of the second is below Low of the first
        {
         comment=_language?"Meeting Lines";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Meeting Lines the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Meeting Lines the bear model 
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close==cand2.close && cand1.bodysize<cand2.bodysize && cand1.high<cand2.open) // // close prices are equal, size of first is less than of second, open of the second is above High of the first
        {
         comment=_language?"Meeting Lines";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Meeting Lines the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Übereinstimmende Low
(haussierend)

Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die erste Kerze des Musters muss nicht zwangsläufig lang sein.
 Die Öffnung der zweiten Kerze findet innerhalb des Körpers der ersten statt.
Die Schließungspreise der beiden Kerzen sind gleich.
Es gibt keine oder nur sehr kurze untere Schatten.
Eine Bestätigung wird empfohlen.

      //------      
      // Matching Low the bull model 
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && !cand2.bull && // check the trend direction and the candlestick direction
         cand1.close==cand2.close && cand1.bodysize>cand2.bodysize) // close prices are equal, size of the first one is larger than of the second
        {
         comment=_language?"Matching Low";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Matching Low the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Brieftaube
(haussierend)

Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die erste Kerze des Musters muss nicht zwangsläufig lang sein.
 Die Öffnung der zweiten Kerze findet innerhalb des Körpers der ersten statt.
Die Schließungspreise der beiden Kerzen sind gleich.
Es gibt keine oder nur sehr kurze untere Schatten.
Eine Bestätigung wird empfohlen.

      //------      
      // Homing Pigeon the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && !cand2.bull && // check the trend direction and the candlestick direction
        (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" candlestick
         cand1.close<cand2.close && cand1.open>cand2.open) // body of the second is inside that of the first candlestick
        {
         comment=_language?"Homing Pigeon";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Homing Pigeon the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);   
           }
        }

 3.1.3. Muster aus drei Kerzen

/* Checking patterns with three candlesticks */
      CANDLE_STRUCTURE cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-2],InpPeriodSMA,cand1))
         continue;
Name des Musters  Order  Klassisches Muster Forex Mustererkennung
Verlassenes Baby
(haussierend)

 

Buy

Das Muster
wird nicht
umgesetzt.

 Dies ist ein seltenes, aber wichtiges Umkehrmuster.
Abwärtstrend.
 Die erste Kerze des Musters ist lang und schwarz.
 Die zweite Kerze ist eine Doji mit einer Lücke. Diese Lücke befindet sich nicht nur zwischen den Kerzenkörpern, sondern auch zwischen Schatten.
Die dritte Kerze ist eine "lange" weiße Kerze mit der gleichen Lücke zwischen den Schatten und Schließung innerhalb des Körpers der ersten Kerze.

  Verlassenes Baby
(baissierend)

 

Sell

  Das Muster
wird nicht
umgesetzt.

 Dies ist ein seltenes, aber wichtiges Umkehrmuster.
Aufwärtstrend.
 Die erste Kerze des Musters ist lang und weiß.
 Die zweite Kerze ist eine Doji mit einer Lücke. Diese Lücke befindet sich nicht nur zwischen den Kerzenkörpern, sondern auch zwischen Schatten.
Die dritte Kerze ist eine "lange" schwarze Kerze mit der gleichen Lücke zwischen den Schatten und Schließung innerhalb des Körpers der ersten Kerze.

      //------      
      // The Abandoned Baby, the bullish model
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check direction of trend and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // check of "long" candlestick
         cand2.type==CAND_DOJI && // check if the second candlestick is Doji
         cand3.close<cand1.open && cand3.close>cand1.close) // the third one is closed inside of body of the first one
        {
         comment=_language?"Abandoned Baby (Bull)":"Abandoned Baby";
         if(!_forex)// if it's not forex
           {
            if(cand1.low>cand2.high && cand3.low>cand2.high) // gap between candlesticks
              {
               DrawSignal(prefix+"Abandoned Baby the bull model"+string(objcount++),cand1,cand1,cand3,InpColorBull,comment);
              }
           }
        }
      // The Abandoned Baby, the bearish model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && // check direction of trend and direction of candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // check of "long" candlestick
         cand2.type==CAND_DOJI && // check if the second candlestick is Doji
         cand3.close>cand1.open && cand3.close<cand1.close) // // the third one is closed inside of body of the second one
        {
         comment=_language?"Abandoned Baby (Bear)":"Abandoned Baby";
         if(!_forex)// if it's not forex
           {
            if(cand1.high<cand2.low && cand3.high<cand2.low) // gap between candlesticks
              {
               DrawSignal(prefix+"Abandoned Baby the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Morgenstern
(haussierend)

Buy


 Abwärtstrend.
 Die erste und dritte Sitzung sind "lange" Kerzen.
Die Schatten der Sterne sind kurz, die Farbe ist unwichtig.
Trennung des Sterns vom Close der ersten Kerze.
Forex: Close der ersten Kerze und Open des Sterns sind gleich.
Die dritte Kerze ist innerhalb des Körpers der ersten eingeschlossen.
 Morgenstern
(baissierend
)

 

Sell

 

 

 Aufwärtstrend.
 Die erste und dritte Sitzung sind "lange" Kerzen.
Die Schatten der Sterne sind kurz, die Farbe ist unwichtig.
Trennung des Sterns vom Close der ersten Kerze.
Forex: Close der ersten Kerze und Open des Sterns sind gleich.
Die dritte Kerze ist innerhalb des Körpers der ersten eingeschlossen.
      // Morning star the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_SHORT && // checking "short"
         cand3.close>cand1.close && cand3.close<cand1.open) // the third candlestick is closed inside the body of the first one
        {
         comment=_language?"Morning star";
         if(_forex)// if forex
           {
            if(cand2.open<=cand1.close) // open of the second candlestick is below or equal to close of the first one
              {
               DrawSignal(prefix+"Morning star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else // another market
           {
            if(cand2.open<cand1.close && cand2.close<cand1.close) // separation of the second candlestick from the first one
              {
               DrawSignal(prefix+"Morning star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Evening star the bear model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_SHORT && // checking "short"
         cand3.close<cand1.close && cand3.close>cand1.open) // the third candlestick is closed inside the body of the first one
        {
         comment=_language?"Evening star";
         if(_forex)// if forex
           {
            if(cand2.open>=cand1.close) // open of the second is above or equal to close of the first one
              {
               DrawSignal(prefix+"Evening star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else // another market
           {
            if(cand2.open>cand1.close && cand2.close>cand1.close) //  separation of the second candlestick from the first one
              {
               DrawSignal(prefix+"Evening star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }
Name des Musters  Order Klassisches Muster Forex Mustererkennung
Doji-Morgenstern
(haussierend)

Buy



 Abwärtstrend.
 Die erste Kerze des Musters ist lang und schwarz.
 Zweite Sitzung: Doji mit Unterbrechung in Trendrichtung.
Forex: keine Unterbrechung.
Die Schatten der Doji sind kurz.
Die dritte Kerze ist innerhalb des Körpers der ersten eingeschlossen.
Doji-Abendstern
(baissierend)

Sell



 Aufwärtstrend.
Die erste Kerze des Musters ist lang und weiß.
 Zweite Sitzung: Doji mit Unterbrechung in Trendrichtung.
Forex: keine Unterbrechung.
Die Schatten der Doji sind kurz.
Eine Bestätigung wird empfohlen.
      //------      
      // Morning Doji Star the bull model 
      if(cand1.trend==DOWN && !cand1.bull && cand3.trend==DOWN && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_DOJI && // checking "doji"
         cand3.close>cand1.close && cand3.close<cand1.open) // third cand. is closed inside body of first
        {
         comment=_language?"Morning Doji Star";
         if(_forex)// if forex
           {
            if(cand2.open<=cand1.close) // open of doji is below or equal to close of the first
              {
               DrawSignal(prefix+"Morning Doji Star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else // another market
           {
            if(cand2.open<cand1.close) // separation of doji from the first
              {
               DrawSignal(prefix+"Morning Doji Star the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Evening Doji Star the bear model
      if(cand1.trend==UPPER && cand1.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand2.type==CAND_DOJI && // checking "doji"
         cand3.close<cand1.close && cand3.close>cand1.open) // third cand. is closed inside body of first
        {
         comment=_language?"Evening Doji Star";
         if(_forex)// if forex
           {
            if(cand2.open>=cand1.close) // open of doji is above or equal to close of the first
              {
               DrawSignal(prefix+"Evening Doji Star the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else // another market
           {
            if(cand2.open>cand1.close) // separation of doji from the first
               // check close 2 and open 3
              {
               DrawSignal(prefix+"Evening Doji Star the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
              }
           }
        }
Name des Musters Order Klassisches Muster Forex Mustererkennung
Zwei Krähen mit Lücke, baissierend

Sell


Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
Die erste Kerze ist "lang" und weiß.
Lücke zwischen weißer und schwarzer Kerze.
Die dritte Kerze öffnet höher als die zweite und umschließt diese.
Eine Bestätigung wird empfohlen.
 Bedeutung des Musters: Wenn die Preise während der 4. Sitzung nicht steigen konnten, sollten wir mit fallenden Preisen rechnen.
Zwei Krähen
(baissierend)

Sell


Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
Die erste Kerze des Musters ist lang und weiß.
Lücke zwischen der weißen und der ersten schwarzen Kerze.
Die dritte Kerze ist schwarz und notwendigerweise "lang"; öffnet innerhalb oder über der zweiten und schließt innerhalb oder unter der weißen Kerze und verdeckt die Lücke.
Eine Bestätigung wird empfohlen.
Falls die zweite Krähe (die dritte Kerze) eine weiße Kerze umschließt, ist die Bestätigung nicht erforderlich.
      //------      
      // Upside Gap Two Crows the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close<cand2.close && cand1.close<cand3.close && // separation of the second and third from the first one
         cand2.open<cand3.open && cand2.close>cand3.close) // the third candlestick engulfs second
        {
         comment=_language?"Upside Gap Two Crows";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Upside Gap Two Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }
      //------      
      // Two Crows the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && cand3.trend==UPPER && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&(cand3.type==CAND_LONG|| cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         cand1.close<cand2.close && // separation of the second from the first one
         cand3.open>cand2.close && // third one opens higher than close of the second
         cand3.close<cand1.close) // third one closes than close of the first
        {
         comment=_language?"Two Crows";
         if(!_forex)// if not forex
           {
            DrawSignal(prefix+"Two Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Drei Sterne im Süden
(haussierend)

Buy



 Abwärtstrend.
Die erste Kerze ist ein langer schwarzer Tag mit langem unterem Schatten.
Die zweite Kerze ist kürzer als die erste, ihr Low liegt über dem Low der ersten Kerze.
Die dritte Kerze ist eine kleine schwarze Marubozu oder ein Stern, ein innerer Tag im Verhältnis zur zweiten Sitzung.
Eine Bestätigung wird empfohlen.
Überlegung
(baissierend)

Sell



 Aufwärtstrend.
Drei weiße Kerzen mit jeweils höheren Schließungspreisen. Die ersten zwei Kerzen sind lange Tage.
Der Öffnungspreis jeder Kerze befindet sich innerhalb des Körpers der vorherigen.
 Forex: Öffnungs-/Schließungspreise von weißen Kerzen sind gleich.
 Die dritte Kerze öffnet etwa beim Schließungsniveau der zweiten Kerze.
 Die dritte Kerze ist ein Stern oder ein Kreisel.
Eine Bestätigung wird empfohlen.

      //------      
      // Three Star in the South the bull model

      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand3.type==CAND_MARIBOZU || cand3.type==CAND_SHORT) && // checking the "long" candlestick and marubozu
         cand1.bodysize>cand2.bodysize && cand1.low<cand2.low && cand3.low>cand2.low && cand3.high<cand2.high)
        {
         comment=_language?"Three Star in the South";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Three Star in the South the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else // another market
           {
            if(cand1.close<cand2.open && cand2.close<cand3.open) // open is inside the previous candlestick
              {
               DrawSignal(prefix+"Three Star in the South the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Deliberation the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick
         (cand3.type==CAND_SPIN_TOP || cand3.type==CAND_SHORT)) // the third candlestick is a star or spinning top
        {
         comment=_language?"Deliberation";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Deliberation the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else // another market
           {
            if(cand1.close>cand2.open && cand2.close<=cand3.open) // open is inside the previous candlestick
               // check close 2 and open 3
              {
               DrawSignal(prefix+"Deliberation the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Drei weiße Soldaten
(haussierend)

Buy



 Abwärtstrend.
 Drei weiße Kerzen erscheinen eine nach der anderen, ihre Schließungspreise sind jeweils höher als der der vorhergehenden.
 Der Öffnungspreis jedes Soldaten befindet sich innerhalb des Körpers der vorherigen Kerze.
 Forex: Close/Open der Soldaten sind gleich.
 Die oberen Schatten der Soldaten sind kurz.
Eine Bestätigung ist nicht erforderlich.
Drei schwarze Krähen
(baissierend)

Sell


Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
 Drei lange schwarze Kerzen erscheinen eine nach der anderen, ihre Schließungspreise sind jeweils niedriger als der der vorhergehenden.
 Der Öffnungspreis jeder Krähe befindet sich innerhalb des Körpers der vorherigen Kerze.
 Forex: Entspricht dem Muster Drei gleiche Krähen.
 Die unteren Schatten der Krähen sind kurz.
Eine Bestätigung ist nicht erforderlich.

      //------      
      // Three White Soldiers the bull model
      if(cand1.trend==DOWN && cand1.bull && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG)) // checking the "long" candlestick and marubozu
        {
         comment=_language?"Three White Soldiers";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Three White Soldiers the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else // another market
           {
            if(cand1.close>cand2.open && cand2.close>cand3.open) // open inside the previous candlestick
              {
               DrawSignal(prefix+"Three White Soldiers the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Black Crows the bear model
      if(cand1.trend==UPPER && !cand1.bull && !cand2.bull && !cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick and marubozu
         cand1.close<cand2.open && cand2.close<cand3.open)
        {
         comment=_language?"Three Black Crows";
         if(!_forex) // non-forex
           {
               DrawSignal(prefix+"Three Black Crows the bear model"+string(objcount++),cand1,cand3,cand3,InpColorBear,comment);
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Drei von außen nach oben
(haussierend)

Buy



 Abwärtstrend.
 Zuerst wird das Muster Umschließend (haussierend) geformt: Der Körper der zweiten Kerze bedeckt vollständig den Körper der ersten.
 Forex: Close der schwarzen Kerze und Open der weißen sind gleich.
Schatten sind unwichtig.
 Anschließend gibt es am dritten Tag eine höhere Schließung.
Eine Bestätigung ist nicht erforderlich: Das Muster selbst ist eine Bestätigung der haussierenden Umschließung.
Drei von außen nach unten
(baissierend)

Sell



 Aufwärtstrend.
 Zuerst wird das Muster Umschließend (baissierend) geformt: Der Körper der zweiten Kerze bedeckt vollständig den Körper der ersten.
 Forex: Close der weißen Kerze und Open der ersten schwarzen fallen zusammen.
Schatten sind unwichtig.
 Anschließend gibt es am dritten Tag eine niedrigere Schließung.
Eine Bestätigung ist nicht erforderlich: Das Muster selbst ist eine Bestätigung der baissierenden Umschließung.

      //------      
      // Three Outside Up the bull model
      if(cand1.trend==DOWN && !cand1.bull && cand2.trend==DOWN && cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         cand2.bodysize>cand1.bodysize && // the body of the second candlestick is larger than that of the first
         cand3.close>cand2.close) // the third day is closed higher than the second
        {
         comment=_language?"Three Outside Up";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.open<cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Outside Down the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.trend==UPPER && !cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         cand2.bodysize>cand1.bodysize && // the body of the second candlestick is larger than that of the first
         cand3.close<cand2.close) // the third day is closed lower than the second
        {
         comment=_language?"Three Outside Down";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.open>cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.open>cand2.close) // the body of the first candlestick is inside the body of the second
              {
               DrawSignal(prefix+"Three Outside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Drei von innen nach oben
(haussierend)

Buy



 Abwärtstrend.
 In den ersten zwei Sitzungen wird das Harami-Muster (haussierend) geformt: Ein kleiner weißer Körper wird von einem großen schwarzen umschlossen.
 Die Schließung in der dritten Sitzung ist höher als der High der ersten zwei Kerzen.
Eine Bestätigung ist nicht erforderlich: Das Muster selbst ist eine Bestätigung des haussierenden Harami.
Drei von innen nach unten
(baissierend)

Sell



 Aufwärtstrend.
 In den ersten zwei Sitzungen wird das Harami-Muster (baissierend) geformt: Ein kleiner schwarzer Körper wird von einem großen weißen umschlossen.
 Die Schließung in der dritten Sitzung ist niedriger als der Low der ersten zwei Kerzen.
Eine Bestätigung ist nicht erforderlich: Das Muster selbst ist eine Bestätigung des baissierenden Harami.

      //------      
      // Three Inside Up the bull model
      if(cand1.trend==DOWN  &&  !cand1.bull  &&  cand2.bull && cand3.bull && //check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) &&  //checking the "long" candlestick 
         cand1.bodysize>cand2.bodysize && // the body of the first candlestick is larger than that of the second one
         cand3.close>cand2.close) // the third day closes higher than the second
        {
         comment=_language?"Three Inside Up";
         if(_forex)// if forex
           {
            if(cand1.close<=cand2.open && cand1.close<=cand2.close && cand1.open>cand2.close) // the body of the second candlestick is inside the body of the first one
              {
               DrawSignal(prefix+"Three Inside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
         else
           {
            if(cand1.close<cand2.open && cand1.close<cand2.close && cand1.open>cand2.close) // the body of the second candlestick is inside the body of the first one
              {
               DrawSignal(prefix+"Three Inside Up the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Inside Down the bear model
      if(cand1.trend==UPPER && cand1.bull && !cand2.bull && !cand3.bull &&//check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick 
         cand1.bodysize>cand2.bodysize && // the body of the first candlestick is larger than that of the second one
         cand3.close<cand2.close) // the third day closes lower than the second
        {
         comment=_language?"Three Inside Down";
         if(_forex)// if forex
           {
            if(cand1.close>=cand2.open && cand1.close>=cand2.close && cand1.close>=cand2.close) // inside the body of the first candlestick
              {
               DrawSignal(prefix+"Three Inside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
         else
           {
            if(cand1.close>cand2.open && cand1.close>cand2.close && cand1.open<cand2.close) // inside the body of the first candlestick
              {
               DrawSignal(prefix+"Three Inside Down the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Drei Sterne
(haussierend)

Buy



 Abwärtstrend.
Die Lücke zwischen der ersten Doji und den vorherigen Kerzen ist nicht erforderlich.
 Alle drei Kerzen sind Doji.
 Die mittlere Doji hat eine Lücke nach oben oder unten.
 Forex: Alle drei Doji befinden sich auf einer Ebene.
Eine Bestätigung wird empfohlen.
Drei Sterne
(baissierend)

Sell



 Aufwärtstrend.
Die Lücke zwischen der ersten Doji und den vorherigen Kerzen ist nicht erforderlich.
 Alle drei Kerzen sind Doji.
 Die mittlere Doji hat eine Lücke nach oben oder unten.
 Forex: Alle drei Doji befinden sich auf einer Ebene.
Eine Bestätigung wird empfohlen.

      //------      
      // Three Stars the bull model
      if(cand1.trend==DOWN  && // check the trend direction
         cand1.type==CAND_DOJI && cand2.type==CAND_DOJI && cand3.type==CAND_DOJI) // check doji
        {
         comment=_language?"Bullish Three Stars";
         if(_forex)// if forex
           {
               DrawSignal(prefix+"Three Stars the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
         else
           {
            if(cand2.open!=cand1.close && cand2.close!=cand3.open) // the second candlestick is on a different level
              {
               DrawSignal(prefix+"Three Stars the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
              }
           }
        }
      // Three Stars the bear model
      if(cand1.trend==UPPER && // check the trend direction
         cand1.type==CAND_DOJI && cand2.type==CAND_DOJI && cand3.type==CAND_DOJI) // check doji
        {
         comment=_language?"Bearish Three Stars";
         if(_forex)// if forex
           {
               DrawSignal(prefix+"Three Stars the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else
           {
            if(cand2.open!=cand1.close && cand2.close!=cand3.open) //  the second candlestick is on a different level
              {
               DrawSignal(prefix+"Three Stars the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Drei gleiche Krähen
(baissierend)

Sell



 Aufwärtstrend.
 Drei lange schwarze Kerzen erscheinen eine nach der anderen, ihre Schließungspreise sind jeweils niedriger als der der vorhergehenden.
 Der Öffnungspreis jeder Krähe entspricht etwa dem Schließungspreis der vorherigen Kerze.
 Die unteren Schatten der Krähen sind kurz.
Eine Bestätigung ist nicht erforderlich.

      // Identical Three Crows the bear model
      if(cand1.trend==UPPER && !cand1.bull && !cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // checking the "long" candlestick or marubozu
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG)) // checking the "long" candlestick or marubozu
        {
         comment=_language?"Identical Three Crows";
         if(_forex)// if forex
           {
            DrawSignal(prefix+"Identical Three Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
         else // a different market
           {
            if(cand1.close>=cand2.open && cand2.close>=cand3.open) // open is less or equal to close of the preceding candlestick
              {
               DrawSignal(prefix+"Identical Three Crows the bear model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
              }
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Besondere Senke "Drei Flüsse"
(haussierend)

Buy


Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die erste Kerze des Modells ist lang und schwarz mit kurzen Schatten.
 Am zweiten Tag erscheint ein Harami, allerdings mit einem schwarzen Körper.
 Der untere Schatten des zweiten Tages gibt einen neuen Mindestpreis.
Der dritte Tag ist ein kurzer weißer Tag, der niedriger als der mittlere Tag liegt.
Eine Bestätigung ist nicht erforderlich, aber wünschenswert.

      // Unique Three River Bottom the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and the candlestick direction
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && cand3.type==CAND_SHORT && // check the "long" candlestick or "marubozu" third short day
         cand2.open<cand1.open && cand2.close>cand1.close && cand2.low<cand1.low && // body of the second candlestick is inside the first, Low is lower than the first
         cand3.close<cand2.close) // the third candlestick is below the second
        {
         comment=_language?"Unique Three River Bottom";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Unique Three River Bottom the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }

3.1.4. Muster aus vier Kerzen

/* Checking patterns with four candlesticks */      
      CANDLE_STRUCTURE cand4;
      cand4=cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-3],InpPeriodSMA,cand1))
         continue

Name des Musters Order Klassisches Muster Forex Mustererkennung
Versteckte Schwalbe (haussierend)


Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die ersten zwei Sitzungen sind zwei schwarze Marubozu.
 Die dritte Sitzung beginnt mit einer Unterbrechung nach unten, doch der Handel findet innerhalb des Körpers der zweiten Kerze statt, was zur Bildung eines langen oberen Schattens führt.
 Die vierte schwarze Kerze umschließt vollständig die dritte, einschließlich ihres Schattens.
Eine Bestätigung ist nicht erforderlich.

      //------      
      // Concealing Baby Swallow the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && !cand4.bull && // check the trend direction and the candlestick direction
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && cand3.type==CAND_SHORT && // checking "marubozu"
         cand3.open<cand2.close && cand3.high>cand2.close && // third candlestick with a gap down, High is inside the 2nd candlestick
         cand4.open>cand3.high && cand4.close<cand3.low) // the fourth candlestick completely engulfs the third
        {
         comment=_language?"Concealing Baby Swallow";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Concealing Baby Swallow the bull model"+string(objcount++),cand1,cand2,cand4,InpColorBull,comment);
           }
        }

3.1.5. Muster aus fünf Kerzen

/* Checking patterns with five candlesticks */
      CANDLE_STRUCTURE cand5;
      cand5=cand4;
      cand4=cand3;
      cand3=cand2;
      cand2=cand1;
      if(!RecognizeCandle(_Symbol,_Period,time[i-4],InpPeriodSMA,cand1))
         continue

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Durchbruch
(haussierend)

Buy

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die ersten zwei Sitzungen bestehen aus einer "langen" schwarzen Kerze und einer "kurzen" schwarzen Kerze (Stern) mit Lücke.
 Die dritte Sitzung ist "kurz" und kann eine beliebige Farbe haben.
 Die vierte Kerze ist "kurz" und schwarz.
 Die fünfte ist "lang" und weiß mit Schließungspreis innerhalb der Lücke.
Eine Bestätigung wird empfohlen.
Durchbruch
(baissierend)

Sell

Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
 Die ersten zwei Sitzungen bestehen aus einer "langen" weißen Kerze und einer "kurzen" weißen Kerze (Stern) mit Lücke.
 Die dritte Sitzung ist "kurz" und kann eine beliebige Farbe haben.
Der vierte Tag ist "kurz" und weiß.
 Die fünfte Kerze ist "lang" und schwarz mit Schließungspreis innerhalb der Lücke.
Eine Bestätigung wird empfohlen.

      //------      
      // Breakaway the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand4.bull && cand5.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&  //checking the "long" first candlestick
         cand2.type==CAND_SHORT && cand2.open<cand1.close && // the second is "short", separated from the first
         cand3.type==CAND_SHORT && cand4.type==CAND_SHORT && // third and fourth are "short"
         (cand5.type==CAND_LONG || cand5.type==CAND_MARIBOZU_LONG) && cand5.close<cand1.close && cand5.close>cand2.open) // fifth is "long" white with close inside the gap
        {
         comment=_language?"Bullish Breakaway";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Breakaway the bull model"+string(objcount++),cand1,cand2,cand5,InpColorBull,comment);
           }
        }
      // Breakaway the bear model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand4.bull && !cand5.bull && //  check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG|| cand1.type==CAND_MARIBOZU_LONG) &&  // checking the "long" first candlestick
         cand2.type==CAND_SHORT && cand2.open<cand1.close && // the second is "short", separated from the first
         cand3.type==CAND_SHORT && cand4.type==CAND_SHORT && // third and fourth are "short"
         (cand5.type==CAND_LONG || cand5.type==CAND_MARIBOZU_LONG) && cand5.close>cand1.close && cand5.close<cand2.open) // fifth is "long" black with close inside the gap
        {
         comment=_language?"Bearish Breakaway";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Breakaway the bear model"+string(objcount++),cand1,cand2,cand5,InpColorBear,comment);
           }
        }

3,2. FORTSETZUNGSMUSTER

Fortsetzungsmuster sind Zeiten, in denen der Markt ruht.

Bei jedem Modell müssen Sie eine Entscheidung bezüglich Ihrer aktuellen Position treffen, auch wenn es nur die Entscheidung ist, nichts zu ändern.

3.2.1. Muster aus einer Kerze

Name des Musters  Order Klassisches Muster Forex Mustererkennung
Hochsprung
(haussierend)

Buy

Das Muster
wird nicht
umgesetzt.
 Auf die schwarze "Marubozu" folgt die weiße "Marubozu".
 Zwischen den Körpern befindet sich eine Lücke.
Eine Bestätigung ist nicht erforderlich.
Hochsprung
(baissierend)

Sell

Das Muster
wird nicht
umgesetzt.
 Auf die weiße "Marubozu" folgt die schwarze "Marubozu".
 Zwischen den Körpern befindet sich eine Lücke.
Eine Bestätigung ist nicht erforderlich.

      //------      
      // Kicking the bull model
      if(!cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && // two marubozu
         cand1.open<cand2.open) // a gap between them
        {
         comment=_language?"Bullish Kicking";
         if(!_forex)// if non-forex
           {
            DrawSignal(prefix+"Kicking the bull model"+string(objcount++),cand1,cand2,InpColorBull,comment);
           }
        }
      // Kicking the bear model
      if(cand1.bull && !cand2.bull && // check the trend direction and direction of the candlestick
         cand1.type==CAND_MARIBOZU_LONG && cand2.type==CAND_MARIBOZU_LONG && // two marubozu
         cand1.open>cand2.open) // a gap between them
        {
         comment=_language?"Bearish Kicking";
         if(!_forex)// if non-forex
           {
            DrawSignal(prefix+"Kicking the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
           }
        }

3.2.2. Muster aus fünf Kerzen

Name des Musters  Order Klassisches Muster Forex Mustererkennung
 Am Ausschnitt (baissierend)

 

Sell

   Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
Die erste Kerze des Musters ist lang und schwarz.
 Die weiße Kerze öffnet unter dem Low der schwarzen und schließt etwa auf Höhe des Low der schwarzen Kerze.
 Die weiße Kerze ist nicht zwangsläufig ein langer Tag.
Eine Bestätigung wird empfohlen.
Im Ausschnitt
(baissierend)

Sell

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
Die erste Kerze des Musters ist lang und schwarz.
 Die weiße Kerze öffnet unter dem Low der schwarzen und etwas über dem Close der schwarzen Kerze.
 Die weiße Kerze ist nicht zwangsläufig ein langer Tag.
 Der Körper der weißen Kerze ist kleiner als der Körper der schwarzen Kerze.
 Der obere Schatten der weißen Kerze ist sehr klein.
Eine Bestätigung wird empfohlen.
Stoßende Linie
(baissierend)

Sell


Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
Die erste Kerze des Musters ist lang und schwarz.
 Die weiße Kerze öffnet unter dem Low der schwarzen und schließt über dem Close der schwarzen Kerze, doch der Schließungspreis liegt immer noch unter der Mitte der schwarzen Kerze.
 Die weiße Kerze ist nicht zwangsläufig ein langer Tag.
Eine Bestätigung wird empfohlen.

Diese drei Modelle haben viel gemeinsam, deshalb ist ihre Umsetzung etwas anders. Bitte beachten Sie dies.

      //------ Check On Neck patterns
      if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG)) // the first candlestick is "long"
        {
         // On Neck Line the bear model
         if(cand2.open<cand1.low && cand2.close==cand1.low) // the second candlestick opens below 1st and closes at Low of the first
           {
            comment=_language?"On Neck Line Bear";
            if(!_forex)// if not forex
              {
               DrawSignal(prefix+"On Neck Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
              }
           }
         else
           {
            // In Neck Line the bear model
            if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
               (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // the first candlestick is "long"
               cand1.bodysize>cand2.bodysize && // body of 2nd candlestick is smaller than that of the 1st one
               cand2.open<cand1.low && cand2.close>=cand1.close && cand2.close<(cand1.close+cand1.bodysize*0.01)) // the second candlestick opens lower than first and closes a little higher than Close of the first
              {
               comment=_language?"In Neck Line Bear";
               if(!_forex)// если не форекс
                 {
                  DrawSignal(prefix+"In Neck Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
                 }
              }
            else
              {
               // Thrusting Line the bear model
               if(cand1.trend==DOWN && !cand1.bull && cand2.bull && // check the trend direction and direction of the candlestick
                  (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && // the first candlestick is "long"
                  cand2.open<cand1.low && cand2.close>cand1.close && cand2.close<(cand1.open+cand1.close)/2) //  the second candlestick opens lower than first and closes a higher than Close of the first but lower than middle
                 {
                  comment=_language?"Thrusting Line Bea";
                  if(!_forex)// if non-forex
                    {
                     DrawSignal(prefix+"Thrusting Line the bear model"+string(objcount++),cand1,cand2,InpColorBear,comment);
                    }
                 }
              }
           }
        }

3.2.3. Muster aus drei Kerzen

Name des Musters Order Klassisches Muster Forex Mustererkennung
Dreier-Methode, Lücke oben
(haussierend)


Buy


Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
 Die ersten zwei Kerzen sind zwei "lange" weiße Kerzen mit einer Lücke.
 Die dritte Kerze eröffnet innerhalb des Körpers der zweiten und füllt die Lücke aus.
Eine Bestätigung wird empfohlen.
Dreier-Methode, Lücke oben
(baissierend)


Sell


Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
 Die ersten zwei Kerzen sind zwei "lange" schwarze Kerzen mit einer Lücke.
 Die dritte Kerze eröffnet innerhalb des Körpers der zweiten und füllt die Lücke aus.
Eine Bestätigung wird empfohlen.

      //------      
      // Upside Gap Three Methods the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // the first two candlesticks are "long"
         cand2.open>cand1.close && // a gap between the first and the second
         cand3.open>cand2.open && cand3.open<cand2.close && cand3.close<cand1.close) // the third candlestick opens inside the body of the second and fills in the gap
        {
         comment=_language?"Upside Gap Three Methods";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Upside Gap Three Methods the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }
      //------      
      // Downside Gap Three Methods the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // the first two candlesticks are "long"
         cand2.open<cand1.close && // a gap between the first and the second
         cand3.open<cand2.open && cand3.open>cand2.close && cand3.close>cand1.close) //the third candlestick opens inside the body of the second and fills in the gap
        {
         comment=_language?"Downside Gap Three Methods";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Downside Gap Three Methods the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

Name des Musters Order Klassisches Muster Forex Mustererkennung
Tasuki, Lücke oben
(haussierend)


Buy


<
Das Muster
wird nicht
umgesetzt.
 Aufwärtstrend.
Die Lücke befindet sich zwischen zwei nebeneinanderliegenden weißen Kerzen. Die weißen Kerzen sind nicht zwangsläufig "lang".
Die dritte Sitzung öffnet innerhalb des Körpers der zweiten Kerze.
Die dritte Sitzung schließt innerhalb der Lücke, doch die Lücke ist nur zum Teil ausgefüllt.
Eine Bestätigung wird empfohlen.
Tasuki, Lücke unten
(baissierend)


Sell

Das Muster
wird nicht
umgesetzt.
 Abwärtstrend.
Die Lücke befindet sich zwischen zwei nebeneinanderliegenden schwarzen Kerzen. Die schwarzen Kerzen sind nicht zwangsläufig "lang".
Die dritte Sitzung öffnet innerhalb des Körpers der zweiten Kerze.
Die dritte Sitzung schließt innerhalb der Lücke, doch die Lücke ist nur zum Teil ausgefüllt.
Eine Bestätigung wird empfohlen.

      //------      
      // Upside Tasuki Gap the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && !cand3.bull && // check the trend direction and direction of the candlestick
         cand1.type!=CAND_DOJI && cand2.type!=CAND_DOJI && // the first two candlesticks are not doji
         cand2.open>cand1.close && // a gap between the first and the second
         cand3.open>cand2.open && cand3.open<cand2.close && cand3.close<cand2.open && cand3.close>cand1.close) // 3rd candlestick opens inside 2nd and closes inside the gap
        {
         comment=_language?"Upside Tasuki Gap";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Upside Tasuki Gap the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBull,comment);
           }
        }
      //------      
      // Downside Tasuki Gap the bull model
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && cand3.bull && // check the trend direction and direction of the candlestick
         cand1.type!=CAND_DOJI && cand2.type!=CAND_DOJI && // the first two candlesticks are not doji
         cand2.open<cand1.close && // a gap between the first and the second
         cand3.open<cand2.open && cand3.open>cand2.close && cand3.close>cand2.open && cand3.close<cand1.close) // 3rd candlestick opens inside 2nd and closes inside the gap
        {
         comment=_language?"Downside Tasuki Gap";
         if(!_forex)// non-forex
           {
            DrawSignal(prefix+"Downside Tasuki Gap the bull model"+string(objcount++),cand1,cand2,cand3,InpColorBear,comment);
           }
        }

3.2.4. Muster aus vier Kerzen

Name des Musters Order Klassisches Muster Forex Mustererkennung
Dreifacher Schlag
(haussierend)

Buy

 Der haussierende Trend setzt sich mit drei Kerzen fort, ähnlich dem Muster Drei weiße Soldaten: lange weiße Kerzen mit kurzen Schatten.
 Forex: Die Öffnungs-/Schließungspreise der weißen Kerzen sind gleich.
 Die vierte Kerze öffnet mit einer Lücke nach oben und schließt unterhalb der Öffnung der ersten weißen Kerze.
 Forex: Die Öffnungspreise der 3. und 4. Kerze sind gleich.
Eine Bestätigung wird empfohlen.
Dreifacher Schlag (baissierend)

Sell

 Der baissierende Trend setzt sich mit drei Kerzen fort, ähnlich dem Muster Drei schwarze Krähen: lange schwarze Kerzen mit kurzen Schatten.
 Forex: Die Öffnungs-/Schließungspreise der schwarzen Kerzen sind gleich (ähnlich wie bei den Drei gleichen Krähen).
 Die vierte Kerze öffnet mit einer Lücke nach unten und schließt oberhalb der Öffnung der ersten schwarzen Kerze.
 Forex: Die Öffnungspreise der 3. und 4. Kerze sind gleich.
Eine Bestätigung wird empfohlen.

      //------      
      // Three-line strike the bull model
      if(cand1.trend==UPPER && cand1.bull && cand2.bull && cand3.bull && !cand4.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && // check the "long: candlestick or "maruozu"
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         cand2.close>cand1.close && cand3.close>cand2.close && cand4.close<cand1.open) // close of 2nd is higher than 1st, that of 3rd is higher than 2nd, the fourth candlestick closes lower than the 1st
        {
         comment=_language?"Three-line strike";
         if(_forex)// if forex
           {
            if(cand4.open>=cand3.close) // 4th opens higher than the 3rd
              {
               DrawSignal(prefix+"Three-line strike the bull model"+string(objcount++),cand1,cand3,cand4,InpColorBull,comment);
              }
           }
         else // a different market
           {
            if(cand4.open>cand3.close) // 4th opens higher than th 3rd
              {
               DrawSignal(prefix+"Three-line strike the bull model"+string(objcount++),cand1,cand3,cand4,InpColorBull,comment);
              }
           }
        }
      //------      
      // Three-line strike the bear model 
      if(cand1.trend==DOWN && !cand1.bull && !cand2.bull && !cand3.bull && cand4.bull && // check the trend direction and direction of the candlestick
         (cand1.type==CAND_LONG || cand1.type==CAND_MARIBOZU_LONG) && (cand2.type==CAND_LONG || cand2.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         (cand3.type==CAND_LONG || cand3.type==CAND_MARIBOZU_LONG) && //  check the "long: candlestick or "maruozu"
         cand2.close<cand1.close && cand3.close<cand2.close && cand4.close>cand1.open) // close of 2nd is lower than 1st, close of 3rd is lower than 2nd, the fourth candlestick closes higher than 1st
        {
         comment=_language?"Three-line strike";
         if(_forex)// if forex
           {
            if(cand4.open<=cand3.close) // the fourth opens lower than or equal to the third
              {
               DrawSignal(prefix+"Three-line strike the bear model"+string(objcount++),cand1,cand3,cand4,InpColorBear,comment);
              }
           }
         else // a different market
           {
            if(cand4.open<cand3.close) // the fourth opens lower than 3rd
              {
               DrawSignal(prefix+"Three-line strike the bear model"+string(objcount++),cand1,cand3,cand4,InpColorBear,comment);
              }
           }
        }

4. Die Umsetzung des Indikators

Wählen wir die erforderlichen Eingabeparameter aus.

Eingabeparameter des Kerzenmuster-Indikators

Abbildung 3. Eingabeparameter des Kerzenmuster-Indikators

Der erste Parameter ist "Period of averaging" (Mittelungszeitraum). Wir brauchen ihn zur Bestimmung der Trendrichtung und der Definition von "langen" und "kurzen" Kerzen.

Der zweite Parameter ist "Enable signal" (Signal aktivieren). Er ist für die Aktivierung/Deaktivierung des Signals verantwortlich. Das Signal benachrichtigt uns über das Erscheinen eines neuen Musters.

Vom Kerzenmuster-Indikator generierte Signale

Abbildung 4. Vom Kerzenmuster-Indikator generierte Signale

Durch den Parameter "Amount of bars for calculation" (Menge an Balken für die Berechnung) soll die Arbeit des Indikators erleichtert werden. Ist sein Wert kleiner oder gleich 0, werden Kerzenmuster in der gesamten verfügbaren Historie gesucht. Ansonsten wird eine vorgegebene Anzahl an Balken für die Suche verwendet, was die Arbeit des Indikators wesentlich leichter macht.

Ich denke, die Farben sind ziemlich selbsterklärend...

"Enable comment" (Kommentare aktivieren) aktiviert/deaktiviert die Namen der Kerzenmuster.

"Font size" (Schriftgröße) bestimmt die Schriftgröße für Kommentare.

Die Umsetzung des Indikators ist äußerst einfach.

Wir warten auf das Erscheinen eines neuen Balkens:

//--- Wait for a new bar
   if(rates_total==prev_calculated)
     {
      return(rates_total);
     }

Dann berechnen wir den Ausgangswert des Zählers für den Start des Zyklus.

   int limit;
   if(prev_calculated==0)
     {
      if(InpCountBars<=0 || InpCountBars>=rates_total)
         limit=InpPeriodSMA*2;
      else
         limit=rates_total-InpCountBars;
     }
   else
      limit=prev_calculated-1;

In der Schleife prüfen wir die Kombinationen von Kerzen und zeigen sie an, wie in Abb. 5 dargestellt:

  • Kombination mit einer Kerze: ein Pfeil mit dem Namen des Musters über oder unter ihm.
  • Kombination mit zwei Kerzen: ein dünnes Rechteck mit dem Namen des Musters über oder unter der ersten Kerze.
  • Kombination mit drei oder mehr Kerzen: ein dickes Rechteck mit dem Namen des Musters über oder unter der letzten Kerze.

Beispiel für die Arbeit des Kerzenmuster-Indikators

Abbildung 5. Beispiel für die Arbeit des Kerzenmuster-Indikators

Bitte beachten Sie, dass aufgrund eines möglichen Funktions-Overloads die Ausgabe der Zeichen verschiedener Muster über Funktionen mit dem gleichen Namen DrawSignal() realisiert wird, allerdings mit unterschiedlichen Mengen an Parametern.

void DrawSignal(string objname,CANDLE_STRUCTURE &cand,color Col,string comment)
void DrawSignal(string objname,CANDLE_STRUCTURE &cand1,CANDLE_STRUCTURE &cand2,color Col,string comment)
void DrawSignal(string objname,CANDLE_STRUCTURE &cand1,CANDLE_STRUCTURE &cand2,CANDLE_STRUCTURE &cand3,color Col,string comment)

Der vollständige Text des Indikators befindet sich in der an diesen Beitrag angehängten Datei Candlestick_Patterns.mq5.

Fazit

In diesem Beitrag haben wir einen Großteil der Kerzenmuster angesehen, Methoden betrachtet, mit denen sie entdeckt werden können, und Beispiele dafür angegeben, wie sie in der Programmiersprache MQL5 umgesetzt werden können. Im Anhang dieses Beitrags befinden sich zwei Indikatoren und eine Include-Datei. Um sie zu verwenden, legen Sie die Indikatoren in den Ordner \Indicators und die Include-Datei in den Ordner \Include und kompilieren Sie sie.

Ich hoffe, dass die Analyse der Kerzenmuster Ihnen dabei hilft, die Ergebnisse Ihrer Arbeit zu verfeinern.

Mit Blick auf die Zukunft möchte ich hinzufügen, dass gefilterte Kerzen zu besseren Ergebnissen führen als die meisten technischen Indikatoren. Auf dieses Thema gehen wir im folgenden Beitrag ein, in dem ich ein Handelssystem und einen nach Kerzenmustern handelnden Expert Advisor erstellen werde.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/101

Erstellen eines Expert Advisors, der mit verschiedenen Instrumenten handelt Erstellen eines Expert Advisors, der mit verschiedenen Instrumenten handelt
Das Konzept der Diversifizierung von Vermögenswerten auf Finanzmärkten ist ziemlich alt und war für Neueinsteiger im Handel immer interessant. In diesem Beitrag stellt der Verfasser eine äußerst einfache Vorgehensweise für die Erstellung eines Expert Advisors vor, der mit mehreren Währungen handelt, um diese Strömung von Handelsstrategien vorzustellen.
Kontrolle der Saldo-Gefällekurve während der Arbeit eines Expert Advisors Kontrolle der Saldo-Gefällekurve während der Arbeit eines Expert Advisors
Regeln für ein Handelssystem zu finden und sie in einen Expert Advisor zu programmieren, ist nur die Hälfte der Arbeit. Irgendwie muss man ja auch die Abläufe des Expert Adivsors kontrollieren, während er die Ergebnisse des Handels anhäuft. Dieser Beitrag beschreibt einen Ansatz, der die Leistung eines Expert Advisors durch Erzeugung eines Feedbacks steigert, das die Saldo-Gefällekurve misst.
Test-Performance der Berechnung von gleitenden Mittelwerten in MQL5 Test-Performance der Berechnung von gleitenden Mittelwerten in MQL5
Seit der Erstellung des ersten Moving-Average-Indikators ist eine Vielzahl von Indikatoren erschienen. Viele von ihnen nutzen ähnliche Glättungsmethoden, doch die Glättung der unterschiedlichen Algorithmen von gleitenden Mittelwerten wurde nie eingehend studiert. In diesem Beitrag betrachten wir Möglichkeiten zur Nutzung der gleitenden Mittelwerte in MQL5 und vergleichen ihre Performance.
Leitfaden zum Schreiben einer DLL für MQL5 in Delphi Leitfaden zum Schreiben einer DLL für MQL5 in Delphi
Dieser Beitrag befasst sich mit dem Mechanismus zur Erstellung eines DLL-Moduls mithilfe der beliebten Programmiersprache ObjectPascal innerhalb einer Delphi-Programmierumgebung. Die Inhalte dieses Beitrags richten sich mit der Einbindung äußerer DLL-Module vorrangig an Neueinsteiger in der Programmierung, die mit Problemen kämpfen, die die Grenzen der eingebetteten Programmiersprache MQL5 sprengen.