Modul von Handelssignalen nach dem Bill-Williams-System

Nikolay Churbanov | 2 März, 2016

Einleitung

Jeder Trader kennt bestimmt das Handelssystem von Bill Williams, das er in seinem Buch New Trading Dimensions erläutert. Das ist eines der Systeme, die klare und gut verständliche Regeln für Anfänger darstellen. Aber der Schein trügt, das Handelssystem ist nicht so einfach, wie es aussieht, und verfügt über dutzende Handelsmuster.

Viele haben versucht, Expert Advisors nach diesem System selbständig zu schreiben, aber die Formalisierung von Mustern, richtige Suche und Interpretation bereiten häufig große Schwierigkeiten für angehende Entwickler. Für die Automatisierung des Handels sowie für die Identifizierung und Markierung von Mustern des Systems habe ich ein Modul für die Erstellung von Handelsrobotern im MQL5 Wizard entwickelt.

Ich habe versucht, es möglichst bequem für die potentiellen Nutzer des MetaTrader 5 Terminals zu gestalten, die das Handelssystem selbständig erlernen möchten. Das Handelsmodul unterscheidet sich von den anderen 60 Modulen für MQL5 Wizard dadurch, dass es mithilfe des visuellen Interfaces eingestellt werden kann.

Grundfunktionen des Handelsmoduls:

  1. Einstellung von Parametern des Handelssystems mit dem grafischen Panel.
  2. Die Option, die Identifizierung und die Markierung ausgewählter Muster zu deaktivieren.
  3. Die Option, Handel nach ausgewählten Mustern zu deaktivieren.
  4. Optimierung von Parametern des Handelssystems.

Struktur (der Quellcode ist in der angehängten Zip-Datei billwilliamsts.zip zu finden):

  1. CBillWilliamsTS MQL5 Klasse. Hier ist die ganze Logik für die Bestimmung der Handelsmuster des Systems sowie die Logik der Abwicklung von Handelsoperationen nach gefundenen Mustern enthalten. Optional kann man gefundene Muster mithilfe der Klasse auf der Grafik eines Symbols markieren. Die Klasse befindet sich in der Datei BillWilliamsTS.mqh.
  2. MQL5 Klasse des grafischen Panels CBillWilliamsDialog. Diese Klasse dient zur Anzeige der Eistellungsleiste für eine interaktive Verwaltung des Objekts der CBillWilliamsTS Klasse. Die Klasse befindet sich der BillWilliamsPanel.mqh Datei.
  3. SignalBillWilliams MQL5 Klasse. Das Modul von Handelssignalen für eine automatische Erstellung von Expert Advisors automatisch im MQL5 Wizard zu erstellen.
  4. BillWilliamsEA MQL5 Expert Advisor. Handelsexperte, der auf Basis von Handelsklassen und des grafischen Panels entwickelt wurde. Er ist für die Automatisierung des Handels nach Mustern des Bill-Williams-Handelssystems bestimmt und befindet sich in der Datei BillWilliamsEA.mq5.

Gliederung:

  1. Kurze Beschreibung der Handelsstrategie von Bill Williams, Muster und Markierung, die der entwickelte Expert Advisor ausführt.
  2. Beschreibung des grafischen Panels.
  3. Testergebnisse für verschiedene Symbole.


1. Kurzer Überblick zum Bill-Williams-Handelssystem

1.1. Allgemeines

Im Buch New Tradig Dimensions behauptet Bill Williams, dass man für einen erfolgreichen Handel auf den Finanzmärkten Erkenntnis über die Marktstruktur erlangen muss. Laut dem Autor verfügt der Markt über fünf Dimensionen. Wenn man diese als eine Ganzheit untersucht, bekommt man ein wahres Bild und kann bis zu 80% von der Trendbewegung nehmen:

  1. Fraktal (Raum der Phase)
  2. Triebkraft (Energie der Phase)
  3. Beschleunigung/Verlangsamung (Kraft der Phase)
  4. Zone (Kombination aus der Kraft/Energie der Phase)
  5. Kontostand-Linie

Zusätzlich zu den fünf Marktdimensionen führt Bill Williams allgemein bekannte Marktzustände ein: Trend und Flat. Für die Identifizierung schlägt der Autor vor, den von ihm entwickelten Alligator Indikator zu nutzen und nur auf den Trend-Abschnitten des Marktes zu arbeiten.

Des Weiteren werden Elemente des Handelssystems, die auf ihnen beruhenden Muster und die Besonderheiten der Markierung gefundener Signale mittels des entwickelten Moduls von Handelssignalen erläutert.


1.2. Alligator

