Google+
MQL Expert Advisor Programmierung

MetaTrader Automatisierung und EA-Programmierung

Wie funktioniert die MQL-Programmierung in MetaTrader?

Die Programmierung eines Expert-Advisor, eines Skripts oder eines Indikators in MetaTrader wird in der Programmiersprache MQL durchgeführt. MQL ist dabei eine Abwandlung aus der Welt der Programmiersprache C++. Um die MQL Programmierung dabei zumindest ein wenig gegenüber C++ zu vereinfachen, wurden insbesondere die Teile der Speicherverwaltung und Adressierung entfernt. Bei der MQL-Programmierung muss man Variablen und dazugehörige Speicheradressen weder referenzieren, noch dereferenzieren. Variablen, ENUMs, Stukturen, Klassen und so weiter spricht man direkt über die vergebenen Namen an, eine aufwändige Speicherallokierung und Adressreferenzierung ist nicht notwendig!

Neu dazugekommen sind dafür natürlich sehr umfangreiche Trading-Funktionen und Befehle. Ein OrderSend(...) oder ein iClose(Symbol(), Period...) gibt es in C++ natürlich nicht. Die Besonderheit an MQL ist dementsprechend die sehr umfangreiche Library (Bibliothek) für die gesamten Tradingfunktionen.

Die MQL Programmierung in MetaTrader, ganz egal ob MQL4 oder MQL5, ist sofort möglich nachdem MetaTrader installiert wurde. Sämtliche Bibliotheken mit den ganzen Funktionen und Nomenklaturen rund um das Trading sind in der kostenlosen MetaTrader-Plattform enthalten und stehen allen Nutzern von MT4 / MT5 zur freien Verfügung. Wenn Sie selber mal schauen möchten wie die Entwicklungsumgebung in MetaTrader aussieht, dann installieren Sie sich einfach MetaTrader und wechseln Sie mit F4 in die MQL-Entwicklungsumgebung. Dort können Sie dann auch die Hilfe aufrufen und sich die Dokumentation der gesamten MQL Sprache anschauen.

Wie aufwändig ist die Programmierung in MetaTrader?

Diese Frage bekommen wir von unseren Kunden typischerweise zu Beginn unserer Seminare immer wieder gestellt. Die Antwort darauf ist aus unserer Sicht relativ einfach: Wie ernst nehmen Sie die Programmierung eines / Ihres Handelssystems? Geht es Ihnen bei der Programmierung in MetaTrader mehr um den Zeitvertreib weil Sie mal sehen wollen, wie sich ein vollautomatisiertes Programm "so anfühlen" könnte; oder geht es Ihnen um die professionelle Entwicklung von Handelssystemen, die in der Lage sind Ihr Geld 24h am Tag, 5 Tage die Woche rund um die Uhr zu betreuen und ggf. sogar stetig zu vermehren?!

Professionelle Programmierung in MetaTrader mit dem Anspruch der gezielten Geldvermehrung

Wenn Sie das Ziel haben, mit Hilfe eines Expert-Advisors für MetaTrader Ihr Geld zu vermehren (genau genommen vermehren zu lassen), dann ist der Aufwand den man in eine Programmierung stecken sollte ziemlich beträchtlich. Mal abgesehen von den extrem umfangreichen MQL-Bibliotheken die Sie kennen lernen müssen, ist der Aufbau eines Expert-Advisors, der auch noch vernünftiges Error-Handling betreibt, um nicht gleich beim ersten Fehler MetaTrader komplett zum Absturz zu bringen, doch sehr umfangreich.
Sie müssen sich beispielsweise Gedanken über die folgenden Themen manchen:

  • Was passiert, wenn ein Trade nicht eröffnet werden kann? Soll der EA es noch mal probieren, oder war die Fehlermeldung die der Broker zurück gegeben hat so kritisch, dass lieber alle Trades sofort geschlossen werden und der EA sich selber stoppt?
  • Wie hoch ist die akzeptierte Slippage Ihrer Strategie und was passiert, wenn die Slippage bei der Trade-Eröffnung zu hoch war? ReTry wenn der Preis innerhalb von x Sekunden zum ursprünglichen Preis zurück kommt, oder doch lieber nicht mehr traden innerhalb der nächsten x Minuten, bis dann evtl. das nächste Signal auftritt?
  • Legen Sie sich eventuell eine eigene Datenbank an, die der EA selber mit jedem Trade fortschreibt, um so interessante Informationen wie Trade-Eröffnungszeit in ms oder Order-Rejection Rate zu speichern?

Alleine das Thema Error-Handling ist in MQL eine Welt für sich. Es gibt mehrere dutzend verschiedene Fehlermeldung. Jede diese Fehlermeldung sollte man außerdem je nach Situation anders bewerten, bzw. vom EA bewerten  lassen. Die Nichteröffnung eines Trades ist in den meisten Fällen eher unkritisch. Es wird halt ein Signal ausgelassen... ABER: was passiert, wenn der Trade ein Hedge Trade sein soll für eine Position die sehr weit ins Minus gelaufen ist und nun abgesichert werden muss?
Bei der professionellen Programmierung eines Handelssystems in MetaTrader stellen sich also wesentlich mehr Fragen als nur die Frage nach dem Entry und dem Exit eines Trades aus der Sicht der Strategie. Aus unserer Erfahrung ist Kernlogik einer Strategie bezogen auf die Anzahl der Zeilen Quellcode deutlich unter 20%. Der ganze "Rest" ist das ganze Gerüst, damit das Programm rund um die Uhr fehlerfrei funktioniert.

