Neue Möglichkeiten mit MetaTrader5

11 Januar 2016, 15:42
MetaQuotes
0
380

Kurzer Rückblick in die Geschichte

Als vor nur 5 Jahren der MetaTrader4 Terminal, der komplett aus dem Nichts geschrieben wurde und den bestehenden, und ziemlich beliebten Terminal der 3. Generation der MetaQuotes Software Corp. ersetzen sollte, offiziell Händlern vorgestellt wurde, wurde MetaTrader4 bei ihnen sehr schnell extrem beliebt. Die Folge war, dass in den folgenden Jahren, Hunderte von Börsenmaklern ihre Dienste auf der MetaTrader4 Plattform anzubieten begannen.

Trotz dieses Erfolgs beschlossen die Entwickler vor drei Jahren eine neue Generation der informierten Handels-Plattform zu schaffen. Und im November 2009 begannen dann die öffentlichen Tests für MetaTrader5. Jedem von uns ist es lieber, mit etwas Bekanntem und Gewohntem zu arbeiten. Bei Veränderungen, welcher Art auch immer, sind wir alle eher vorsichtig. Und Händler verhalten sich da genauso. Deshalb haben wir beschlossen, all denen zu helfen, die die Unterschiede und Vorteile der MetaTrader5 Plattform gegenüber der sehr bekannten MetaTrader4 Plattform, verstehen möchten.

Neue Märkte und Instrumente

MetaTrader wurde von Anfang an dazu konzipiert, eine bequeme und benutzerfreundliche Handels-Plattform für den Devisenmarkt anzubieten. Heute kann man es sich nur noch schwer vorstellen, dass vor vielen Jahren Devisenhandel in fast allen anderen Terminals nach Bedarf durchgeführt wurde, und dass es damals nicht möglich war, seine eigenen technischen Indikatoren und Handels-Roboter zu erzeugen. All Möglichkeiten für technische Analyse bestanden damals eher aus Worten als aus tatsächlichen Handlungen. Und deshalb haben Aktienhändler, die durch andere Finanzmärkte verkauften, langsam aber deutlich ihren Wunsch geäußert, mit Hilfe von MetaTrader verkaufen zu können.


Die neue Handels-Plattform MetaTrader 5 ist exakt mit der Vorgabe entwickelt worden, diese Möglichkeit zu bieten - den Handel mit Aktien, Termingeschäften, Optionen und anderen Börsen- und Wertpapierinstrumenten zu ermöglichen. So kommen Händler nicht nur in den Genuss eines bekannten und benutzerfreundlichen Interfaces für den Handel in unterschiedlichen Märkten, sondern können zudem auch noch durch verschiedener Makler handeln. Zudem haben sie nun auch Zugang zum Service eingebetteter technischer sowie auch von der MQL5.community geschriebener Instrumente.

Die MQL5 Sprache

Jedes Terminal dieser neuen Generation wurde verbessert - nicht nur optisch, sondern auch in Bezug auf seine Programmiersprache. Mit ihrer Hilfe kann man seine eigenen Indikatoren, Handelsroboter und eine Menge der MQL5 Support-Programme in Form von Skripts schreiben. Die Sprache in MQL5 unterscheidet sich vom Vorgänger durch eine bessere Leistungsfähigkeit. Die Entwickler haben sich zum Ziel gesetzt, auf der MQL5-Plattform die gleiche Geschwindigkeit bei der Programmausführung zu erreichen, die derzeit von herkömmlichen, nicht spezialisierten High-Level Programmiersprachen erreicht wird.

Darüber hinaus gestattet die MQL5 Sprache die Erstellung von Programmen mit Hilfe des objekt-orientierten Ansatzes (OOA), der letzten Endes zu einer noch größeren Datenbank an vorab fertiggestellten Programmen führt, die andere Händler und Programmierer geschrieben haben. Die Code-Bibliothek in MQL4 ist die derzeit größte der Welt und bietet mehr vorab angelegte Beispiele als jede andere Handels-Plattform.

Die Verwendung der OOA birgt ein noch größeres Potenzial. Es ist deshalb auch kein Zufall, dass sich der Code-Basis Bereich in MQL5.com bereits ganz von Anfang an mit Beispielen für Programme zu füllen begann, die auf MQL4 nur schwer zu implementieren sind. Gleichzeitig kann man mit der MQL5 Sprache Programme auf Basis einer prozesshaften Vorgehensweise schreiben, nämlich immer dann, wenn PLO nicht erforderlich oder noch nicht studiert worden ist.

Ereignisse im Terminal

