MQL4 Programmierung – selbst programmierte Bausteine, die man immer wieder verwenden kann

MQL4-Bausteine einmal programmieren und immer wieder benutzen

Zeit ist Geld. Dieses Sprichwort hat nirgendwo so viel Gewicht wie im Trading. Denn Profit ist nur möglich, wenn man bestimmte Aktionen zur richtigen Zeit durchführen kann.  Für mich bedeutet das, dass ich bestimmte Bausteine einmal erstelle und immer wieder benutze. Denn im Trading wiederholen sich bestimmte Tätigkeiten ständig. Beispielsweise die Ermittlung des Einstiegszeitpunktes, der Stop-Loss der nachgezogen wird oder die Fragestellung, ob ein weiterer Trade eröffnet werden kann, ohne die Kono-Equity zu sehr zu belasten.

Wie erstellt man so einen Baustein?

MQL4 ist eine ausgewachsene Programmiersprache und wie bei jeder Sprache kann man sich kompliziert - oder einfach ausdrücken. Es gibt viele Elemente in MQL4, die ich nie benutze, beispielsweise zeichne ich keine Objekte oder Indikatoren auf meine Charts. Das ist auch kein Bestandteil des Tradingkurses und dadurch kann man eine Menge Zeit sparen. Aktuell - Stand Ende Februar 2015 - beinhaltet unser Golden Goose Baukastensystem fünf oder sechs solcher Bausteine. In den Textdateien, die für diese Bausteine verwendet werden, kann man in jeder Zeile den lesen, was gerade passiert und sich  die passenden Befehle in MQL4 ansehen. Wer einmal Java in der Schule programmiert hat, wird sich schnell zurechtfinden, aber auch für Nicht-Programmierer ist der Aufbau nach kurzer Eingewöhnungszeit zu verstehen.

Wie sieht so ein Baustein aus?

Das her ist ein funktionstüchtiges Modul in MQL4, welches überprüft, ob im gleichen Devisenpaar bereits offene Trades existieren:

int getOffenePositionenDiesesPaar(string devisenPaar)

// ANFANG DER METHODE getOffenePositionenDiesesPaar
{  
 
// wir bauen uns eine Zaehlvariable und initialisieren sie mit dem Wert 0
 int zaehler=0;  
 
 // jetzt zaehlen wir alle offenen Trades durch
 for (int i=OrdersTotal()-1; i >= 0; i--)   
 {   
 
 // Hier selektieren wir einen offenen Trade
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);  
 
// hier pruefen wir ob es sich um einen Trade fuer das aktuelle Waehrungspaar handelt. Falls ja, erhoehen wir die Zaehlvariable
  if(OrderSymbol()== devisenPaar) zaehler++;   
 }   
// jetzt schicken wir die Anzahl der offenen Trades fuer dieses Waehrungspaar wieder zurueck an den Aufruf in der Startmethode  
 return (zaehler);  
   
} // ENDE DER METHODE getOffenePositionenDiesesPaar

Was muss man an diesem Baustein künftig verändern?

Nichts! Denn wenn man die offenen Trades in einem Währungspaar durchzählt, wird das immer gleich gemacht, egal welche Einstiegsstrategie man wählt, oder was man sonst noch am System ändert. Aber andere Module werden nach und nach an die eigenen Bedürfnisse angepasst. So kann man beispielsweise mit einem festen Stop-Loss handeln, oder den Stop-Loss auf Break-Even ziehen sobald der Trade in die Gewinnzone geht. Oder man bevorzugt einen Trailing-Stop. Ich selbst nutze sogar noch eine andere Variante - den Equity-Stop, der Trades auf Basis des verfügbaren Kontoguthabens schließt.

Was für Ergebnisse kann man mit so einem System erzielen?

Ich habe ein paar Zeitraffer-Videos auf YouTube eingestellt, da kann man innerhalb einer Minute sehen, wie sich das Golden Goose System in einem Jahr Trading bewährt. Hier ein Beispiel dazu:


https://www.youtube.com/watch?v=y4JbK1manoM

 

Wie kann man sowas lernen?

Es gibt mehrere Möglichkeiten. Ich habe viel von Jim Hodges (alias Jim Dandy) gelernt, der sehr ausgiebige Videos zu dem Thema auf YouTube anbietet. Allerdings in englischer Sprache und teilweise noch mit Inhalten, die nach der "alten" Sprachsyntax erstellt wurden, bevor Metaquotes den Sprachumfang von MQL4 erweitert hat.

Außerdem gibt es gute Bücher zu MQL4 Programmierung und MQL5 Programmierung von Andrew R. Young bei Amazon. Dort werden viele Inhalte vermittelt, allerdings auch in englischer Sprache.

Die dritte Möglichkeit ist der Golden Goose Kurs auf dieser Seite. Ich habe ihn erstellt, weil ich glaube, daß es leichter ist, in der eigenen Sprache mit einem funktionierenden, profitfähigen Handelssystem und einem Demokonto die funktionstüchtigen Bausteine zu analysieren, die Funktionsweise zu verstehen und die Inhalte nach und nach an die eigenen Vorstellungen anzupassen. Bereits mit dieser kostenlosen Einstiegsversion lässt sich die Funktionsweise einfach verstehen - und nach der Anmeldung zum Gratis-Kursteil gibt es den passenden Quellcode und die Erklärungen kostenlos als Studienbrief ins eigene Postfach...

Ich hätte mir so einen Kurs gewünscht als ich angefangen habe, denn ich habe viel Zeit und Geld in Dinge investiert, die ich zwar von der Pike auf gelernt, aber niemals in der Realität gebraucht habe.

Was also spricht dagegen, das kostenlos auszuprobieren und wann wäre der richtige Zeitpunkt um damit anzufangen?