Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5
MetaQuotes | 22 September, 2017
Benutzerdefinierte Symbole im MetaTrader 5 bieten neue Möglichkeiten für die Entwicklung von Handelssystemen und die Analyse beliebiger Finanzmärkte. Jetzt können Händler Charts erstellen und Handelsstrategien mit einer unbegrenzten Anzahl von Finanzinstrumenten testen. Dafür müssen sie nur ihr benutzerdefiniertes Symbol auf der Grundlage von Ticks oder den Minutenbars aus der Historie erzeugen. Benutzerdefinierte Symbole können verwendet werden, um einen beliebigen Handelsroboter des Marktes oder aus der Bibliothek kostenloser Quellcodes zu testen.
Erstellen eines benutzerdefinierten Symbols
Lassen Sie uns ein benutzerdefiniertes Symbol auf der Basis eines bereits im Market Watch existierenden erstellen. Öffnen Sie das Fenster der Symbole mit der rechten Maustaste und wählen Sie das Symbol aus, mit dem Sie ein benutzerdefiniertes Symbol erstellen möchten.
Nach dem Klick auf "Create Custom Symbol", geben Sie den Namen ein und ändern Sie die Parameter in den Spezifikationen falls nötig.
Alle benutzerdefinierten Symbole werden in einem separaten Verzeichnis <Custom> des Symbolsbaums gespeichert und werden immer dort erwartet, unabhängig von jeweiligen Broker, mit dem man gerade verbunden ist. Preisdaten von benutzerdefinierten Symbolen werden in einem separaten, benutzerdefinierten Verzeichnis außerhalb der Verzeichnisse gespeichert, in denen die Daten der Handelsservern gespeichert sind:
C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[instance id]\bases\Custom
Dies ist ein weiterer Vorteil der Erstellung eines benutzerdefinierten Symbols - Sie können einfach die benötigten Symbole von jedem Broker in Ihre benutzerdefinierte Gruppe kopieren. Genau wie herkömmliche Symbole können Sie ein benutzerdefiniertes Symbol nur löschen, wenn es in keinem offenen Charts geöffnet ist und es nicht in der Marktübersicht aufgelistet ist.
Konfigurieren eines benutzerdefinierten Symbols
Sie können die Genauigkeit der Notierungen, die Kontraktgröße, die Symbolwährung, die Abrechnungsmethode und alle anderen Parameter einstellen, die sich auf die Testergebnisse einer Handelsstrategie mit dem benutzerdefinierten Symbol auswirken.
Importieren historischer Daten
Nachdem wir ein benutzerdefiniertes Symbol erstellt haben, müssen wir eine Kurshistorie hinzufügen. Sehen wir uns zunächst an, wie Sie eine Historie auf Basis eines bereits existierenden Symbols erstellen können. Öffnen Sie im Fenster Symbole die Registerkarte Bars oder Ticks, je nachdem, wie Sie die Historie vorbereiten möchten. Geben Sie den gewünschten Zeitraum ein und drücken Sie auf Export. Um Bars zu erhalten, wählen Sie den M1-Zeitrahmen, da die gesamte Historie in MetaTrader 5 auf Minutenbars basiert.
Die Daten werden in einer CSV-Textdatei exportiert, deren Name wie folgt aussieht: EURUSD_M1_201701020000_201707251825.csv. Sie enthält den Symbolnamen, den Zeitrahmen und Anfangs- und Enddatum der exportierten Historie, auf die Minute genau. Unten sieht man, in welchem Format die Daten gespeichert werden:
<DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> <TICKVOL><VOL> <SPREAD>
2017.01.02 00:03:00 1.05141 1.05141 1.05141 1.05141 6 15000000 118
2017.01.02 00:04:00 1.05141 1.05141 1.05141 1.05141 2 5000000 112
2017.01.02 00:05:00 1.05158 1.05158 1.05148 1.05158 10 17000000 101
2017.01.02 00:06:00 1.05148 1.05158 1.05148 1.05158 7 13000000 101
Wird eine Historie der Ticks exportiert, wird die CSV-Datei um Vieles größer und ihr Format übernimmt die Daten eines jeden Ticks, auf die Millisekunde genau. Mittels dieser Daten bildet das Terminal die 1-Minuten Historie auf die alle anderen Zeitrahmen basieren.
<DATE> <TIME> <BID> <ASK> <LAST> <VOLUME> 2017.07.03 00:03:47.212 1.14175 1.14210 0.00000 0 2017.07.03 00:03:47.212 1.14168 1.14206 0.00000 0 2017.07.03 00:03:47.717 1.14175 1.14206 0.00000 0 2017.07.03 00:03:54.241 1.14175 1.14205 0.00000 0 2017.07.03 00:03:57.982 1.14165 1.14201 0.00000 0 2017.07.03 00:04:07.795 1.14175 1.14201 0.00000 0 2017.07.03 00:04:55.432 1.14164 1.14200 0.00000 0 2017.07.03 00:14:33.743 1.14173 1.14203 0.00000 0 2017.07.03 00:14:33.743 1.14173 1.14201 0.00000 0 2017.07.03 00:16:44.901 1.14174 1.14195 0.00000 0
Wenn Sie daher eine Historie für Ihr eigenes Symbol mit Hilfe von Drittanbietern erstellen, müssen Sie die Daten entsprechend den oben angezeigten Formaten aufbereiten.
Um die Historie zu importieren, führen Sie die gleichen Schritte aus. Finden Sie Ihr Symbol EURUSD_my im Verzeichnis Custom\<Custom group> , und wählen Sie dann in der Registerkarte Ticks die entsprechende CSV-Datei und klicken Sie auf "Importiere Ticks" (machen Sie das Gleiche, um Bars zu importieren).
Nach dem Import der Historie können Sie sie durch Hinzufügen, Löschen oder Verändern der Bars oder Ticks anpassen.
Erzeugte eigene Symbole werden in der Marktübersicht aufgelistet und Sie können mit ihnen Chart eröffnen. So können Sie das gesamte, umfangreiche Arsenal aus Metatrader 5 für die technischen Analyse, einschließlich der Verwendung von benutzerdefinierten Indikatoren und Analysemittel für den Markt auf Ihr eigenes Symbol anwenden.
Das Testen von Handelsstrategien mit einem eigenen Symbol
Mit dem Multithreaded MetaTrader 5 Strategy Tester können Sie Strategien testen, die mit den realen Ticks mehrerer Finanzinstrumente handeln. Nutzen Sie all seine Vorteile, um Ihre Strategien mit benutzerdefinierten Symbolen zu testen. Importieren Sie dazu eine hochqualitative Historie von 1-Minutenkurse (vorzugsweise Ticks) und stellen Sie die Eigenschaften für jedes Instrument ein, die für eine detaillierte Rekonstruktion der Handelsumgebung notwendig sind. Danach wählen Sie den gewünschten EA und legen Sie die Testparameter fest. Der gesamte Prozess ist ähnlich wie bei der Arbeit mit herkömmlichen Handelssymbolen, die Ihnen Ihr Broker zur Verfügung stellt.
Versehen Sie den Tester mit allen notwendigen Symbolen, die Sie zur Berechnung der Margen-Anforderungen und des Gewinns in der Währung Ihres Handelskontos benötigen. Zur Berechnung der Margen und der Gewinne verwendet der Strategy Tester automatisch die verfügbaren Umtauschraten. Angenommen, wir haben uns das Symbol AUDCAD.custom mit dem Typ Forex zur Margenberechnung erstellt, und unsere Kontowährung ist USD. In diesem Fall sucht der Tester anhand des Namens des Forex-Symbols nach den erforderlichen Symbolen in folgender Reihenfolge:
- Zuerst wird nach den Symbolen AUDUSD.custom (zur Margenberechnung) und USDCAD.custom (zur Berechnung des Handelsgewinns) gesucht.
- Falls eines dieser Symbole fehlt, wird nach den jeweils ersten Symbol gesucht, das den benötigten Währungspaaren (AUDUSD und USDCAD) entspricht. Gefunden wurden zum Beispiel AUDUSD.b und USDCAD.b. D. h., dass jetzt deren Daten zur Berechnung von Margen und Gewinn verwendet werden.
- Es wird nach einem Handelssymbol, das GBPCHF (GBP vs. CHF) entspricht, gesucht.
- Wenn kein solches Symbol existiert, wird nach dem ersten Handelssymbol gesucht, das GBPCHF dem Namen nach entspricht, z. B. GBPCHF.b oder GBPCHF.def.
Achten Sie beim Testen mit benutzerdefinierten Symbolen darauf, dass das Handelskonto über alle erforderlichen Währungspaare verfügt. Andernfalls ist eine Berechnung der Finanzergebnissen und Margenanforderungen während des Tests nicht möglich.
Optimierung von Strategien für ein benutzerdefiniertes Symbol in einem lokalen Netzwerk
Neben Ihren eigenen Agenten können Sie Agenten des lokalen Netzwerks und externe ('remote') Agenten verwenden, um Handelsstrategien für benutzerdefinierte Symbole zu optimieren. Dies ist ein weiterer Vorteil des Strategie-Testers des MetaTrader 5, das die Zeit der Suche nach den optimalen Parametern Ihres Handelssystems verkürzen kann.
Die Verwendung der Cloud-Netzwerken von MQL5 zur Optimierung mit benutzerdefinierten Symbolen ist nicht erlaubt. Dies liegt daran, dass nutzerspezifische Symbole mit gleichem Namen, aber unterschiedlicher Preishistorie auf Computern verschiedener Händler existieren könnten. Zusätzlich zur Diskrepanz der Testergebnisse zwischen den Netzwerkagenten kann dies zu einem massenhaften Nachladen und Synchronisieren von Verlaufsdaten führen, was zu einer übermäßigen Netzbelastung führt.
Funktionen zum Arbeiten mit benutzerdefinierten Symbolen
Sie können auch mit benutzerdefinierten Symbolen in der MQL5-Sprache arbeiten. Die Funktionen des Abschnitts "Benutzerdefinierte Symbole" sind dafür ausgelegt. Eine MQL5-Anwendung ermöglicht es Ihnen, schnell notwendige Finanzinstrumente mit bestimmten Eigenschaften auf Basis der Daten aus Drittquellen zu erstellen. So können Sie das Sammeln und Aufbereiten von Historiendaten für beliebige Symbole automatisieren, sowie Ihre benutzerdefinierten Indizes und andere Derivate erstellen und im Strategietester des MetaTrader 5 testen.
Funktion | Aktion |
Erstellt ein benutzerdefiniertes Symbol mit dem angegebenen Namen in der angegebenen Gruppe. | |
Löschen des benutzerdefinierten Symbols mit dem angegebenen Namen | |
Setzt den Wert einer Eigenschaft vom ganzzahligen Typ für das benutzerdefinierte Symbol | |
Setzt den Wert einer Eigenschaft vom reellen Typ für das benutzerdefinierte Symbol | |
Setzt den Wert einer Eigenschaft vom String-Typ für das benutzerdefinierte Symbol | |
Setzt die Koeffizienten der Margin je nach Typ und Richtung einer Order für das benutzerdefinierte Symbol | |
Setzt den Anfang und das Ende der angegebenen Notierungssitzung für das angegebene Symbol und Wochentag. | |
Setzt den Anfang und das Ende der angegebenen Handelssitzung für das angegebene Symbol und Wochentag. | |
Löscht alle Balken aus der Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall | |
Ersetzt die komplette Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall durch die Daten aus dem Array vom Typ MqlRates | |
Fügt der Historie eines benutzerdefinierten Symbols fehlende Balken hinzu und ersetzt die vorhandenen Balken durch die Daten aus dem Array vom Typ MqlRates | |
Löscht alle Ticks im angegebenen Zeitintervall aus der Preishistorie des benutzerdefinierten Symbols | |
Ersetzt die komplette Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall durch die Daten aus einem Array vom Typ MqlTick |
Testen Sie Ihre Handelsideen mit jedem beliebigen Symbol im MetaTrader 5!
Die Plattform MetaTrader 5 bietet die umfassendsten Möglichkeiten für algorithmische Händler. Hier sind nur ein paar von ihnen:
- 84 integrierte technische Analyseinstrumente,
- ein multi-threaded Strategietester mit 20 000 Agenten in der Cloud des MQL5-Netzwerkes,
- asynchrone Handelsoperationen mit einer Ausführung von einer (!) Millisekunde,
- 4000 frei Beispiele mit Quellcode,
- ein MetaEditor mit Debugger und Profiler.
Händler haben Zugriff auf alle Vorteile der Plattform des MetaTrader 5, auch auf Symbole, die ihre Broker noch nicht anbietet. Erstellen Sie Ihre eigenen Symbole und testen Sie Ihre eigenen Handelsstrategien in jedem Finanzmarkt!