Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Expert Advisors

MQL5 Wizard - Handelssignale der Kerzenformation 3 Black Crows/3 White Soldiers + Stochastic - Experte für den MetaTrader 5

Ansichten:
1307
Rating:
(24)
Veröffentlicht:
2016.07.06 12:05
Aktualisiert:
2016.11.22 07:34
\MQL5\Include\Expert\Signal\MySignals\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Mit dem MQL5 Wizard können Trader nun Expert Advisor Codes automatisch generieren, die auf den Klassen von Handelssignalen, Positions Tracking und Money Management basieren. Neben den Klassen von Handelssignalen aus der Standardbibliothek können Sie Ihre eigenen Handelssysteme erstellen und testen, dafür brauchen Sie lediglich ein Modul für Handelssignale zu schreiben.

Das Buch "The Strategies of the Best Traders in the World" (in Russisch) beschreibt Indikatoren und Handelsstrategien für die technische Analyse unter Verwendung des MetaStock Softwarepaketes. Neben den konventionellen Handelssignalen befasst sich dieses Buch auch mit denen, die auf einer kombinierten Anwendung von Umkehrkerzenformationen mit der Bestätigung durch Stochastic, CCI, MFI und RSI basieren.

Die Verwendung von Umkehrkerzenformationen, zusammen mit Signalen von Oszillatoren, reduziert die Anzahl der falschen Signale und erhöht die Effizienz des Handelssystems.

Hier werden die Ergebnisse der Verwendung der Kerzenformationen 3 Black Crows (Drei schwarze Krähen) und 3 White Soldiers (Drei weiße Soldaten) in der Kombination mit Signalen des Stochastic Indikators vorgestellt.


1. Die Formationen "3 Black Crows" und 3 "White Soldiers" und deren Erkennung


1.1. Kerzenformation "Drei schwarze Krähen" (3 Black Crows)

Die Eröffnungskurse der Kerzen liegen jeweils etwas oberhalb der Schlusskurse der vorherigen Kerze und deren Schlusskurse liegen deutlich unterhalb des entsprechenden Schlusskurses. Wenn sich diese Situation drei Tage hintereinander wiederholt, gilt das als Umkehrsignal eines (Bullen-) Trends.

Abbildung 1. Kerzenformation "3 Black Crows"

Abb. 1. Kerzenformation "3 Black Crows"

Die Erkennung der Kerzenformation 3 Black Crows ist in der Methode CheckPatternThreeBlackCrows der Klasse CCandlePattern umgesetzt:

//+------------------------------------------------------------------+
//| Methode zur Überprüfung der Bildung des Musters "3 Black Crows"  |
//+------------------------------------------------------------------+
bool CCandlePattern::CheckPatternThreeBlackCrows()
  {
//--- 3 Black Crows - Erkennung der Kerzenformation Three Black Crows
   if((Open(3)-Close(3)>AvgBody(1)) && // der Körper der vorherigen Kerze ist schwarz und überdurchschnittlich lang
      (Open(2)-Close(2)>AvgBody(1)) && // der Körper der vorherigen Kerze ist schwarz und überdurchschnittlich lang
      (Open(1)-Close(1)>AvgBody(1)) && // der Körper der vollständigen Kerze ist schwarz und überdurchschnittlich lang (long black)
      (MidPoint(2)<MidPoint(3))     && // lower midpoints
      (MidPoint(1)<MidPoint(2)))       // der Mittelpunkt der letzten vollständigen Kerze liegt unterhalb des Mittelpunkts der vorherigen Kerze
      return(true);
//---
   return(false);
  }

Für die Überprüfung der Formation "3 Black Crows" wird die Methode CheckCandlestickPattern(CANDLE_PATTERN_THREE_BLACK_CROWS) der Klasse CCandlePattern verwendet.



1.2. Muster "Drei weiße Soldaten" (3 White Soldiers)

Der Eröffnungskurs der Kerzen liegt jeweils etwas unterhalb des Schlusskurses der vorherigen Kerze und der Schlusskurs liegt deutlich oberhalb des Schlusskurses der vorherigen Kerze. Wenn sich die Situation drei Tage hintereinander wiederholt, weist auf die Umkehr eines (bärischen) Trends hin.

Abbildung 2. Kerzenformation "3 White Soldiers"

Abbildung 2. Kerzenformation "3 White Soldiers"

Methode zur Erkennung der Kerzenformation "3 White Soldiers":

