Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
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 Kerzenformationen Bullish/Bearish Meeting Lines + CCI - Experte für den MetaTrader 5

Ansichten:
865
Rating:
(17)
Veröffentlicht:
2016.07.08 15:55
Aktualisiert:
2016.11.22 07:34
\MQL5\Include\Expert\Signal\MySignals\
acml_cci.mqh (7.97 KB) ansehen
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 einer kombinierten Anwendung der Kerzenformationen Bullish Meeting Lines und Bearish Meeting Lines zusammen mit Signalen von CCI (Commodity Channel Index) betrachtet.


1. Die Muster "Meeting Lines" und deren Erkennung

1.1. Kerzenformation Bullish Meeting Lines

Das Muster stellt eine Kombination aus einer bullischen und einer bärischen Kerzen dar, deren Schlusskurse gleich (oder sehr ähnlich) sind. Beide Körper sind überdurchschnittliche lang.

Die Kerzenformation "Bullish Meeting Lines" weist auf die Umkehr eines Abwärtstrends hin.

Abbildung 1. Kerzenformation "Bullish Meeting Lines"

Abbildung 1. Kerzenformation "Bullish Meeting Lines"

Die Erkennung der Kerzenformation "Bullish Meeting Lines" ist in der Methode CheckPatternBullishMeetingLines der Klasse CCandlePattern umgesetzt:

//+--------------------------------------------------------------------+
//| Methode zur Überprüfung der Formation "Bullish Meeting Lines"      |
//+--------------------------------------------------------------------+
bool CCandlePattern::CheckPatternBullishMeetingLines()
  {
//--- Bullish Meeting Lines - Erkennung des Modells "Bullish Meeting Lines"
   if((Open(2)-Close(2)>AvgBody(1))              && // der Körper der bärischen Kerze ist überdurchschnittlich lang (long black)
     ((Close(1)-Open(1))>AvgBody(1))             && // der Körper der bullischen Kerze ist überdurchschnittlich lang (long white)
      (MathAbs(Close(1)-Close(2))<0.1*AvgBody(1)))   // die Schlusskurse der Kerzen sind fast gleich (doji close)
      return(true);
//---
   return(false);
  }

Für die Überprüfung der Formation "Bullish Meeting Lines" wird die Methode CheckCandlestickPattern(CANDLE_PATTERN_BULLISH_MEETING_LINES) der Klasse CCandlePattern verwendet.


1.1. Kerzenformation Bearish Meeting Lines

Das Muster stellt eine Kombination aus einer bullischen und einer bärischen Kerzen dar, deren Schlusskurse gleich (oder sehr ähnlich) sind. Beide Körper sind überdurchschnittliche lang.

Die Kerzenformation Bearish Meeting Lines weist auf die Umkehr eines Aufwärtstrends hin.

Abbildung 2. Kerzenformation "Bearish Meeting Lines"

Abbildung 2. Kerzenformation "Bearish Meeting Lines"

Methode zur Erkennung des Musters "Bearish Meeting Lines":

//+--------------------------------------------------------------------+
//| Methode zur Überprüfung der Formation "Bearish Meeting Lines"      |
//+--------------------------------------------------------------------+
bool CCandlePattern::CheckPatternBearishMeetingLines()
  {
//--- Bearish Meeting Lines - Erkennung des Modells "Bearish Meeting Lines"
   if((Close(2)-Open(2)>AvgBody(1))             && // der Körper der bullischen Kerze ist überdurchschnittlich lang (long white)
     ((Open(1)-Close(1))>AvgBody(1))            && // der Körper der bärischen Kerze ist überdurchschnittlich lang (long black)
      (MathAbs(Close(1)-Close(2))<0.1*AvgBody(1)))  // Schlusskurse der beiden Kerzen sind fast gleich (doji close)
      return(true);
//---
   return(false);
  }

Für die Überprüfung der Kerzenformation "Bearish Meeting Lines" wird die Methode CheckCandlestickPattern(CANDLE_PATTERN_BEARISH_MEETING_LINES) der Klasse CCandlePattern verwendet.



2. Handelssignale in der Kombination mit dem CCI Indikator

Die Einstiegssignale entstehen, wenn die entsprechende Umkehrformation auftritt und der CCI Indikator den Level -50 für eine Long- und über 50 für eine Short-Position erreicht.

Die Ausstiegssignale werden nur vom CCI Indikator gesendet. Und zwar wenn er einen gegensätzlichen Level (80 für eine Long- und -80 für Short-Position) oder wenn er die Umkehr nicht bestätigt und ein neues Tief erreicht.

Abbildung 3. Handelssignale der Kerzenformation "Bullish Meeting Lines" mit der Bestätigung von CCI