Zusätzlich zu den neuen Verbesserungen in der Sprache, die in MQL5 mit dem Auftauchen von Klassen Einzug hielten, gibt es noch ein weiteres, wichtiges Detail, das die neue Sprache von MQL auszeichnet - das Ereignismodell. Jetzt kann man innerhalb des Programms Ereignisse, Mäuse, Keyboards, Bewegungen und Veränderung der Eigenschaften und Grafiken nach verfolgen. Auch bei der Bearbeitung von Timer-Ereignissen ist ein Zusatz hinzugekommen: die ewige Faszination des Schreibens von Skripts ist nicht mehr nötig. 

Und das Allerwichtigste - die Be- und Verarbeitung von Handels-Ereignissen. Ein ausgeführter Stop Loss, das Zurückziehen einer offenen Order, eine neu geöffnete Position oder ein Zuwachs in einer bereits geöffneten Position, sind alles Beispiele für Handels-Ereignisse. Zudem werden jetzt alle Handels-Operationen asynchron ausgeführt. Nach dem Abschicken einer Handels-Anfrage können Sie sofort mit dem Programm weiter arbeiten, ohne auf die Antwort vom Trade Server warten zu müssen, so wie das bei MetaTrader4 noch der Fall war.

Das erhöhte Tempo bei der Ausführung von Programmen auf MQL5, der Einsatz von Klassen, Umgang mit Ereignissen sowie asynchrone Handels-Anfragen erlauben uns alle, eine neue Art von Handels-Robotern zu implementieren, die es in MQL4 noch nicht gab.

Code-Debugging im MetaEditor

Mit modernen Programmiersprachen kann man Programme mit einem hohen Maß an Abstraktion schreiben, und diesbezüglich ist MQL5 ebenfalls keine Ausnahme. Komplexe Programme enthalten aber auch übermäßig viele potenzielle Fehler, die man ohne spezielle Fehlersuch(Debugging)-Tools nur schwer finden kann. Also hat der MetaEditor eben genaus so ein Fehlersuchprogramm, das für Programmierer so extrem wichtig ist.

Jetzt kann man das Programm Schritt für Schritt durchgehen, den Wert der Variablen in jedem möglichen Zeitraum ansehen und an den richtigen Stellen Supportpunkte einrichten. Die Sprache enthält jetzt auch spezielle Zusatzfunktionen, die das Aufspüren von Problembereichen in Ihrem Code erleichtern sollen. Die Entwickler versuchten alle, für die Fehlersuche erforderlichen funktionalen Elemente zu implementieren, die diejenigen unter uns bestens kennen, die in modernen Entwicklerumgebungen Programme entwickelt haben

Portfolio-Test

Der Client-Terminal in MetaTrader3 umfasste auch einen Strategie-Tester, mit man automatisierte Handelssysteme vor dem Hintergrund historischer Daten prüfen konnte. Der Tester in MetaTrader4 erfuhr dann durch die Ergänzung der Prüfung per Kursschwankung und der Möglichkeit des visuellen Tests eine deutliche Verbesserung. Jetzt konnte man Eingabe-Parameter optimieren, nicht nur indem man alle Optionen durch ging, sondern auch durch die Verwendung genetischer Algorithmen, die die Optimierung ganz klar beschleunigen.

Das MetaTrader5 Terminal arbeitet mit einem 'Kursschwankung-per-Kursschwankung' Strategietester. Die Implementierung des Algorithmus zur Erzeugung von Kursschwankungen erlaubt nun die Lieferung top-exakter Testergebnisse. Einer der größten Vorteile des neuen Elements ist die Möglichkeit, das Programm vor einem Set von Finanzinstrumenten testen zu können, die sog. Portfolio-Tests. Bei dieser Art von Tests lädt das Terminal automatisch die Historie jedes benötigten Instruments herunter, und zwar sobald man das zu testende Portfolio das erste Mal startet. Die Historie muss später nicht noch ein zweites Mal herunter geladen werden.

Multithread-Optimierung

Moderne Computer mit zwei bis acht Kernen für Rechnerleistungen werden schon sehr lange gebaut, und auch Betriebssysteme erlauben es uns schon seit geraumer Zeit, die Workload innerhalb der "Cores" zu verteilen, wenn die passende Software vorhanden ist. Der Tester im MetaTrader5 Terminal wurde ursprünglich so geplant, die Verwendung aller zur Verfügung stehenden Computer-Cores zu gestatten, um die Eingabe-Parameter des Expert Advisors zu optimieren. Das Terminal erzeugt automatisch einen lokalen Test-Agent für jeden vorhandenen Core, und der Benutzer kann wählen, welchen Core des Rechners er verwenden will.

Daher ist die Zeit für die Optimierung bei einem Computer mit mehreren Cores ganz erheblich reduziert, und der Tester weist jedem Agent die Test-Parameter und das Intervall für den nächsten Testdurchlauf automatisch zu. Das ist jedoch noch nicht alles: Man kann dies bei jedem Computer - sowohl in einem lokalen Netzwerk als auch via Internet - verwenden. Dazu muss man nur mit Hilfe der MetaTester.exe Utility die erforderliche Menge an Test-Agents auf einem Remote-Computer installieren. 