//+---------------------------------------------------------------------+
//| Methode zur Überprüfung der Bildung des Musters "3 White Soldiers"  |
//+---------------------------------------------------------------------+
bool CCandlePattern::CheckPatternThreeWhiteSoldiers()
  {
   //--- 3 White Soldiers - Erkennung der Kerzenformation "3 weiße Soldaten"
   if((Close(3)-Open(3)>AvgBody(1)) && // der Körper der Kerze vor der vorherigen Kerze ist weiß und überdurchschnittlich lang
      (Close(2)-Open(2)>AvgBody(1)) && // der Körper der vorherigen Kerze ist weiß und überdurchschnittlich lang
      (Close(1)-Open(1)>AvgBody(1)) && // der Körper der vollständigen Kerze ist schwarz und überdurchschnittlich lang (long white)
      (MidPoint(2)>MidPoint(3))     && // higher midpoints
      (MidPoint(1)>MidPoint(2)))        // der Mittelpunkt der letzten vollständigen Kerze liegt oberhalb des Mittelpunkts der vorherigen Kerze
      return(true);
//---
   return(false);
  }

Für die Überprüfung der Formation "3 White Soldiers" wird die Methode CheckCandlestickPattern (CANDLE_PATTERN_THREE_WHITE_SOLDIERS) der Klasse CCandlePattern verwendet.


2. Handelssignale in der Kombination mit dem Stochastic Indikator

Die Signale zum Eröffnen einer Long- oder Short-Position werden nur unter der Bedingung gesendet, dass das Umkehrmuster durch die Lage des Stochastic-Oszillator bestätigt wird. Der Wert der Signallinie %D muss oberhalb oder unterhalb eines entsprechenden kritischen Levels liegen (30 und 70).

Die Ausstiegssignale werden je nach dem weiteren Verhalten der %D gebildet: wenn %D einen gegensätzlichen Level erreicht (80 in Long- und 20 in Short-Positionen) oder wenn %D das Umkehrsignal nicht bestätigt und den Level 20 in einer Long- und 80 in einer Short-Position erreicht.

Abb. 3. Handelssignale des Musters "Drei weiße Soldaten" bestätigt vom Stochastic Indikator

Abb. 3. Handelssignale des Musters "Drei weiße Soldaten" bestätigt vom Stochastic Indikator


Die Bedingungen für Einstieg und Ausstieg werden in den folgenden Methoden überprüft:

  • int CBC_WS_Stoch::LongCondition() - überprüft die Bedingungen für das Eröffnen einer Long-Position (die Funktion gibt 80 zurück) und Schließen einer Short-Position (die Funktion gibt 40 zurück);
  • int CBC_WS_Stoch::ShortCondition() - überprüft die Bedingungen für das Eröffnen einer Short-Position (die Funktion gibt 80 zurück) und Schließen einer Long-Position (die Funktion gibt 40 zurück).

2.1. Eröffnen einer Long-Position und Schließen einer Short-Position

  1. Das Signal zum Eröffnen einer Long-Position entsteht, wenn das Muster Three White Soldiers (Drei weiße Soldaten) auftritt und die Bedingung StochSignal(1)<30 erfüllt ist (der Wert der Signallinie des Stochastic Indikators auf dem letzten vollständigen Balken ist kleiner als 30):
  2. Das Signal zum Schließen einer Short-Position entsteht, wenn die Signallinie des Stochastic Indiaktors den Level 20 (von unten nach oben) oder den Level 80 (von unten nach oben) kreuzt.
    //+--------------------------------------------------------------------+
    //| Methode zur Überprüfung der Bedingungen für Einstieg und Ausstieg  |
    //| Überprüfung der Bedingungen für                                    |
    //| 1) Einstieg (Eröffnen einer Long-Position, result=80)              |
    //| 2) Ausstieg (Schließen einer Short-Position, result=40)            |
    //+--------------------------------------------------------------------+
    Sint CBC_WS_Stoch::LongCondition()
      {
       int result=0;
    //--- idx kann verwendet werden, um den Modus des EAs festzustellen
    //--- idx=0 - der EA wird die Erfüllung der Bedingungen auf jedem Tick überprüfen
    //--- idx=1 - der EA wird die Erfüllung der Bedingungen nur auf neuen Balken überprüfen
       int idx   =StartIndex();
    //--- Überprüfung der Bedingungen für das Eröffnen einer Long-Position
    //--- bullische Kerzenformation Three White Soldiers und die Erfüllung der Bedingung signal line<30
      if (CheckCandlestickPattern(CANDLE_PATTERN_THREE_WHITE_SOLDIERS) && (StochSignal(1)<30))
         result=80;
    //--- Überprüfung der Bedingungen für das Schließen einer Short-Position
    //--- die Signallinie kreuzt die Levels (20 von oben nach unten, 80 von unten nach oben)
       if((((StochSignal(1)>20) && (StochSignal(2)<20)) ||
           ((StochSignal(1)>80) && (StochSignal(2)<80))))
         result=40;
    //--- result zurückgeben
       return(result);
      }
    