Der Alligator Indikator stellt eine Kombination aus drei gleitenden Durchschnitten dar (Abbildung 1):

Abbildung 1. Alligator

Abbildung 1. Alligator

Laut dem System muss man Trades nur dann ausführen, wenn die Linien des Alligators in der Trendrichtung in der absteigenden Reihenfolge der Periode abgebildet werden: Preis, Lippen, Zähne, Kiefer. Auf der Abbildung sind der Anfang und das Ende des Abwärtstrends dargestellt.

Es ist offensichtlich, dass Alligator ein Indikator mit einer großen Verzögerung ist, genauso wie alle Indikatoren anhand Gleitender Durchschnitte. Aber die Kreuzung der Linien Gleitender Durchschnitte ist an sich kein Signal zum Markteintritt, sondern nur ein Filter für Trades.


1.3. Fraktale - Signale der ersten Marktdimension

Ein Fraktal ist eine Einheit aus 5 Kerzen. Als Sell-Fraktal gilt das Fraktal, dessen Low-Preis der mittleren Kerze minimal ist. Als Buy-Fraktal gilt das Fraktal, dessen High-Preis der mittleren Kerze maximal ist. Fraktale werden auch als die erste Marktdimension bezeichnet (dimension 1):

Abbildung 2. Fraktale

Abbildung 2. Fraktale

Das Fraktal gilt als gültig, wenn es über der mittleren Linie des Alligators (Zähne) für den Aufwärtstrend und unter der mittleren Linie für den Abwärtstrend entsteht.

Der entwickelte Expert Advisor markiert gültige Fraktale auf folgende Weise: (FrB — FractalBuy — gültiges Buy-Fraktal, FrS — FractalSell — gültiges Sell-Fraktal):

Abbildung 3. Gültiges Buy-Fraktal

Abbildung 3. Gültiges Buy-Fraktal


Abbildung 4. Sell-Fraktal

Abbildung 4. Sell-Fraktal

Die Buy Stop Pending Order wird ein Pip höher als das Maximum des Balkens platziert, auf dem gültiger Buy-Fraktal entsteht. Die Sell Stop Pending Order wird ein Pip niedriger als das Maximum des Balkens platziert, auf dem gültiger Sell-Fraktal entsteht. Weitere Positionen (Fraktale und anderer Indikatoren) werden nur dann eröffnet, sobald das erste Fraktal nach der Trendänderung vom Alligator überwunden wurde.


1.4. Awesome Oscillator — AO — Signale der zweiten Marktdimension

1.4.1. Allgemeines

Der Zauber-Oszillator Awesome Oscillator — AO bestimmt die Schwungkraft des Marktes. Das ist die Differenz zwischen der 34-Periode SMA und 5-Periode SMA, die anhand zentraler Punkte der Balken berechnet werden. Auf dem Chart wird der Indikator als ein Histogramm abgebildet:

Abbildung 5. Awesome oscillator

Abbildung 5. Awesome Oscillator

In der Handelsstrategie gibt es 6 Muster, die auf diesem Oszillator beruhen. Weiter werden diese beschrieben und mittels des entwickelten Expert Advisors markiert.

1.4.2. Buy-Muster "Untertasse"

Abbildung 6. Buy-Muster "Untertasse"

Abbildung 6. Buy-Muster "Untertasse"

Das Muster besteht aus drei Säulen. Die erste Säule muss höher als die mittlere sein und kann jede Farbe haben. Die mittlere Säule muss rot sein. Die dritte Säule (Signalsäule) muss grün sein. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und mit DiB (Dish Buy) abgekürzt.

1.4.3. Sell-Muster "Untertasse"

Abbildung 7. Sell-Muster "Untertasse"

Abbildung 7. Sell-Muster "Untertasse"

Das Muster besteht aus drei Säulen. Die erste Säule muss kleiner als die mittlere sein und kann jede Farbe haben. Die mittlere Säule muss grün sein. Die dritte Säule (Signalsäule) muss rot sein. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und mit DiS (Dish Sell) abgekürzt.

1.4.4. Buy-Muster "Kreuzung der Nulllinie"

Abbildung 8. Buy-Muster "Kreuzung der Nulllinie"

Abbildung 8. Buy-Muster "Kreuzung der Nulllinie"

Das Signal erscheint, wenn das Histogramm die Nulllinie von unten nach oben kreuzt. Als Signalsäule gilt die Säule, die die Nulllinie kreuzt. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und mit CrB (Cross Buy) abgekürzt.

1.4.5. Sell-Muster "Kreuzung der Nulllinie"