So lässt sich also das lokale Netzwerk einer Firma in ein riesiges Computer-Netzwerk umwandeln und all die zur Verfügung stehenden Computer-Ressourcen können zu 100% genutzt werden. Der Remote Agent hat die zum Testen notwendige Historie vom Tester bekommen, daher sind wiederholte Serveranfragen ebenfalls hinfällig. Zugriff auf Remote Agents ist mittels Passwort sicher und geschützt.

Innerhalb der Agents sind die folgenden Schutzmechanismen implementiert:

  • komplett verschlüsseltes Netzwerk-Protokoll zwischen dem Client-Terminal und dem Agent mit einer Traffic-Komprimierung;
  • Passwortzugriff;
  • die Fähigkeit eine Liste mit IP-Adressen festzulegen, von denen die Einwahl/Verbindung mit dem Client-Terminal gestattet ist;
  • nur lokale Agents können DLL mit der entsprechenden Terminal-Auflösung verwenden;
  • der übertragene Expert Advisor Code wird niemals auf der Disk des Agents abgelegt, sondern stattdessen in einen transformierten Status übertragen, auf den der Dump nicht zugreifen kann;
  • der Agent kennt den Namen des Expert Advisors nicht und speichert auch die Ergebnisse von Fehlberechnungen nicht auf der Disk (damit wird die Informationsmenge minimiert, die bis zum Abschluss der Berechnungen aufbewahrt wird);
  • Der Agent ist mittels eines abgehängten Security-Schilds vor Demontage oder Modifizierung geschützt.

Somit bietet der Tester des MetaTrader5 Terminals Lösungen für solch komplexe Probleme wie z.B. die Expert Advisor Optimierung, was sich Trader auch in ihren kühnsten Träumen niemals ohne Zugriff auf Superrechner vorstellen gewagt hätten.

Wenn man keinen Expert Advisor hat

Automatisches Handeln wird Jahr für Jahr immer beliebter, doch welch neue Vorteile bietet das MetaTrade5 Terminal denn nun Händlern, die keinen Expert Advisor haben oder nur manuelles Handeln durchführen? Wenn Sie keine Erfahrung im Schreiben von Indikatoren und Handels-Robotoren haben, können Sie diesbezügliche Unterlagen online auf der folgenden Website bestellen: MQL5.community Thema Arbeit. Dieses Service ist fest eingeplant und steht in Kürze zur Verfügung. Für Programmierer, die benutzerdefinierte Expert Advisors schreiben, ist dies eine exzellente Plattform, um ihre Dienste anzubieten.

Zusätzlich dazu suchen Händlerr oft nach Möglichkeiten, Handels-Signale kostenpflichtig zu erhalten oder diese zu veröffentlichen. Dies kann damit zusammenhängen, dass sie einige Handels-Strategien nicht formalisieren können und alle Operationen manuell durchführen müssen. Signale verkaufen zu können kann für alle Profis noch als zusätzliches Forte dienen. Neulingen hilft ein Abonnement neuer Handels-Signale wiederum, das Depot vor den unvermeidlichen Fehlern zu schützen, die für Anfänger typisch sind.

Bevor Sie jedoch ein Abonnement für derartige Signale abschließen, sollten Sie sich absolut sicher sein, dass Sie den Statistiken, die dieser Signale-Händler ihnen liefern wird, vertrauen und sich auf sie verlassen können. Dies kann durch Testberichte des angebotenen Handels-Systems geschehen,wenn es in Form eines Expert Advisors implementiert ist. Doch selbst das ist keine absolute Garantie der zukünftigen Stabilität des Systems. Daher sind Investoren eher an Statistiken von Handels-Operation interessiert, die über lange Zeiträume in echten oder Schulungskonten abgewickelt werden. Und genau zu diesem Zweck wird die MQL5.com Website bald durch einen weiteren Dienst ergänzt, der die Möglichkeit anbieten wird, Konten auf der MetaTrader Platform5 kontrollieren zu können.

Eins sei allem, was in diesem Beitrag bislang präsentiert wurde, noch hinzugefügt: die Entwickler haben nicht vor, ihre großartigen Leistungen mit der Entwicklung dieser neuen Plattform gut sein zu lassen. Jeder der hier beschriebenen Dienste wird in naher Zukunft direkt in das MetaTrader5 Terminal und in den MetaEditor5 integriert. Auch wird die MQL5 Sprache ständig weiter verändert, um den Zugang zu neuen Diensten so einfach wie nur möglich zu machen.

Der Handel entwickelt sich weiter

