English Русский 中文 Español 日本語 Português
Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5

Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5

MetaTrader 5Beispiele | 22 September 2017, 09:45
2 476 0
MetaQuotes
MetaQuotes
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:

  1. Zuerst wird nach den Symbolen AUDUSD.custom (zur Margenberechnung) und USDCAD.custom (zur Berechnung des Handelsgewinns) gesucht.
  2. 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.
Instrumente mit anderen Arten der Margenberechnung (CFD, Futures und Aktienbörsen) erfordern ein Währungspaar, um die Währung des Handelsinstrumentes in eine Kontowährung umzuwandeln. Angenommen, wir haben ein benutzerdefiniertes Symbol mit einer Gewinn- und Margenwährung in GBP erstellt, während die Kontowährung CHF ist. In diesem Fall wird die Suche nach Testsymbolen in folgender Reihenfolge durchgeführt:
  1. Es wird nach einem Handelssymbol, das GBPCHF (GBP vs. CHF) entspricht, gesucht.
  2. 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

CustomSymbolCreate

Erstellt ein benutzerdefiniertes Symbol mit dem angegebenen Namen in der angegebenen Gruppe.

CustomSymbolDelete

Löschen des benutzerdefinierten Symbols mit dem angegebenen Namen

CustomSymbolSetInteger

Setzt den Wert einer Eigenschaft vom ganzzahligen Typ für das benutzerdefinierte Symbol

CustomSymbolSetDouble

Setzt den Wert einer Eigenschaft vom reellen Typ für das benutzerdefinierte Symbol

CustomSymbolSetString

Setzt den Wert einer Eigenschaft vom String-Typ für das benutzerdefinierte Symbol

CustomSymbolSetMarginRate

Setzt die Koeffizienten der Margin je nach Typ und Richtung einer Order für das benutzerdefinierte Symbol

CustomSymbolSetSessionQuote

Setzt den Anfang und das Ende der angegebenen Notierungssitzung für das angegebene Symbol und Wochentag.

CustomSymbolSetSessionTrade

Setzt den Anfang und das Ende der angegebenen Handelssitzung für das angegebene Symbol und Wochentag.

CustomRatesDelete

Löscht alle Balken aus der Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall

CustomRatesReplace

Ersetzt die komplette Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall durch die Daten aus dem Array vom Typ MqlRates

CustomRatesUpdate

Fügt der Historie eines benutzerdefinierten Symbols fehlende Balken hinzu und ersetzt die vorhandenen Balken durch die Daten aus dem Array vom Typ MqlRates

CustomTicksDelete

Löscht alle Ticks im angegebenen Zeitintervall aus der Preishistorie des benutzerdefinierten Symbols

CustomTicksReplace

Ersetzt die komplette Preishistorie eines benutzerdefinierten Symbols im angegebenen Zeitintervall durch die Daten aus einem Array vom Typ MqlTick

Diese Funktionen ergänzen die Möglichkeiten des Abschnitts "Marktinformation erhalten". Jetzt können Sie nicht nur die Eigenschaften beliebiger Symbole abfragen, sondern diese auch für benutzerdefinierte Symbole festlegen.


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:

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!

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/3540

Grafisches Interface XI: Texteingabefelder und Kombinationsfelder in Tabellenzellen (build 15) Grafisches Interface XI: Texteingabefelder und Kombinationsfelder in Tabellenzellen (build 15)
Diese Aktualisierung der Bibliothek versieht das Tabellensteuerelement (die Klasse CTable) mit neue Optionen. Die Palette der Steuerelemente in den Tabellenzellen wird erweitert, diesmal um Textbearbeitungs- und Kombinationsfelder. Dieses Aktualisierung führt auch die Möglichkeit ein, das Fenster einer MQL-Anwendung zur Laufzeit in der Größe zu ändern.
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
Diese Artikelserie setzt das Thema "Tiefe neuronale Netzwerke" (DNN) fort, die in der letzten Zeit in vielen angewandten Bereichen einschließlich Trading verwendet werden. Es werden neue Themenbereiche betrachtet; anhand praktischer Experimente werden neue Methoden und Ideen geprüft. Der erste Artikel dieser Serie beschäftigt sich mit der Datenaufbereitung für DNN.
Tiefe neuronale Netzwerke (Teil II). Ausarbeitung und Auswahl von Prädiktoren Tiefe neuronale Netzwerke (Teil II). Ausarbeitung und Auswahl von Prädiktoren
Der zweite Artikel der Serie über tiefe neuronale Netze befasst sich mit der Ausarbeitung und Auswahl von Prädiktoren (= Variablen zur Wertevorhersage anderen Variablen) während des Prozesses der Datenaufbereitung für das Training eines Modells.
Der naive Bayes-Klassifikator für die Signale einer Reihe von Indikatoren Der naive Bayes-Klassifikator für die Signale einer Reihe von Indikatoren
Der Artikel analysiert die Verwendung der Bayes'schen Formel, um den Gewinn von Handelssystemen durch die Signale mehrerer unabhängiger Indikator zu erhöhen. Theoretische Berechnungen werden über einen einfachen, allgemeinen EA, der mit beliebigen Indikatoren arbeitet verifiziert.