Abbildung 9. Sell-Muster "Kreuzung der Nulllinie"

Abbildung 9. Sell-Muster "Kreuzung der Nulllinie"

Das Signal erscheint, wenn das Histogramm die Nulllinie vom oben nach unten kreuzt. Als Signalsäule gilt die Säule, die die Nulllinie kreuzt. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und wird CrS (Cross Sell) abgekürzt.

1.4.6. Buy-Muster "Zwei Spitzen"

Abbildung 10. Buy-Muster "Zwei Spitzen"

Abbildung 10. Buy-Muster "Zwei Spitzen"

Das Buy-Signal wird gebildet, wenn sich das Histogramm unter der Nulllinie befindet, und die letzte Talsohle des Indikators höher als die vorherige liegt. Dabei hat sich das Histogramm zwischen den Extremwerten nicht über die Null erhöht. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und wird mit 2pB (2 peak Buy) abgekürzt.

1.4.7. Sell-Muster "Zwei Spitzen"

Abbildung 11. Sell-Muster "Zwei Spitzen"

Abbildung 11. Sell-Muster "Zwei Spitzen"

Das Sell-Signal entsteht, wenn sich das Historamm über die Nulllinie befindet und die letzte Spitze des Indikators tiefer als die des ersten liegt. Dabei war das Histogramm nicht tiefer als die Null. Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und wird mit 2pS (2 peak Sell) abgekürzt.

1.4.7. Order platzieren

Bei der Erscheinung der Buy-Säule wird die Buy Stop Pending Order 1 Pip höher als das Maximum des Signalbalkens platziert. Bei der Erscheinung der Sell-Säule wird die Sell Stop Pending Order 1 Pip tiefer als das Minimum des Signalbalkens platziert.


1.5. Acceleration/Deceleration Oscillator — AC — Signale der dritten Marktdimension

Das Acceleration/Deceleration (АС) Histogramm bezeichnet die Differenz zwischen dem Awesome Oscillator Histogramm und dem Gleitenden Durchschnitt über 5 Perioden nach dem Awesome Oscillator:

Abbildung 12. AC Oszillator

Abbildung 12. AC Oszillator

Das Buy-Signal bildet sich, wenn zwei aufeinandergehende Säulen mit höheren Werten als die letzte niedrigste Säule erscheinen (das Histogramm liegt über der Nulllinie); wenn das Histogramm unter der Nulllinie liegt, dann werden drei aufeinanderfolgende grüne Säulen (Abbildung 13, Signal B — Buy) benötigt.

Das Sell-Signal bildet sich, wenn zwei aufeinanderfolgende Säulen mit niedrigeren Werten, als die letzte höchste Säule erscheinen (das Histogramm liegt unter der Nulllinie); wenn das Histogramm über der Nulllinie liegt, sind drei aufeinanderfolgende rote Säulen gebraucht (Abbildung 13, Signal S — Sell).

Abbildung 13. Muster des AC-Oszillators

Abbildung 13. Muster des AC-Oszillators

Das Signal wird durch den Expert Advisor auf dem AO-Indikator angezeigt und wird mit S (Sell) oder B (Buy) abgekürzt. Bei der Erscheinung der Buy-Säule wird die Buy Stop Pending Order 1 Pip höher als das Maximum des Signalbalkens platziert. Bei der Erscheinung der Sell-Säule wird die Sell Stop Pending Order 1 Pip tiefer als das Minimum des Signalbalkens platziert.


1.6. Handel in Zonen — Signale der vierten Marktdimension

Bill Williams führt den Begriff Handelszonen ein: eine grüne und eine rote. Der Preis liegt in der grünen Zone, wenn die aktuellen AC und AO Säulen grün sind. Der Preis liegt in der roten Zone, wenn die aktuellen AC und AO Säulen rot sind.

Zur Eröffnung neuer Buy-Positionen in der grünen Zone (Sell-Positionen in der roten Zone), müssen mindestens zwei aufeinanderfolgende grüne (rote) Säulen vorhanden sein, dabei muss der Schließungspreis des zweiten Balkens höher (niedriger) als der des ersten sein. Nach fünf grünen bwz. roten Balken werden weitere Positionen nicht mehr eröffnet.

Wenn der fünfte grüne (rote) Balken erscheint, muss eine Stop Loss Order ein Pip tiefer als der minimale Preis (höher als der maximale) des fünften Balkens platziert werden. Wenn die Pending Order auf dem nächsten Bar nicht ausgeführt wird, muss ihre Grenze auf die Grenze geändert werden, die ein Pip tiefer als minimaler Preises (höher als maximaler) des sechsten Balkens liegt usw.