Nach der Fertigstellung des MetaTrader 5 Terminals haben viele Händler angemerkt, dass es sich optisch nicht sehr vom MetaTrader4 unterscheidet. Während seiner Entwicklung wurden alle Vorzüge und Vorteile, die die Terminals von MetaQuotes Software Corp. schon immer so hervorragend gemacht haben, von anderen Terminals übernommen und eingebaut. Aus diesem Grund stellt der Übergang auf die neue Plattform für Händler oder Makler keinerlei Probleme dar, obwohl es bzgl. ihrer Architektur zwischen beiden Handels-Plattformen dennoch einige Unterschiede.

Sie können also gerne weiter auf dem MetaTrader4 Terminal 'handeln', ohne befürchten zu müssen, dass der technische Support für MetaTrader4 nach der offiziellen Markteinführung der neuen MetaTrader5 Plattform eingestellt wird. Der Vorteil beim MetaTrader4 Terminal ist ganz klar seine immense Datenbank an gesammelten Codes und Beiträgen. Sie alle stehen auf der folgenden Website MQL4.community für Sie zur Verfügung Zugleich werden die neuen, von der MetaTrader5 Plattform angebotenen Features, einfach ständig mehr werden. Sie werden zudem auf ganz natürliche Weise lernen, immer mehr der neuen Dienste dieser Plattform zu verwenden MQL5.community.

Als Fazit dieses Beitrags lässt sich daher festhalten, dass die neue Handels-Plattform und das MetaTrader Terminal 5 einerseits ganz gewiss eine Revolution in der Welt des automatischen Börsenhandels darstellen, da sie allen Händler eine Vielzahl neuer Horizonte öffnen. Andererseits jedoch kann dieser qualitative Quantensprung im Börsenhandel nicht ohne Hektik umgesetzt werden, wenn die neuen Ressourcen nicht in Form eines evolutiven Entwicklungsprozesses nach und nach bereitgestellt werden.

Übersetzt aus dem Russischen von MetaQuotes Software Corp.
Originalartikel: https://www.mql5.com/ru/articles/84

Erzeugung von Kursschwankungs-Indikatoren in MQL5 Erzeugung von Kursschwankungs-Indikatoren in MQL5

In diesem Beitrag geht es um die Erzeugung von zwei Indikatoren: dem Kursschwankung-Indikator, der das Chart der Kursschwankungen des Kurses zeichnet und dem Kursschwankungs-"Kerzen" Indikator, der "Kerzen" mit der angegebenen Anzahl von Kursschwankungen zeichnet. Jeder dieser Indikatoren schreibt die eingehenden Kurse in eine Datei und verwendet die gespeicherten Daten dann nach einem Neustart des Indikators (diese Daten können auch von anderen Programmen verwendet werden).

Unterschiedliche Zeichnungsstile in MQL5 Unterschiedliche Zeichnungsstile in MQL5

In MQL4 gibt es 6 - in MQL5 18 Zeichnungsstile. Aus diesem Grund ist ein Beitrag zur Präsentation der Zeichnungsstile von MQL5 durchaus angebracht. Im Folgenden werden daher die Zeichnungsstile in MQL5 im Einzelnen betrachtet. Darüber hinaus erzeugen wir einen Indikator zur Demonstration, wie man diese Zeichnungsstile nutzt und die graphische Darstellung (Plot) verfeinert.

Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5 Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5

Die Programmierung des Expert Advisors in MQL5 ist einfach und kann problemlos erlernt werden. In diesem Leitfaden werden nacheinander die zum Schreiben eines einfachen Expert Advisors auf Grundlage einer entwickelten Handels-Strategie erforderlichen, grundlegenden Schritte erklärt. Es werden hier die Struktur eines Expert Advisors, die Verwendung eingebauter technischer Indikatoren und Handels-Funktionen, die Details des Fehlersuch(Debug)-Modus und die Verwendung des Strategie-Testers präsentiert.

Erstellen einer Anzeigetafel unter Verwendung der Klassen aus der Standardbibliothek und Google Chart API Erstellen einer Anzeigetafel unter Verwendung der Klassen aus der Standardbibliothek und Google Chart API

Die Programmiersprache MQL5 ist in erster Linie auf die Schaffung automatisierter Handelssysteme und komplexer Hilfsmittel für technische Aktienanalysen angelegt. Darüber hinaus ermöglicht es uns jedoch auch die Entwicklung interessanter Informationssysteme zur Verfolgung von Marktlagen und verschafft uns eine Rückkopplung mit dem Händler. Dieser Beitrag beschreibt die Bestandteile der Standardbibliothek von MQL5 und liefert Beispiele für ihre praktische Verwendung, um diese Ziele zu erreichen. Außerdem liefert er ein Beispiel für die Verwendung von Google Chart API zur Erstellung von Diagrammen.