MetaTrader Programmierung als Zeitvertreib

Wenn Sie nur mal sehen möchten wie ein vollautomatisches Handelssystem ungefähr aussehen könnte, dann brauchen Sie natürlich nicht gar so viel Zeit zu investieren. In diesem Fall haben Sie nach einigen Monaten sicherlich das eine oder andere Programm entwickelt, welches zwar bei weitem nicht fehlerfrei ist, aber zumindest halber Wege tut was es so ungefähr tun soll. Sie werden dieses Programm dann auch nicht auf einem realen Forex-MetaTrader Konto verwenden, sondern sicherlich ausschließlich im Demo-Account testen was passiert (es sei denn Sie sind sehr risikoaffin und sehen potentiellen Verlusten aufgrund von Programmfehlern gelassen entgegen).
Falls Sie sich mal ein wenig MQL-Quellcode ansehen möchten, um einen Eindruck von der Programmiersprache und deren Fähigkeiten zu bekommen, dann schauen Sie doch einfach mal in unseren code4trading Blog.
Dort stellen wir viele MetaTrader Tools inclusive dem kompletten Quellcode vor und helfen so anderen Entwicklern bei dem Erlernen diverser Programmiertechniken, und auch manuellen Tradern, die einfach nur die Tools nutzen möchten die wir vorstellen und kostenlos zum Download anbieten. Unser Blog für die MQL-Programmierung heißt code4trading.com

Wie können wir Ihnen helfen bei der Programmierung Ihrer Handelsstrategie?

Kennen Sie den unschätzbaren Vorteil von "Berufserfahrung"? Wir bei ForexInnovation programmieren nun seit über 5 Jahren in Vollzeit in MetaTrader an unseren Strategie und den Strategien für unsere Kunden. Das fachliche Wissen das sich dabei in unserem Team in den letzten Jahren gesammelt hat, steht Ihnen bei Ihrer Auftragsprogrammierung voll und ganz zur Verfügung. Wir haben uns in den letzten Jahren durch unsere professionelle Programmierung einen sehr guten Ruf erarbeitet und einen sehr treuen Kundenstamm aufgebaut. Kennen Sie eine andere GmbH oder AG im deutschsprachigen Raum die sich voll und ganz zu 100% der MetaTrader Programmierung verschrieben hat?
 
Wir sind dabei sicherlich nicht die Billigsten ... aber das wollen wir auch nicht sein, denn unser Anspruch ist 100% Qualität, ohne jeden Fehler und das bedeutet immer zusätzlichen Aufwand und damit gewisse Mehrkosten. Aber mit 95% geben wir uns nicht zufrieden, denn nur mit 100% Qualität kann Ihr Expert-Advisor langfristig den Profit generieren, den Sie sich versprechen. 

Wie ist der Ablauf für eine MetaTrader Programmierung durch die Entwickler der ForexInnovation GmbH?

Das Wichtigste vorab: Sie müssen uns vertrauen, denn Sie müssen uns Ihre Strategie komplett offenlegen! Wir werden bezahlt für den Aufwand der Programmierung. Damit wir Ihnen ein Angebot für die spätere Programmierung unterbreiten können müssen Sie uns also genau erläutern, was wir für Sie programmieren sollen, nur so können wir den Aufwand abschätzen!

Wenn Sie uns Ihre Spezifikation zusenden und wir noch Fragen haben, werden wir uns vor der Angebotsabgabe bei Ihnen melden. Wir interpretieren nichts in Ihre Spezifikation hinein. Sollte es also offene Punkte geben, oder Punkte an denen wir uns nicht sicher sind was genau gemeint ist, dann Fragen wir nach.

Wir geben erst ein unverbindliches Angebot ab, wenn wir sicher sind, dass wir Ihre Strategie auch tatsächlich verstanden haben und umsetzen können.
Falls Sie noch weitere Fragen zum Ablauf haben, können Sie uns gerne anrufen oder eine Mail schreiben.
Wenn Sie schon eine Spezifikation Ihrer Strategie haben, dann senden Sie uns diese bitte per Mail, oder über unser Kontaktformular. Telefonisch nehmen wir jedoch keine Aufträge entgegen, das muss aus rechtlichen Gründen immer schriftlich erfolgen.

Falls Sie noch ein paar Anhaltspunkte für Ihre Strategieausarbeitung benötigen, dann finden Sie auf unserer Webseite auf der nachfolgenden Seite im unteren Bereich noch ein paar Anhaltspunkte zu wesentlichen Kriterien der meisten Handelsstrategien.

Nachfolgend der Link zu unserem Kontaktformular.

Wir freuen uns von Ihnen zu hören und mit Ihnen zusammen zu arbeiten!
Ihr Team der ForexInnovation GmbH Hamburg

ForexInnovation GmbH betreibt die Anlagevermittlung als gebundener Agent im Sinne des §2 Abs. 10 Satz 1 KWG ausschließlich im Auftrage und unter der Haftung der HPM - Hanseatische Portfoliomanagement GmbH, Fährhausstrasse 8, 22085 Hamburg.

© 2014 | ForexInnovation GmbH, Hamburg, Deutschland