Signale des Handels in Zonen werden als ZS (Zone Sell) und ZB (Zone Buy) auf dem AC-Indikator angezeigt (und stimmen in der Regel mit den Signalen des AC-Indikators überein):

Abbildung 14. Signale des Handels in Zonen

Abbildung 14. Signale des Handels in Zonen


1.7. Handel von der Kontostand-Linie — Signale der fünften Marktdimension

Das Muster "Buy oberhalb der Kontostand-Linie" wird durch zwei Balken gebildet, wenn der Preis höher als der Alligator Indikator ist. Wenn der Eröffnungspreis des Nullbalkens (er gilt auch als der maximale Preis auf diesem Balken in dem Moment) niedriger als der erste vorherige maximale Preis ist (er kann sich auch einige Balken zurückfinden), dann wird der gefundene maximale Preis zum Eröffnungspreis einer Buy-Position für die grüne Zone. Wenn der Preis tiefer als die Alligator-Linie liegt, wird ein weiteres Maximum über den Preis für den Eintritt in die grüne Zone benötigt.

Das Muster "Buy unterhalb der Kontostand-Linie" sieht umgekehrt aus.

Diese Handelslogik ist ausführlich im Artikel "Expert Advisor auf Grundlage der "New Trading Dimensions" von Bill Williams" beschrieben.

Der Expert Advisor markiert Muster mit einer horizontalen Linie an der Stelle, an welcher eine Pending Order platziert wurde:

Abbildung 15. Stellen für die Platzierung von Pending Orders

Abbildung 15. Stellen für die Platzierung von Pending Orders


1.8. Positionen schließen

Bill Williams hat mehrere Methoden der Schließung vorgeschlagen:


2. Grafisches Panel

2.1. Allgemeines

Das Interface des grafischen Panels ist auf der Abbildung unten dargestellt:

Abbildung 16. Grafisches Panel für die Verwaltung des Experten

Abbildung 16. Grafisches Panel für die Verwaltung des Experten

Das grafische Panel besteht aus vier logischen Einheiten:

  • Einstellungen des Analysators;
  • Einstellungen des Alligators;
  • Einstellungen der Anzeige und des Handels nach Signalen der fünf Dimensionen;
  • Einstellungen des Handels.

Wenn Einstellungen ändern, klicken Sie auf "Accept", um Änderungen zu speichern.


2.2. Einstellungen des Analysators

Zu den Einstellungen des Analysators gehören die folgenden:

  • Show Signals — Anzeige gefundener Muster nach dem Handelssystem von Bill-Williams;
  • RGB — Farbeinstellungen für Anzeige gefundener Muster;
  • Bar count — Berechnung angegebener Anzahl von Balken aus der Historie für die Markierung des Charts (wenn die Null angegeben wird, wird der ganze Chart markiert).


2.3. Einstellungen des Alligators

Die Einstellungen des Alligators sind die Standardeinstellungen dieses Indikators. Es besteht eine zusätzliche Möglichkeit, die Anzeige dieses Indikators zu deaktivieren (Show-Parameter).


2.4. Einstellungen der Anzeige und des Handels nach Signalen der Dimensionen

Diese Einstellungen ermöglichen es, einzelne Signale (Show-Option) sowie den Handel nach einzelnen Signalen (Trade-Option) anzuzeigen:

  • Fraktale (Zeile Dim1.Fractals);
  • AO (Zeile Dim2.AO);
  • AC (Zeile Dim3.AC);
  • Handel in Zonen (Zeile Dim4.Zones);
  • Handel von der Kontostand-Linie (Zeile Dim5.Balance).

Es besteht eine weitere Möglichkeit, alle Signale unabhängig vom laufendem Trend anzuzeigen (Option "Show out of trend signals").


2.5. Einstellungen des Handels

Die Einstellungen des Handels verfügen nur über einen Parameter – die Lot-Größe.


2.6. Hauptfenster

Das Hauptfenster ist auf der Abbildung unten dargestellt (die Einstellungsleiste ist minimiert):

Abbildung 17. Hauptfenster

Abbildung 17. Hauptfenster


3. Erstellung eines Expert Advisors im MQL5 Wizard

3.1. Vorbereitung

Vor der Erstellung eines Expert Advisors muss man die angehängte Zip-Datei billwilliamsts.zip herunterladen und die Dateien aus dieser Zip in die entsprechenden Ordner des Datenkatalogs im Handelsterminal kopieren.


3.2. Erstellung eines Expert Advisors

Für eine automatische Generierung eines Expert Advisors muss man folgende Schritte unternehmen:

Wählen Sie "Erstellen" im MQL Editor und anschließend "Expert Advisor (generieren)" im neuen Fenster aus:

Abbildung 18. MQL Wizard - Schritt 1

Abbildung 18. Erstellung eines Expert Advisors — Schritt 1

Weiter ist der Name des neuen Expert Advisors einzugeben:

Erstellung eines Expert Advisors - Schritt 2

Abbildung 19. Erstellung eines Expert Advisors - Schritt 2

Weiter muss man einen Generator hinzufügen:

Erstellung eines Expert Advisors - Schritt 3

Abbildung 20. Erstellung eines Expert Advisors - Schritt 3

Als Generator muss man "Signal of BillWilliams trading system" wählen:

Erstellung eines Expert Advisors - Schritt 4

Abbildung 21. Erstellung eines Expert Advisors - Schritt 4

Der nächste Schritt wird ohne Änderungen bestätigt:

Erstellung eines Expert Advisors - Schritt 5

Abbildung 22. Erstellung eines Expert Advisors - Schritt 5

Weiter muss die Wahl des Moduls bestätigt werden:

Erstellung eines Expert Advisors - Schritt 6

Abbildung 23. Erstellung eines Expert Advisors - Schritt 6

Wenn nötig werden Parameter für Trailing-Stop gesetzt:

Erstellung eines Expert Advisors - Schritt 7

Abbildung 24. Erstellung eines Expert Advisors - Schritt 7

Weiter werden Parameter der Kapitalverwaltung gesetzt:

Erstellung eines Expert Advisors - Schritt 8

Abbildung 25. Erstellung eines Expert Advisors - Schritt 8

Des Weiteren ist es notwendig, die Datei des erstellten Expert Advisors zu bearbeiten, damit der EA auf die Änderungen der Parameter im Handelspanels reagiert:

Finden Sie den Codeteil:

//--- Creating filter CBillWilliamsSignal
CBillWilliamsSignal *filter0=new CBillWilliamsSignal;

ersetzen Sie ihn durch:

filter0=new CBillWilliamsSignal;

Deklarieren Sie die globale Variable filter0:

//+------------------------------------------------------------------
//| Global expert object                                             |
//+------------------------------------------------------------------
CExpert ExtExpert;
CBillWilliamsSignal *filter0;

und fügen Sie den Ereignis-Handler der Grafik hinzu:

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
  filter0.ChartEvent(id,lparam,dparam,sparam);
}

Der erstellte Expert Advisor kann genutzt werden.


3.3. Beschränkungen

Der im MQL Wizard erstellte Expert Advisor ist den Beschränkungen der API Standardbibliothek ausgesetzt:

  1. Wenn eine Position bereits eröffnet ist, kann man nicht mehr nachschießen (die Standardbibliothek muss nachgearbeitet werden);
  2. Der Expert Advisor handelt nur Marktorders.

Um diese Mängel zu beheben, wurde aufgrund der Klasse von Handelssignalen der zusätzliche Expert Advisor BillWilliamsEA.mq5 entwickelt, der ebenso in der angehängten Zip-Datei zu finden ist.


4. Testergebnisse

4.1. EURUSD D1, 2015

Abbildung 18. Chart des Tests EURUSD D1, 2015

Abbildung 26. Chart des Tests EURUSD D1, 2015

Detaillierte Ergebnisse sind der Datei EUR-D1-2015.zip zu entnehmen.


4.2. EURUSD D1, 2010 - 2015

Abbildung 19. Chart des Tests EURUSD D1, 2010-2015

Abbildung 27. Chart des Tests EURUSD D1, 2010-2015

Detaillierte Ergebnisse sind der Datei EUR-D1-2010-2015.zip zu entnehmen.


4.3. EURJPY D1, 2010 - 2015

Abbildung 20. Chart des Tests EURJPY D1, 2010-2015

Abbildung 28. Chart des Tests EURJPY D1, 2010-2015

Detaillierte Ergebnisse sind der Datei EURJPY-D1-2010-2015.zip zu entnehmen.


Fazit

Aus den Ergebnissen des Testens kann man die Schlussfolgerung ziehen, dass der Expert Advisor gut auf Trendabschnitten arbeitet, beim Flat aber Verluste erzielt (eigentlich ist es eine gewöhnliche Situation, von der Bill Williams auch gesprochen hat).

Um akzeptable Ergebnisse zu bekommen, muss man verschiedene Techniken der Setzung von Stop Loss kombinieren, denn das Bill-Williams-System ist ein "überfälliges" System und tritt in den Trend ein, wenn er sich bereits gut entwickelt hat.