2.2. Eröffnen einer Short-Position und Schließen einer Long-Position

  1. Das Signal zum Eröffnen einer Short-Position entsteht, wenn das Muster Three Black Crows (Drei schwarze Krähen) auftritt und die Bedingung StochSignal(1)>70 erfüllt ist (der Wert der Signallinie des Stochastic Indikators auf dem letzten vollständigen Balken ist größer als 70);
  2. Das Signal zum Schließen einer Long-Position entsteht, wenn die Signallinie des Stochastic Indikators den Level 80 (von oben nach unten) oder des Levels 20 von oben nach unten) kreuzt.
    //+--------------------------------------------------------------------+
    //| Methode zur Überprüfung der Bedingungen für Einstieg und Ausstieg  |
    //| Überprüfung der Bedingungen für                                    |
    //| 1) Einstieg (Eröffnen einer Short-Position, result=80)             |
    //| 2) Ausstieg (Schließen einer Long-Position, result=40)             |
    //+--------------------------------------------------------------------+
    int CBC_WS_Stoch::ShortCondition()
      {
       int result=0;
    //--- idx kann verwendet werden, um den Modus des EAs festzustellen
    //--- idx=0 - der EA wird die Erfüllung der Bedingungen auf jedem Tick überprüfen
    //--- idx=1 - der EA wird die Erfüllung der Bedingungen nur auf neuen Balken überprüfen
       int idx   =StartIndex();
    //--- Überprüfung der Bedingungen für das Eröffnen einer Short-Position
    //--- bärische Kerzenformation Three Black Crows und die Erfüllung der Bedingung signal line>70
      if (CheckCandlestickPattern(CANDLE_PATTERN_THREE_BLACK_CROWS) && (StochSignal(1)>70))
         result=80;
    //--- Überprüfung der Bedingungen für das Schließen einer Long-Position
    //--- die Signallinie kreuzt die Levels (80 - von oben nach unten, 20 von oben nach unten)
       if((((StochSignal(1)<80) && (StochSignal(2)>80)) ||
           ((StochSignal(1)<20) && (StochSignal(2)>20))))
         result=40;
    //--- result zurückgeben
       return(result);
      }
    
    


2.3 Erstellung eines Expert Advisors auf der Basis der Handelssignale des Umkehrmodells "3 Black Crows/3 White Soldiers + Stochastic" mithilfe von MQL5 Wizard

Die Klasse CBC_WS_Stoch ist nicht in der Standardbibliothek der Klassen von Handelssignalen enthalten, dafür muss die Datei acbc_ws_stoch_m.mqh (angefügt) heruntergeladen und im Ordner \terminal_data_folder\Include\Expert\Signal\MySignals gespeichert werden. Die Datei acandlepatterns.mqh sollte in dasselbe Verzeichnis kopiert werden, wie die Datei acbc_ws_stoch_ms.mqh. Nachdem Sie den MetaEditor neu gestartet haben, können Sie die Dateien im MQL5 Wizard benutzen.

Starten Sie den MQL5 Wizard, um einen Handelsroboter nach dieser Strategie zu erstellen:

Abb. 4. Erstellung eines EAs im MQL5 Wizard

Abb. 4. Erstellung eines EAs im MQL5 Wizard

Klicken Sie auf "Next" und geben Sie den Namen des EAs ein:

Abb. 5. Allgemeine Parameter des EAs

Abb. 5. Allgemeine Parameter des EAs

Danach sind die Parameter der Signale einzugeben:

Abb. 6. Parameter der Signale

Abb. 6. Parameter der Signale

In unserem Fall verwenden wir nur ein Modul von Handelssignalen.

Fügen wir das Modul "3 Black Crows/3 White Soldiers confirmed by Stochastic" hinzu:

Abb. 7. Parameter der Signale

Abb. 7. Parameter der Signale

Das Modul ist hinzugefügt:

Abb. 8. Parameter der Signale

Abb. 8. Parameter der Signale

Danach kann man das Modul des Trailings auswählen, wir werden es allerdings nicht verwenden. "Trailing Stop not used" auswählen:

Abb. 9. Trailing Modul

Abb. 9. Trailing Modul

Des Weiteren ist das Money Management Modul auszuwählen, wir werden den Handel mit einem festen Volumen (Trading with fixed trade volume) verwenden:

Abb. 10. Money Management Modul

Abb. 10. Money Management Modul

Klicken Sie auf "Finish" und Sie erhaltenden den Code des generierten Expert Advisors - die Datei Expert_ABC_WS_Stoch.mq5 wird im Ordner terminal_data_folder\MQL5\Experts\ gespeichert.

Die Eingabeparameter des Expert Advisors (default):

