Das Handeln nach Donchians Kanälen

Alexander Fedosov | 2 Mai, 2017


Inhalt

Einführung

Der Kanal Dontschiana — ist der technische Indikator, der noch Anfang der 70er Jahre entwickelt wurde. Damals hieß er der gleitende Kanal, aber wurde später nach seinem Erfinder Richards Dontschiana umbenannt. Dieser Indikator bestimmt die Stufe der Volatilität des Marktes aufgrund des gegebenen Preisbereichs mit Hilfe der Anwendung der frischen Minimums und Maximums. Optisch stellt der Dontschians Kanal zwei Linien dar, innerhalb deren die Preisschwankungen stattfinden. Die Signale auf den Verkauf oder den Kauf — genauso das Verlassen des Preises über die untere oder obere Grenze des Kanals. Bei dem Aufbau des Kanals empfahl der Autor, den Preisbereich, der 20 ist (eine musterhafte Zahl der Werktage in einem Monat) und die Timeframe D1 zu verwenden.

Das Arbeitsprinzip und die Anwendung des Dontschians Kanals

Ich habe mich entschieden, nicht das Rad neu zu erfinden und fing nicht an, eine nächste Programmrealisierung dieses Indikators zu machen, sondern habe ich seine Modifikation als Grundlage genommen, die den Stil des Handels nach diesem System bemerkenswert charakterisiert — Donchian Channels System. Auf der Abb. 1 nach den Kerzen, die in die rosa und blauen Farben gefärbt sind, sind die Stellen gut sichtbar, wo der Durchbruch der Grenzen des Kanals stattfinden — das heißt die Stellen, wo der Eintritt in den Markt stattfinden soll.


in Abb.1. Das Arbeitsprinzip und die Punkte des Eintritts in den Markt nach den Kanälen Dontschians.

Beachten Sie bitte die roten Zonen, die auf dem Chart markiert sind. Es ist der Hauptnachteil des Kanals Dontschians — die so genannten falschen Durchbrüche, nach denen der Preis in seinen Bereich wieder zurückkommt. Deswegen, in den Markt nur nach dem Kanal Dontschians einzutreten, ohne zusätzliche Bestätigung, wäre unüberlegt. Um den Kern des Indikators klar vorzustellen, lass uns die Parameter und die Realisierung der verwendeten Modifikation betrachten:

//+----------------------------------------------+
//|  Eingangsparameter des Indikators            |
//+----------------------------------------------+
input uint           DonchianPeriod=20;            // Die Periode  der Mittelwertbildung
input Applied_Extrem Extremes=HIGH_LOW;            // Der Typ des Extremums
input uint           Shift=2;                      // Die horizontale Verschiebung in Bars
//+----------------------------------------------+
  • Die Periode  der Mittelwertbildung — der verwendete Preisbereich.
  • Die Extremumsarten — die Typen der Preiswerte, die in den Berechnungen verwendet werden. Als standardmäßig ist die klassische Installierung nach den Werten Minimums und Maximums der Kerzen eingestellt.
  • Die horizontale Verschiebung in Bars — auf wie viele Bars der Kanal verschoben ist.

Hier lohnt es sich, bei den Extremumsarten zu halten, da man in der mit mir gewählten Modifikation nicht nur die Werte High und Low verwenden kann. Unten werden die möglichen Varianten und die Programmrealisierung vorgestellt:

//+----------------------------------------------+
//|  Das Deklarieren der Aufzählung              |
//+----------------------------------------------+
enum Applied_Extrem //Der Typ des Extremums
  {
   HIGH_LOW,
   HIGH_LOW_OPEN,
   HIGH_LOW_CLOSE,
   OPEN_HIGH_LOW,
   CLOSE_HIGH_LOW
  };
  • HIGH_LOW — Die klassische Anwendung der High und Low-Kerzen.
  • HIGH_LOW_OPEN — in dieser Interpretation für den Aufbau der oberen Grenze des Kanals wird der Mittelwert zwischen dem Maximum des Open-Preises und dem Maximum der Kerzen im gegebenen Preisbereich verwendet. Für die untere Grenze werden Minimums verwendet.
  • HIGH_LOW_CLOSE — Für den Aufbau der oberen Grenze wird der Mittelwert zwischen dem Maximum des Exit-Preises und  dem Maximum der Kerzen im gegebenen Preisbereich verwendet. Für die untere Grenze werden Minimums verwendet.
  • OPEN_HIGH_LOW — Für den Aufbau der oberen Grenze wird das Maximum des Open-Preises im gegebenen Preisbereich verwendet, für die untere Grenze wird das Minimum verwendet.
  • CLOSE_HIGH_LOW — Für den Aufbau der oberen Grenze wird das Maximum des Exit-Preises im gegebenen Preisbereich verwendet, für die untere Grenze wird das Minimum verwendet.

Das Listing der Realisierung verschiedener Extremumsarten wurde unten dargestellt:

for(bar=first; bar<rates_total && !IsStopped(); bar++)
     {
      switch(Extremes)
        {
         case HIGH_LOW:
            SsMax=high[ArrayMaximum(high,bar,DonchianPeriod)];
            SsMin=low[ArrayMinimum(low,bar,DonchianPeriod)];
            break;

         case HIGH_LOW_OPEN:
            SsMax=(open[ArrayMaximum(open,bar,DonchianPeriod)]+high[ArrayMaximum(high,bar,DonchianPeriod)])/2;
            SsMin=(open[ArrayMinimum(open,bar,DonchianPeriod)]+low[ArrayMinimum(low,bar,DonchianPeriod)])/2;
            break;

         case HIGH_LOW_CLOSE:
            SsMax=(close[ArrayMaximum(close,bar,DonchianPeriod)]+high[ArrayMaximum(high,bar,DonchianPeriod)])/2;
            SsMin=(close[ArrayMinimum(close,bar,DonchianPeriod)]+low[ArrayMinimum(low,bar,DonchianPeriod)])/2;
            break;

         case OPEN_HIGH_LOW:
            SsMax=open[ArrayMaximum(open,bar,DonchianPeriod)];
            SsMin=open[ArrayMinimum(open,bar,DonchianPeriod)];
            break;

         case CLOSE_HIGH_LOW:
            SsMax=close[ArrayMaximum(close,bar,DonchianPeriod)];
            SsMin=close[ArrayMinimum(close,bar,DonchianPeriod)];
            break;
        }


Die Entwicklung des Handelssystems

Bei der Entwicklung der Strategie ist es nötig, nicht nur die falschen Durchbrüche, sondern auch den Punkt zu berücksichtigen, dass der Kanal Dontschians bei Trend-Strategien meistens verwendet wird. Da die Signale für den Eintritt in den Markt die Durchbrüche der Kanal-Grenzen sind, so muss man, für die Lösung des Problems der falschen Verlassen über die Grenzen, noch mindestens einen Trend-Indikator auswählen, der das Signal bestätigen würde. Es ist es auch nötig, die genauen Bedingungen des Eintritts, die Begleitung der offenen Position und des Verlassens, Money Management festzustellen. Deshalb lassen Sie uns bitte die gestellten Bedingungen zusammenfassen.

1. Das Bestätigungssignal

Das Ziel des Artikels — nicht nur die Anwendungsbeispiele des Handels nach den Kanälen Dontschians zu zeigen, sondern auch, die kleine Forschung hinsichtlich "der Lebensfähigkeit" dieses Systems in den modernen Märkten durchzuführen. Deshalb werden wir einige Bestätigungsindikatoren wählen. Jeder von ihnen wird im Tandem mit dem Kanal Dontschians arbeiten. So haben wir einige verschiedene Handelsstrategien, die aufgrund der Hauptstrategie gegründet ist, die wir nämlich untersuchen. Für die Tandems mit dem Kanal habe ich drei Bestätigungsignale in Form von den folgenden Indikatoren gewählt:

  • Average Directional Movement Index(ADX)  — der Index der mittleren Bewegungsrichtung. Das Tandem mit diesem Indikator ermöglicht den Zustand und die Kraft des laufenden Trends zu bewerten, und ermöglicht den Eintritt beim Durchbruch der Grenzen des Kanals zu verwirklichen.
  • Moving Average Convergence/Divergence(MACD) — ist der Oszillator der Konvergenz/Divergenz der gleitenden Mittelwerts. In diesem System wird MACD die laufende Tendenz verfolgen. Beim Durchbruch der Grenzen des Kanals werden wir überprüfen, ob er der Richtung des Marktes entspricht oder es ist ein zufälliger Auswurf des Preises (der falsche Durchbruch).
  • Mit dem dritten Bestätigungsignal wurde es entschieden, sofort zwei zu wählen: Average Speed (die durchschnittliche Geschwindigkeit der Veränderung des Preises in den Punkten/Minuten) und X4Period_RSI_Arrows (der Semaphor-Indikator von vier verschiedenen Perioden RSI).

2. Die Formalisierung der Handelssysteme

Zum Anfang muss man die allgemeinen Parameter für alle drei zukünftigen Handelsstrategien wählen: wir werden sie so auswählen, damit der Bereich des Tests möglichst maximal wäre. Deshalb werden wir die Parameter zusammenfassen, die wir beim Test verwalten werden:

  • Die Timeframe. Die Möglichkeit der Auswahl der Timeframe ist für den Test in verschiedenen vorübergehenden Perioden nötig, die diese oder jene Besonderheiten und die Phasen des Marktes, von den schwachen Bewegungen und den Korrektionen bis zu langwierigen Trends deutlich sichtbar auf den älteren Perioden charakterisieren können.
  • Money Management. Einige Varianten des Umfanges der Position werden je nach den Ergebnissen des Handels ermöglichen zu verstehen, ob Reinvestieren der Mittel wirksam ist oder mit den ständigen Loten bequemer ist, zu handeln.
  • Die Begleitung der offenen Position. Einige Arbeitsarten mit der schon offenen Position ermöglichen zu verstehen, welches Prozent der laufenden günstigen Bewegung wir als Gewinn nehmen können.
  • Der Parameter der Indikatoren. Der Test der gewählten Strategien in verschiedenen Modus gibt die Antwort auf die Frage, bei welchen Einstellungen unser System wirksam ist, und bei welchen — die Verlustbringende offenbar ist.

Weiter soll man die Bedingungen des Eintritts für alle drei Handelsstrategien zusammenzufassen:

#1. Der Kanal Dontschians + ADX.

Die Bedingung dieses Systems:

  • Es findet der Durchbruch der oberen oder unteren Grenze des Kanals Donchians statt.
  • Die Hauptlinie der Kraft des Trends ADX soll höher als der vorbestimmte ADX Level sein.
  • Beim Durchbruch nach oben soll die Linie DI + höher als DI- sein. Dementsprechend, beim Durchbruch nach unten soll die Linie DI- höher als DI+ sein.

in Abb.2. Die Bedingungen für den Markteintritt der Strategie der Kanal Donchians+ADX

#2. Der Kanal Donchians + MACD.  

Die Bedingung dieses Systems:

  • Es findet der Durchbruch der oberen oder unteren Grenze des Kanals Donchians statt.
  • Dabei ist der Wert des Histogramms höher als Null und höher der Signallinie beim Kauf.
  • Der Wert des Histogramms unter als Null und unter der Signallinie beim Verkauf.

in Abb.3. Die Bedingungen für den Markteintritt der Strategie der Kanal Donchians+MACD

#3. Der Kanal Donchians + (Average Speed и X4Period_RSI_Arrows).

Die Bedingungen dieses Systems sehen auf folgende Weise aus:

  • Es findet der Durchbruch der oberen oder unteren Grenze des Kanals Donchians statt.
  • Dabei soll der Wert Average Speed muss mehr als 1 sein, und der Semaphore RSI muss mindestens 2 Punkte über der Kerze beim Verkauf zeigen, und unter der Kerze beim Kauf.

in Abb.4. Die Bedingungen für den Markteintritt der Strategie der Kanal Donchians+(Average Speed und X4Period_RSI_Arrows)

Die Realisierung des Handelssystems

Für die Bequemlichkeit des Tests und der Optimierung wurde es entschieden, alle diesen Typs der Strategien in einem EA zu realisieren. Deshalb wird in den Parametern die Auswahl aus vier Strategien dargestellt:

//+------------------------------------------------------------------+
//|  Das Deklarieren der aufgezählten Strategiearten                 |
//+------------------------------------------------------------------+
enum Strategy
  {
   Donchian=0,
   Donchian_ADX,
   Donchian_MACD,
   Donchian_AvrSpeed_RSI
  };
  • Donchian — die Durchbruch-Strategie nur unter Verwendung der Kanäle Dontschians.
  • Donchian_ADX — Die Strategie mit dem Filter als Kraft des Trends des Indikators ADX.
  • Donchian_MACD — Die Strategie mit dem Filter als Signale des Oszillators MACD.
  • Donchian_AvrSpeed_RSI — die Strategie mit dem Filter als Signale-Geschwindigkeit der Veränderung des Preises und Semaphor-Indikator mit verschiedenen Perioden RSI.

Weiter erklären wir die Typen der Extremen der Kanäle Dontschians, die wir testen werden:

//+------------------------------------------------------------------+
//| Das Deklarieren der aufgezählten Typen der Extremen              |
//+------------------------------------------------------------------+
enum Applied_Extrem
  {
   HIGH_LOW,
   HIGH_LOW_OPEN,
   HIGH_LOW_CLOSE,
   OPEN_HIGH_LOW,
   CLOSE_HIGH_LOW
  };

Beachten Sie bitte auch, dass man drei Systeme Money Menedgment verwenden kann:

//+------------------------------------------------------------------+
//|  die Aufzählung für die Varianten der Berechnung des Lotes       |
//+------------------------------------------------------------------+
enum MarginMode
  {
   FREEMARGIN=0,     //MM Free Margin
   BALANCE,          //MM Balance
   LOT               //Constant Lot
  };
  • FREEMARGIN — die Berechnung des grundlegenden Lotes von der Marge.
  • BALANCE — die Berechnung von der laufenden Balance auf dem Konto.
  • LOT — ohne Veränderungen. Es wird das grundlegende Lot verwendet, das manuell bestimmt ist.

Als System der Begleitung der offenen Positionen aufgrund des Experten der universelle Trailing-Stop wurde die Klasse CTrailing entwickelt, der in der Datei Trailing.mqh ist.

Unten sind die Methoden der Begleitung der Positionen, sowie die Eingangsparameter dargestellt:

enum   TrallMethod
  {
   b=1,     //Nach Extremums der Kerzen
   c=2,     //Nach Fraktalen
   d=3,     //nach dem Indikator ATR
   e=4,     //nach dem Indikator Parabolic
   f=5,     //nach dem Indikator МА
   g=6,     //% vom Profit
   i=7,     //Nach den Punkten
  };


//--- Die Parameter Trailing-Stop

input bool                 UseTrailing=true;                            //Die Verwendung Trailing-Stop
input bool                 VirtualTrailingStop=false;                   //Der virtuelle Trailing-Stop
input TrallMethod          parameters_trailing=7;                       //Die Methode Trailing-Stop

input ENUM_TIMEFRAMES      TF_Tralling=PERIOD_CURRENT;                  //Die  Timeframe der Indikatoren

input int                  StepTrall=50;                                //Der Schritt der Umstellungen Stopp-Loss (in den Punkten)
input int                  StartTrall=100;                              //der minimale Gewinn Tralls (in Punkten)

input int                  period_ATR=14;                               //Die Periode ATR (die Methode 3)

input double               step_PSAR=0.02;                              //Der Schritt PSAR (die Methode 4)
input double               maximum_PSAR=0.2;                            //Das Maximum PSAR (die Methode 4)

input int                  ma_period=34;                                //Die Periode МА (Die Methode 5)
input ENUM_MA_METHOD       ma_method=MODE_SMA;                          //Die Methode der Mittelwertbildung  (Die Methode 5)
input ENUM_APPLIED_PRICE   applied_price=PRICE_CLOSE;                   //Der Typ des Preises  (die Methode 5)

input double               PercentProfit=50;                            //Das Prozent vom Profit (die Methode 6)

Auch für die Bequemlichkeit der Darstellung der gewählten Parameter im Rahmen des Tests sowie auf dem Demo-Modus, als auch im visuellen Modus des Tester habe ich mit Hilfe einer Serie der Artikel Grafische Interfaces ein informatives Bedienfeld hinzugefügt. Drin gibt es die Haupttypen der gewählten Einstellungen:

  • Der Typ der Strategie;
  • Der Typ des Trailing-Stops;
  • Der Typ der Money Management;
  • Der Take Profit;
  • Stop-Loss.

Für die Darstellung wurde die Klasse CDonchianUI entwickelt, die in der Datei DonchianUI.mqh ist. Nach freiem Ermessen kann man den eigenen Wert hinzufügen. Die visuelle Darstellung des Bedienfelds ist auf der Abb.5 dargestellt.

in Abb.5. Das informative Bedienfeld der Hauptmodus Donchian Expert.

Der Test

Vor dem Anfang des Tests ist es nötig, seine Bedingungen festzustellen. In der unten vorgestellten Tabelle wurden die Hauptbedingungen dargestellt:

Parameter Wert
Das Intervall des Tests 01.03.2016 — 01.03.2017
Der Markt EURUSD/GOLD-6.17
Der Handelsmodus Jeder Tick auf der Grundlage der tatsächlichen Ticks
Ersteinlage 1000 USD
Hebel  1:500
Server MetaQuotes

Da der EA in der Format 4 in 1 dargestellt ist, so ist es sinnlos, vom ganzen Vorteil der Sortierung der möglichen Einstellungenskombinationen zu erzählen, es wird den Lesern vorgestellt. Aber wir wählen die Hauptblöcke der Einstellungen, die wir im Test kombinieren werden, und die privaten Parameter der Blöcke werden wir optimieren. Um das besser zu verstehen, wurden in der Tabelle unten die Modus des EAs gebracht, die sich während des Tests ändern werden:

Der Block des EAs Die Modus des Tests
Money Management Das ständige Lot/von der Balance
Die Timeframe M30 - D1
Die Begleitung der offenen Position der Trailing-Stop/ohne Begleitung
Der Typ der Strategie Donchian/Donchian+ADX/Donchian+MACD/Donchian+Avr.Speed+RSI

Ich erkläre, warum im Money Management nur 2 Modus gewählt sind: bei dem Test wird die Belastung auf das verwendete Depositum nur von unserem EA wirken, und im Markt wird nur eine Position sein, deshalb das Modus von unserer Balance und von der freien Marge, eigentlich, wird eins und dasselbe. 

1. Die Trading-Strategie der Kanal Donchian.

Zuerst werden wir die Strategie nur nach den Kanälen Dontschians testen.


in Abb. 6. Die Trading-Strategie Donchian am EURUSD.

Im Laufe des Tests und der Optimierung der Strategie auf EURUSD wurden die folgenden Schlussfolgerungen gezogen:

  • Im aufgegebenen vorübergehenden Bereich waren die besten Ergebnisse auf М30-Н1.
  • Dabei die Arbeitsperiode des Indikators sind 10-12.
  • Aber mit der Sicht auf den verwendeten Preis das Beste war im Indikator der Modus CLOSE_HIGH_LOW.
  • Der Trailing-Stop war unwirksam im Vergleich mit dem Modus ohne ihn.
  • Die allgemeine Schlussfolgerung: die Strategie, die auf der Arbeit nur nach dem Kanal Dontschians gegründet ist, hat sich als klassische Trend-Strategie gezeigt, die die Serien der gewinnbringenden Trades bei den starken Bewegungen des Marktes hat.
//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_M30;                 //Die aktuelle Timeframe

input bool                 InfoPanel=false;                             //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=10;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian;                        //Die ausgewählte Strategie

//--- Die Parameter des Trailing-Stops

input bool                 UseTrailing=false;                           //Die Verwendung des Trailing-Stops


Im Vergleich zu einem Devisenpaar bei dem Test im Futures GOLD-6.17 mit der gleichen Periode und auf der gleichen Timeframes, genauso EURUSD - M30-H1, war das Ergebnis besser. 


in Abb.7. Die Trading-Strategie Donchian am GOLD-6.17.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_M30;                 //Die aktuelle Timeframe

input bool                 InfoPanel=false;                             //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=12;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian;                        //Die ausgewählte Strategie
....

//--- Die Parameter des Trailing-Stops

input bool                 UseTrailing=true;                            //Die Verwendung des Trailing-Stops
input bool                 VirtualTrailingStop=false;                   //Der virtuelle Trailing-Stop
input TrallMethod          parameters_trailing=7;                       //Die Methode Trailing-Stop

input ENUM_TIMEFRAMES      TF_Tralling=PERIOD_CURRENT;                  //Die  Timeframe der Indikatoren

input int                  StepTrall=50;                                //Der Schritt der Umstellungen Stopp-Loss (in den Punkten)
input int                  StartTrall=100;                              //der minimale Gewinn Tralls (in Punkten)

2. Die Trading-Strategie der Kanal Donchian und ADX.

Nach den Ergebnissen des Tests der Strategie mit dem ADX-Filter der Signale des Kanals Dontschians wurden die folgenden Schlussfolgerungen gezogen:

  • Die Anzahl der Trades hat sich verringert, wie bereits erwartet wurde. 
  • Die beste Timeframe blieb nach wie vor М30.
  • Der Anteil profitabler Trades ist höher geworden.
  • Die wirksame Periode des Kanals ist 18 geworden, dabei die Periode ADX — 10.
  • Nach wie vor ist der wirksamste verwendete Preis CLOSE_HIGH_LOW im Kanal Dontschians geworden.


in Abb.8. Die Trading-Strategie Donchian + ADX am EURUSD.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_M30;                 //Die aktuelle Timeframe

input bool                 InfoPanel=false;                             //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=18;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian_ADX;                    //Die ausgewählte Strategie
//--- Die Parameter des Indikators ADX

input int                  ADX_period=10;
input double               ADX_level=20;

Die Ergebnisse auf den Futures haben gezeigt, dass die Ergebnisse auf der Tieframe H1 mit der Periode des Kanals Dontschians 18 und ADX 8 mit der vorhergehenden Strategie ähnlich sind. Dabei haben wieder die besten Ergebnisse unter Verwendung des Kanals nach den Exit-Preisen gegeben.


in Abb.9. Die Trading-Strategie Donchian + ADX am GOLD-6.17.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_H1;                  //Die aktuelle Timeframe
input bool                 InfoPanel=false;                             //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=18;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian_ADX;                    //Die ausgewählte Strategie
//--- Die Parameter des Indikators ADX

input int                  ADX_period=8;
input double               ADX_level=20;

//--- Die Parameter des Trailing-Stops

input bool                 UseTrailing=true;                            //Die Verwendung Trailing-Stop
input bool                 VirtualTrailingStop=false;                   //Der virtuelle Trailing-Stop
input TrallMethod          parameters_trailing=7;                       //Die Methode Trailing-Stop

input ENUM_TIMEFRAMES      TF_Tralling=PERIOD_CURRENT;                  //Die  Timeframe der Indikatoren

input int                  StepTrall=50;                                //Der Schritt der Umstellungen Stopp-Loss (in den Punkten)
input int                  StartTrall=100;                              //der minimale Gewinn Tralls (in Punkten)

3. Die Trading-Strategie des Kanals Donchians und ADX.

Nach den Ergebnissen des Tests der Strategie mit dem MACD-Filter der Signale des Kanals Dontschians wurden die folgenden Schlussfolgerungen gezogen:

  • Die besten Ergebnisse haben wieder auf der Timeframe H1 gegeben.
  • Der Wechsel der Parameter des Indikators MACD hat keine irgendwelche ernste Veränderungen beigetragen.


in Abb.10. Die Trading-Strategie Donchian + MACD am EURUSD.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_H1;                  //Die aktuelle Timeframe
input bool                 InfoPanel=true;                              //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=16;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian_MACD;                   //Die ausgewählte Strategie

//--- Die Parameter des Indikators MACD

input int                  InpFastEMA=12;                               //Fast EMA period
input int                  InpSlowEMA=26;                               //Slow EMA period
input int                  InpSignalSMA=9;                              //Signal SMA period
input ENUM_APPLIED_PRICE   InpAppliedPrice=PRICE_CLOSE;                 //Applied price

Beim Test der Futures, wie auch in der vorhergehenden Strategie war die beste Periode 10 des Kanals Dontschins. Die Variante unter Verwendung des Trailing-Stops war wirksamer, als ohne ihn.


in Abb.11. Die Trading-Strategie Donchian + MACD am GOLD-6.17.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_M30;                 //Die aktuelle Timeframe

input bool                 InfoPanel=true;                              //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=10;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian_MACD;                   //Die ausgewählte Strategie

//--- Die Parameter des Indikators MACD

input int                  InpFastEMA=12;                               //Fast EMA period
input int                  InpSlowEMA=26;                               //Slow EMA period
input int                  InpSignalSMA=9;                              //Signal SMA period
input ENUM_APPLIED_PRICE   InpAppliedPrice=PRICE_CLOSE;                 //Applied price

Bevor die nächste Strategie mit dem komplexen Filter getestet wird, braucht man die Zwischenschlüsse infolge dessen zu ziehen, dass in drei betrachteten Strategien die klassischen Indikatoren verwendet wurden. Eigentlich, einen großen Unterschied zwischen den getesteten Strategien auf EURUSD wurde es nicht herausgefunden, jedoch haben die Filter in Form von ADX und MACD die Anzahl der Eintritts in den Markt verringert und haben das endgültige Endergebnis vergrößert. Wenn die Tests im Futures betrachten, dann mit der Rücksicht auf die Besonderheit dieses Marktes und sich stark unterscheidender Volatilität im Vergleich zu Devisenpaaren, gibt die Filtration der Signale des Kanals Dontschians keine Veränderungen. Aber das endgültige Endergebnis war wesentlich besser, als auf einem Devisenpaar.

4. Die Trading-Strategie der Kanal Donchian und Average Speed+X4Period_RSI_Arrows.

Nach der Optimierung der Filtrierung-Strategie der Signale des Kanals Dontschians vom komplexen Filter haben wir alle früher gezogenen Schlussfolgerungen anlässlich der Verwendung unter verschiedenen Handelsbedingungen bestätigt. In Zusammenhang mit der niedrigen Volatilität der Futures war der Selektiv der vorliegenden Strategie viel zu viel.


in Abb.12. Die Trading-Strategie Donchian + Average Speed+X4Period_RSI_Arrows am EURUSD.

//+------------------------------------------------------------------+
//| Eingangsparameter des Experten                                   |
//+------------------------------------------------------------------+
sinput string              Inp_EaComment="Donchian Expert";             //EA -Kommentaren
input double               Inp_Lot=0.01;                                //Das grundlegende Lot
input MarginMode           Inp_MMode=LOT;                               //Money Management
input int                  Inp_MagicNum=555;                            //Magic
input int                  Inp_StopLoss=400;                            //Stop-Loss (in den Punkten)
input int                  Inp_TakeProfit=600;                          //Der TakeProfit (in den Punkten)
input int                  Inp_Deviation = 20;                          //Die Schlupf
input ENUM_TIMEFRAMES      InpInd_Timeframe=PERIOD_H1;                  //Die aktuelle Timeframe
input bool                 InfoPanel=true;                              //Die Darstellung des Info-Bedienfelds
//--- Die Parameter des Indikators Donchian Channel System

input uint                 DonchianPeriod=12;                           //Die Periode des Kanals
input Applied_Extrem       Extremes=CLOSE_HIGH_LOW;                     //Der Typ des Extremums
//---Die Auswahl der verwendeten Strategie

input Strategy             CurStrategy=Donchian_AvrSpeed_RSI;           //Die ausgewählte Strategie

//--- Die Parameter des Indikators Average Speed

input int                  Inp_Bars=1;                                  //Die Anzahl der Bars
input ENUM_APPLIED_PRICE   Price=PRICE_CLOSE;                           //Der verwendete Preis
input double               Trend_lev=2;                                 //Der Level des Trends
//--- Die Parameter des Indikators x4period_rsi_arrows

input uint                 RSIperiod1=7;                                //Die Periode RSI_1
input uint                 RSIperiod2=12;                               //Die Periode RSI_2
input uint                 RSIperiod3=18;                               //Die Periode RSI_3
input uint                 RSIperiod4=32;                               //Die Periode RSI_4
input ENUM_APPLIED_PRICE   Applied_price=PRICE_WEIGHTED;                //Der verwendete Preis
input uint                 rsiUpperTrigger=62;                          //Der Level des Überkaufs
input uint                 rsiLowerTrigger=38;                          //Der Level des Überverkaufs
//--- Die Parameter des Trailing-Stops

input bool                 UseTrailing=false;                           //Die Verwendung des Trailing-Stops

Fazit

Aufgrund des Tests des Handelssystems nach den Kanälen Dontschians wurden die folgenden Schlussfolgerungen und Bemerkungen über ihre Besonderheiten gemacht:

  • Der Handel nach den Kanälen hat sich wie die klassische Trend-Strategie gezeigt, und für ihre Verbesserung muss man die Filter der Seitenbewegung einführen.
  • Die Ergebnisse der Tests waren besser auf dem eiligen Markt.
  • Unterschiedlich als klassische Berechnung der Grenzen der Kanäle nach Maximum und Minimum hat sich der Modus CLOSE_HIGH_LOW (nach den Exit-Preisen) besser gezeigt. Es wird dadurch erklärt, dass die Auswürfe des Preises für das getestete EURUSD auf dem modernen Markt in Form von den langen Schatten gewohnt sind. Sie verzerrten die Grenzen des Kanals stark, und die Exit-Preise waren objektiver.
  • Auch waren die besseren Parameter bei der Arbeit nicht auf den Intraday-Charts, sondern auf den Timeframes М30 — H1.
  • Dabei schwingt sich die wirksame Periode von 10 bis zu 20 Kerzen.

Fazit

Am Ende des Artikels findet man im Anhang das Archiv mit allen aufgezählten Dateien, die nach den Ordnern sortiert sind. Deshalb ist es für die korrekte Arbeit ausreichend, den Ordner MQL5 im Verzeichnis des Terminalen zu zuordnen. Dabei wird die Bibliothek der graphischen Interface EasyAndFastGUI verwendet, die man aus dem Artikel nehmen kann.

Die Programme, die im Artikel verwendet wurden:

#
 Der Name
Typ
Beschreibung
1
DonchianExpert.mq5 Der Experte
 Der komplexe EA, der die 4 Strategien hat, die auf den Kanälen Dontschians gegründet sind.
2
DonchianUI.mqh Bibliothek  Die der Benutzer-Interface
3
TradeFunctions.mqh Bibliothek  Die Klasse der Trade-Funktionen.
4
Trailing.mqh Bibliothek  Die Klasse der offenen Positionen.
5
average_speed.mq5 Indikator  Der Indikator der durchschnittlichen Preisänderungsgeschwindigkeit.
6
donchian_channels_system.mq5 Indikator  Der Indikator der Kanal Dontschian mit der Darstellung der Kerzen, die die Grenzen des Kanals durchbrechen.
7 x4period_rsi_arrows.mq5 Indikator  Der Semaphor Indikator von vier von vier verschiedenen Perioden RSI.