Читать книгу Algorithmisches Trading - Andrey Bulezyuk - Страница 6
ОглавлениеVorwort
Ein Algorithmus stellt eine Sammlung von Regeln dar, welche zum Erreichen eines gewünschten Ziels notwendig sind. Das Aufstellen eines Algorithmus stellt kein Problem dar und wurde von jedem Trader unbewusst praktiziert. Als man merkte, dass die Kombination aus dem MACD, dem ADX und dem Moving Average profitable Signale generiert, stellte man unbewusst einen kleinen Algorithmus auf. Als Leser sollten Sie idealerweise eine Strategie bzw. eigene Handelsregeln mitbringen. Dieses Buch behandelt nicht die Erstellung von Strategien bzw. das Aufstellen von Algorithmen. In diesem Buch wird die Übersetzung der Strategien, Regeln und Algorithmen in die Programmiersprache MQL4 intensiv behandelt. Mit MQL4 kann man automatisierte Handelssysteme und eigene Indikatoren programmieren.
Das Bild, welches einem sofort in den Kopf kommt, wenn man über automatisiertes Trading denkt, ist ein entspanntes, ruhiges und finanziell unabhängiges Leben. So stellt man sich selber auf einer Liege in Mallorca vor, wobei die automatisierten Handelssysteme auf einem VPN-Server1 automatisch Geld verdienen. Man muss nur ein mal am Tag den Kontostand überprüfen, ein mal in der Woche die Tradingsysteme anpassen und ein mal im Monat das Geld auszahlen lassen. Die schwierigste Entscheidung, die man dann treffen muss, ist die Wahl ob man die nächste Woche in Thailand oder in Italien Urlaub macht. Es ist üblich, dass die Autoren in Trading-, Business- und Motivation-Büchern einen wunderschönen Traum beschreiben und anschließend erklären, dass dieser so gut wie unmöglich zu erreichen ist und nur in den Träumen vorkäme. Es ist bei dem algorithmischen Trading anders. Es ist tatsächlich möglich diesen Traum zu verwirklichen, genauso wie es möglich ist einen Nobelpreis zu gewinnen – man braucht viel Fleiß, Wissen und ein bisschen Glück. Zu unserer Zeit hat man die Kontrolle über die meisten Einflussfaktoren, welche über das Schicksal eines solchen Traums entscheiden: niedrige Ordergebühren, niedrige Kosten für virtuelle Server (VPN), leichter Zugang zu Computern mit hoher Leistung, relativ niedrige Kosten für eine Internetverbindung mit kleinem Ping zum Börsenserver und vieles mehr. Gerade aus diesen Gründen und unscheinbaren Vorteilen ist jetzt die beste Zeit, für einen privaten Börsenhändler in die Welt des algorithmischen Tradings umzuziehen.
Es gab viele Versuche in verschiedenen Zeitschriften, das Programmieren eines automatisierten Systems auf wenigen Seiten beizubringen. Im Prinzip würden diese Artikel einem erfahrenem Programmierer etwas Zeit sparen und daher sinnvoll sein. Sollten jedoch grundlegende Kenntnisse des Programmierens fehlen, so nützen einem diese kleine Artikel gar nichts. Dieses Buch soll die Lücke zwischen einem Börsenhändler und einem Programmierer schließen, sodass ein Trader nach dem genauem Lesen dieses Buches, die Grundkenntnisse des Programmierens beherrscht. Ist das Grundwissen ein mal angeeignet, sind die restlichen vielen Programmiersprachen viel leichter und schneller zu erlernen. Somit ist man nach dem Lesen dieses Buches in der Lage, je nach Eigeninitiative, weitere Programmiersprachen von anderen Handelsplattformen zu erlernen. Dieses Wissen wird ihren Alltag als Trader unglaublich stark vereinfachen.
Ebenfalls muss man sagen, dass das Programmieren bzw. die Automatisation von allen möglichen menschlichen Tätigkeiten, die Zukunft erheblich prägen werden. Somit erhalten die Leser dieses Buches kein einseitiges Wissen mit kurzer Halbwertszeit, welches stark an ein Thema gebunden ist. Dieses Wissen, wie vorhin erwähnt, ist für viele andere Lebens-/Arbeitsbereiche anwendbar, erweiterbar und anpassbar.
Die Leser dieses Buches sollten Grundverständnis vom Börsenhandel mitbringen. Sie müssen grundlegende Konzepte und Fachbegriffe wie „StopLoss“, „TakeProfit“, „Margin Call“, „Moving Average“, usw. verstehen. Idealerweise bringen Sie als Leser eine eigene Strategie mit, welche Sie über einen längeren Zeitraum an der Börse manuell ausprobiert haben. Sollte dies der Fall sein, dann brauchen Sie nur noch ihre Strategie in ein automatisiertes Handelssystem zu übersetzen und können (es versuchen) den Traum aus dem zweiten Absatz (zu) verwirklichen.
Aufbau des Buches
Es wird versucht die Code-Beispiele mit möglichst praxisnahen Aufgabenstellungen zu gestalten. Es ist jedoch besonders schwer ein passendes Beispiel zu finden, wenn man eine Fehlerquelle einer Funktion oder einer Kontrollstruktur verdeutlichen möchte. Der Leser wird sich der Fehlerquellen bewusst sein; folglich können diese beim Programmieren vermieden werden. Es kann passieren, dass die Namen der Variablen oder Funktionen mit den „unseren“ Wörtern übereinstimmen, gewollt oder ungewollt. Dabei gilt diese nicht zu verwechseln; aus diesem Grund werden die Variablennamen, Funktionsnamen, Parameter usw. fett oder kursiv geschrieben.
In einem Buch über eine Programmiersprache wird man logischerweise auch verschiedene Programmcodes finden. Die Teilelemente der Programmiersprache werden im Buch unterschiedlich dargestellt. Es werden Quelltexte von Indikatoren, Handelssystemen und dessen Teilelementen erläutert. Auch Deklarationsangaben verschiedener Funktionen werden dargestellt und erklärt. Nachfolgend sind beispielhafte Programmcodes zu finden, welche die unterschiedliche Darstellung verdeutlichen.
Deklarationsangabe
Datentyp Funktionsname( | ||
Datentyp Attributname, | //Kommentar | |
Datentyp Attributname2 | //Kommentar | |
); |
Quelltext
Datentyp Variable = Wert;
//Kommentar
Datentyp Funktionsname () {}
…
Es ist zu beachten, dass manche Zeilen des Quellcodes zu lang sind, um diese in einer Zeile dieses Buchformats darzustellen. Somit muss man die Code-Zeile auf zwei Zeilen aufteilen. Diese Teilung sollte man beim Programmieren nicht übernehmen, sondern die Code-Zeile in einer Zeile schreiben.
Codes zum Abschreiben (CzA)
CzA sind Quelltexte von vorgefertigten und funktionierenden Software. Im Kapitel 2 sind Quelltexte von zwei Handelssystemen zu finden. Im Kapitel 3 sind Quelltexte von zwei verschiedenen Indikatoren zu finden. Es wird jeweils eine Beschreibung und eine Abbildung zum besseren Verständnis mitgeliefert. Die Quelltexte sind so geschrieben, dass man sie nur abzutippen oder zu kopieren (wenn Sie die E-Book Version gekauft haben) braucht. Der Gedanke dahinter ist, eine mögliche Kombination aus dem Wissen, welches in diesem Buch vermittelt wird, vorzustellen und dem Leser zu zeigen, wie ein fertiges Produkt aussehen könnte. Zudem erhalten Sie, natürlich ganz nebenbei, zwei Indikatoren und zwei fertig programmierte vollautomatisierte Handelssysteme.
Es wurde versucht alle wichtigen Elemente der MQL4-Programmierung so detailliert wie möglich zu behandeln. Es ist nicht möglich alle Funktionen und Kleinigkeiten einer Programmiersprache zu betrachten. Auch ist es utopisch zu behaupten, man könnte alle möglichen Aufgabenstellungen besprechen. Jeder Trader hat seinen eigenen Algorithmus und seine eigene zusätzliche Systeme und Ansprüche. Dieses Buch wird Sie beim Lösen ihrer Problemstellungen begleiten und notwendiges Wissen liefern.
„[…]
Der Leser, traurig aber wahr,
ist häufig unberechenbar:
Hat er nicht Lust, hat er nicht Zeit,
dann gähnt er: 'Alles viel zu breit!'
Doch wenn er selber etwas sucht, was ich, aus Raumnot, nicht verbucht,
wirft er voll Stolz sich in die Brust:
Aha, das hat er nicht gewusst!
Man weiß, die Hoffnung wär zum Lachen,
es allen Leuten recht zu machen.“2
1 Unter VPN (Virtual Private Network) versteht man einen virtuellen Rechner/Server, welchen man von eigenem Rechner aus kontrollieren kann. Die VPNs laufen meistens 24/7, sodass man die Handelssysteme auf ein VPN-Server exportieren kann.
2 Jörn Altmann, „Volkwirtschaftlehre“ 4.Auflage, Gustav Fischer Verlag, Suttgart 1994