//--- inputs for main signal
input int            Signal_ThresholdOpen   =10;     // Signal threshold value to open [0...100]
input int            Signal_ThresholdClose  =10;     // Signal threshold value to close [0...100]
input double         Signal_PriceLevel      =0.0;    // Price level to execute a deal
input double         Signal_StopLevel       =50.0;   // Stop Loss level (in Punkten)
input double         Signal_TakeLevel       =50.0// Take Profit level (in Punkten)

ersetzen durch:

//--- inputs for main signal
input int            Signal_ThresholdOpen   =40;     // Signal threshold value to open [0...100]
input int            Signal_ThresholdClose  =20;     // Signal threshold value to close [0...100]
input double         Signal_PriceLevel      =0.0;    // Price level to execute a deal
input double         Signal_StopLevel       =0.0;    // Stop Loss level (in Punkten)
input double         Signal_TakeLevel       =0.0;    // Take Profit level (in Punkten)

Die Parameter Signal_ThresholdOpen und Signal_ThresholdClose lassen Schwellenwerte für das Eröffnen und Schließen von Position setzen.

Im Code der Funktionen LongCondition() und ShortCondition() des Moduls von Handelssignalen haben wir die festen Schwellenwerte angegeben:

  • Für das Eröffnen von Positionen: 80;
  • Für das Schließen von Positionen: 40.

Der mithilfe von MQL5 Wizard erstellte Expert Advisor entscheidet über das Eröffnen bzw. Schließen einer Position anhand der Ergebnisse der "Abstimmung" unter den Modulen von Handelssignalen, die im Laufe der Erstellung des EAs hinzugefügt wurden. Zwar nimmt das Hauptmodul (das alle hinzugefügten Module enthält) an der "Abstimmung" auch teil, seine Methoden LongCondition() und ShortCondition() geben aber immer 0 zurück.

Da die "Stimmen" bei der Berechnung nach der Anzahl der vorhandenen Modulen (Hauptmodul + ein hinzugefügtes Modul) gemittelt werden, muss man das bei der Angabe der Schwellenwerte berücksichtigen. Aus diesem Grund müssen die Werte von Signal_ThresholdOpen und Signal_ThresholdClose als jeweils 40=(0+80)/2 und 20=(0+40)/2 gesetzt werden.

Die Werte von Signal_StopLevel und Signal_TakeLevel setzen wir auf 0, dies bedeutet, dass die Positionen nur beim Eingehen von Handelssignalen zum Schließen geschlossen werden.


2.4 Testergebnisse

Die Testergebnisse des EAs bei einem Test unter Verwendung von historischen Daten (EURUSD H1, Testperiode: 2010.01.01-2011.02.02, PeriodK=47, PeriodD=9, PeriodSlow=13, MA_period=5).

Dieser Expert Advisor benutzt das Modul für den Handel mit einer festgelegten Lotgröße von 0.1 Lot (Trading Fixed Lot), ein Trailing Stop wurde nicht verwendet (Trailing not used).

Abb. 11. Testergebnisse des EAs, der auf der Basis des Generators der Handelssignale "3 Black Crows/3 White Soldiers + Stochastic" erstellt wurde wurde

Abb. 11. Testergebnisse des EAs, der auf der Basis des Generators der Handelssignale "3 Black Crows/3 White Soldiers + Stochastic" erstellt wurde wurde

Das beste Parameterset für das Tradingsystem ist mithilfe von Strategietester des MetaTrader 5 Kundenterminals zu finden.

Der von dem MQL5 Wizard generierte Code für den Expert Advisor ist angefügt als Datei: expert_acbc_ws_stoch.mq5


Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/283

XMA_BBx5_Cloud XMA_BBx5_Cloud

Zwei Bollinger Bänder Kanäle basierend auf einem gleitenden Durchschnitt, gezeichnet als farbige Wolke mit Anzeige der letzten Wert als Preislabels.

XMA_BBx5 XMA_BBx5

Zwei Bollinger Bänder Kanäle basierend auf einem gleitenden Durchschnitt mit Anzeige der letzten Werte als Preislabels.

MQL5 Wizard - Handelssignale der Kerzenformation 3 Black Crows/3 White Soldiers + CCI MQL5 Wizard - Handelssignale der Kerzenformation 3 Black Crows/3 White Soldiers + CCI

Handelssignale der Umkehrkerzenformation "3 Black Crows/3 White Soldiers" mit der Bestätigung durch CCI.

MQL5 Wizard - Handelssignale der Kerzenformation 3 Black Crows/3 White Soldiers + MFI MQL5 Wizard - Handelssignale der Kerzenformation 3 Black Crows/3 White Soldiers + MFI

Handelssignale der Umkehrkerzenformation "3 Black Crows/3 White Soldiers" mit der Bestätigung durch den MFI Indikator.