
Das Handeln nach Donchians Kanälen
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. |
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/3146





- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.