Abbildung 3. Handelssignale der Kerzenformation "Bullish Meeting Lines" mit der Bestätigung von CCI


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

  • int CML_CCI::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 CML_CCI::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 Bullish Meeting Lines autritt und die Bedingung CCI (1)<-50 erfüllt ist (der Wert des CCI Indikators auf dem letzten vololständigen Balken ist kleiner als -50).

  2. Das Signal zum Schließen einer Short-Position entsteht, wenn der CCI Indikator den Level -80 (von oben nach unten) oder den Level 80 (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 Long-Position, result=80)             |
    //| 2) Ausstieg (Schließen einer Short-Position, result=40)           |
    //+-------------------------------------------------------------------+
    int CML_CCI::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
    //--- eine bullische Kerzenformation Bullish Meeting Lines und die Erfüllung der Bedingung CCI<-50
       if(CheckCandlestickPattern(CANDLE_PATTERN_BULLISH)MEETING_LINES) && (CCI(1)<-50))
          result=80;
    //--- Überprüfung der Bedingungen für das Schließen einer Short-Position
       if(((CCI(1)>-80) && (CCI(2)<-80)) || ((CCI(1)<80) && (CCI(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 Bearish Meeting Lines auftritt und die Bedingung CCI(1)>50 erfüllt ist (der Wert des CCI Indikators auf dem letzten vollständigen Balken ist größer als 50):

  2. Das Signal zum Schließen einer Long-Position entsteht, wenn der CCI Indikator den Level 80 (von oben nach unten) oder -80 (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 CMS_ES_CCI::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
    //--- eine bärische Kerzenformation Bearish Meeting Lines und die Erfüllung der Bedingung CCI>50
       if(CheckCandlestickPattern(CANDLE_PATTERN_BEARISH_MEETING_LINES) && (CCI(1)>50))
         result=80;
    //--- Überprüfung der Bedingungen für das Schließen einer Long-Position
       if(((CCI(1)<80) && (CCI(2)>80)) || ((CCI(1)<-80) && (CCI(2)>-80)))
         result=40;
    //--- result zurückgeben
       return(result);
      }
    


2.3. Erstellung eines Expert Advisors auf der Basis der Handelssignale des Umkehrmodells "Bullish/Bearish Meeting Lines + CCI" mithilfe von MQL5 Wizard

Die Klasse Класс CML_CCI gehört nicht zur Standardbibliothek der Klassen von Handelssignalen, dafür muss die Datei acml_cci.mqh (angefügt) heruntergeladen und in terminal_data_folder\Include\Expert\Signal\MySignals gespeichert werden. Die Datei sollte in dasselbe Verzeichnis wie die Datei acandlepatterns.mqh acml_cci.mqh kopiert werden. 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 "Signals based on Bullish/Bearish Meeting Lines confirmed by CCI" 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 erhalten den Code des erstellten Expert Advisors. Die Datei Expert_AML_CCI.mq5 wird in 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 anhand historischer Daten

Die Ergebnisse des Expert Advisors bei einem Test unter Verwendung von historischen Daten (EURUSD H1, Testzeitraum: 2000.01.01-2011.03.16, PeriodCCI=18, MA_period=3).

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 "Bullish/Bearish Meeting Lines + CCI" erstellt wurde

Abb. 11. Testergebnisse des EAs der auf der Basis des Generators der Handelssignale "Bullish/Bearish Meeting Lines + CCI" erstellt wurde

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

Der Code des Expert Advisors, der in MQL5 Wizard erstellt wurde, ist in der Datei expert_aml_cci.mq5 enthalten.


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

MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + Stochastic MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + Stochastic

Handelssignale der Kerzenformationen "Bullish/Bearish Meeting Lines" mit der Bestätigung durch den Stochastic Indikator.

MQL5 Wizard - Handelssignale der Kerzenformationen Bullish Engulfing/Bearish Engulfing + RSI MQL5 Wizard - Handelssignale der Kerzenformationen Bullish Engulfing/Bearish Engulfing + RSI

Handelssignale der Kerzenformation "Bullish Engulfing/Bearish Engulfing" mit der Bestätigung durch den RSI Indikator.

MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + MFI MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + MFI

Handelssignale der Kerzenformation "Bullish/Bearish Meeting Lines" mit der Bestätigung durch den MFI Indikator (Market Facilitation Index).

MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + RSI MQL5 Wizard - Handelssignale der Kerzenformationen Bullish/Bearish Meeting Lines + RSI

Handelssignale der Kerzenformation "Bullish/Bearish Meeting Lines" mit der Bestätigung durch den RSI Indikator (Relative Strength Index).