Bots sind Programme, die die ganze Zeit laufen und die Aufgaben weitgehend autonom erledigen. Tradingbots sind Programme, die ständig laufen und autonom traden.
In den letzten Abschnitten haben wir über Algorithmen gesprochen. Wie hängen Algorithmen und Programme/Bots zusammen?
Wie wir bereits gesagt haben, sind Algorithmen nur Listen von Schritten, die man tun muss, um ein Ziel zu erreichen. Deshalb kann man Algorithmen auf Deutsch beschreiben. Computer verstehen jedoch kein Deutsch. Sie können keine Instruktionen, die auf Deutsch, oder in einer anderen natürlichen Sprache wie Englisch, Spanisch oder Chinesisch verfasst sind, ausführen. Sie können nur Programme ausführen und Programme werden in Programmiersprachen geschrieben. Bots oder, allgemeiner, Programme sind „Implementierungen“ von Algorithmen. Wenn jemand ein Computerprogramm schreibt, das einen gegebenen Algorithmus ausführt, sagt man, dass er diesen Algorithmus „implementiert“.
Trader, die ihr Trading automatisieren, haben also im Wesentlichen zwei Aufgaben: Sie müssen eine Tradingstrategie erfinden, auch bekannt als Tradingalgorithmus, und sie müssen diesen Algorithmus implementieren, das heißt ein Programm schreiben, das mit einem Bankkonto (mit echtem Geld oder mit virtuellem Geld) verbunden werden kann und das diesen Algorithmus ausführt, das heißt, das selbständig tradet. Normalerweise tun sie dies jedoch in einem Schritt: Sie erfinden eine Tradingstrategie und schreiben sie direkt als Code in einer Programmiersprache auf.
Hier ist eine weit verbreitete Methode zur Entwicklung von Tradinstrategien:
Ein Entwickler schreibt eine erste Version seiner Tradingstrategie auf, nennen wir sie „s1“. Er testet seine Strategie anhand historischer Daten, ein Prozess, der als „Backtesting“ bekannt ist, und sieht, dass s1 nicht so funktioniert, wie er es wollte. Also modifiziert der Entwickler s1 ein wenig. Mit anderen Worten, er erstellt eine neue Strategie, nennen wir sie „s2“, die s1 sehr ähnlich ist. Dann backtestet er die Strategie s2, um zu sehen, ob sie funktioniert. Er modifiziert und backtestet seine Strategien so lange, bis eine Version der ursprünglichen Idee, vielleicht s412, auf Grundlage der historischen Daten rentabel zu sein scheint.
Das ist natürlich viel manuelle Arbeit. Und diese manuelle Arbeit wird noch komplizierter durch die Tatsache, dass die Plattformen, für die Entwickler Tradingstrategien schreiben, die Entwickler oft in verschiedenen Hinsichten einschränken. Ein Beispiel: Eine der beliebtesten Plattformen, „Metatrader 4“ oder kurz „MT4“, ermöglicht zwar die Entwicklung von Strategien, die mehrere Instrumente wie EURUSD (Euro vs. US-Dollar) und GBPJPY (Britisches Pfund vs. Japanischer Yen) traden, aber es erlaubt kein Backtesten solcher Strategien. Ein Trader, der eine Strategie entwickeln möchte, die mehrere Instrumente tradet, müsste also eine Strategie für jedes Instrument entwickeln, alle diese Strategien backtesten und dann eine Möglichkeit finden, die Backtestergebnisse der verschiedenen Strategien zu kombinieren. Er müsste das selbst tun, das heißt er müsste dafür eine komplett neue Software schreiben, da die MT4-Plattform keine Kombination von Backtests verschiedener Strategien erlaubt.
Eine offensichtliche Lösung könnte darin bestehen, eine andere Plattform zu verwenden.
Es gibt tatsächlich andere Tradingbotplattformen, von denen manche einige Vorteile gegenüber MT4 haben. Aber sie alle haben auch gravierende Nachteile. Einer der größten Nachteile der anderen Plattformen ist, dass sie nicht sehr verbreitet sind. Es gibt nicht viele „Broker“ (grob: Banken, die Ihnen erlauben, Tradingbots zu verwenden), die die Plattform anbieten, für die Sie Ihren Tradingbot geschrieben haben, wenn Sie nicht die Metatrader-Plattform verwenden. Und es gibt einen großen Nachteil, den, so weit wir wissen, alle diese Plattformen gemein haben: Sie erlauben Entwicklern nicht, ihre Arbeit maximal zu automatisieren.
Wie oben erläutert, beginnt ein Entwickler von Tradingbots normalerweise mit einer vorläufigen Tradingstrategie, die als vorläufiger Tradingbot implementiert wird. Das heißt, er entwickelt seine erste Strategie s1. Dann führt er einen Backtest für s1 durch, modifiziert diese Strategie und testet sie erneut.
Aber was bedeutet „modifizieren“ hier eigentlich?
Es bedeutet, dass der Entwickler bestimmte Parameter seiner Strategie ändert. Betrachten wir unser Beispiel aus den letzten Abschnitten noch einmal: Wir begannen mit der Idee, Gold zu kaufen, nachdem sein Preis drei Tage hintereinander gefallen ist. Die Drei-Tage-Idee funktioniert vielleicht nicht, aber vielleicht würden vier Tage (mit fallenden Goldpreisen in Folge) funktionieren. Das ist ein Parameter einer Strategie: Die Anzahl der Tage, die der Goldpreis fallen muss. Wäre es nicht großartig, wenn Entwickler diesen Parameter und alle anderen Parameter nicht manuell ändern und dann ihre Backtests manuell wiederholen müssten?
Aus diesem Grund haben wir Algocrowd entwickelt. Alle Trading-Bot-Plattformen, die wir uns angesehen haben, ermöglichen eine gewisse „Parametrisierung“, das heißt eine Art Automatisierung der Entwicklung von Tradingstrategien. Aber bei all diesen Plattformen sind die Möglichkeiten der Automatisierung sehr begrenzt. Was Sie mit keiner der vielen von uns untersuchten Plattformen tun können, ist, einfach Bausteine für Tradingstrategien zu entwickeln und einen Algorithmus mit diesen Bausteinen völlig automatisiert neue Tradingstrategien erstellen zu lassen.
Beachten Sie, dass wir jetzt über zwei Ebenen von Algorithmen/Bots sprechen: Es gibt die Ebene der Algorithmen/Bots, die Sie zum Traden verwenden können: die Tradingalgorithmen/-bots. Und es gibt die Ebene der Algorithmen/Bots, die Tradingalgorithmen/-bots entwickeln. Algocrowd ist ein System der zweiten Art. Es verwendet von Menschen bereitgestellte Bausteine, erfindet Tradingalgorithmen mit diesen Bausteinen und generiert den Code für diese Algorithmen, d.h. es erstellt Tradingbots, die man laufen lassen kann.
Wir haben uns entschieden, unsere Tradingbots für die MT4-Plattform zu implementieren. MT4 ist eine sehr beliebte Plattform. Und das bedeutet, dass Sie mit MT4-Bots (die auch als „Expert Advisors“ bezeichnet werden) zwischen einer Vielzahl von Brokern wählen können. Und das bedeutet, dass Sie sehr unabhängig von Ihrem aktuellen Broker sind und problemlos wechseln können, zum Beispiel wenn Sie einen Broker mit niedrigeren Gebühren finden. Mit MT4 kann man auch leicht mehrere Broker haben und bei jedem Broker nur mit einem Teil seines Kapitals traden.
Die Nachteile von MT4, seine Einschränkungen bei der Automatisierung, sind nur relevant, wenn Sie dieses Programm manuell verwenden, um Tradingalgorithmen zu finden. Wir haben das Algocrowd-System entwickelt, um diese Einschränkungen zu überwinden. Mit anderen Worten, mit Algocrowd bekommen Sie den größten Vorteil von MT4, seine Popularität, ohne die Nachteile in Kauf nehmen zu müssen.
Algocrowd ist aber kein MT4-System. Bei Algocrowd geht es nicht darum, Bots für eine bestimmte Plattform zu generieren. Bei Algocrowd geht es darum, Tradingalgorithmen zu finden. Im Moment scheint die MT4-Plattform die vernünftigste Wahl zu sein. Daher generiert unser System derzeit nur Bots für diese Plattform. Dies kann sich jedoch in Zukunft ändern, zum Beispiel wenn die MT4-Plattform weniger populär werden sollte.
Um zu verstehen, was ein Programm tut, müssen Sie den Input und den Output kennen. Was ist der Input von Algocrowd? Und was ist der Output von Algocrowd? Der Input von Algocrowd sind bestimmte Codestücke, sogenannte „Indikatoren“, die wir in den folgenden Abschnitten beschreiben werden. Wenn Sie ein Entwickler sind, können Sie solche Indikatoren hochladen und damit zu unserer vollständig automatisierten Suche nach den besten Tradingalgorithmen beitragen. Der Output von Algocrowd ist eine Liste von Tradingbots, die für die MT4-Plattform generiert worden sind. Sie müssen den Code dieser Tradingbots nicht verstehen, um sie zu verwenden. Sie können sie einfach herunterladen und laufen lassen. Wir haben einen Blogpost, der erklärt, wie das geht.
Es gibt eine letzte technische Unterscheidung, die wir einführen müssen: MT4 ist die Plattform, die zum Ausführen von Algocrowdbots verwendet werden muss. Sie können MT4 einfach herunterladen, installieren und auf Ihrem Computer ausführen. Dafür muss man sich nicht mit MT4 auskennen. Was Sie tatsächlich mit Ihrem MT4 ausführen, die Tradingbots oder „Expert Advisors“, wie die MT4-Leute es gerne nennen, sind „Mq4“-Dateien. Die Programmiersprache, in der MT4-Bots geschrieben werde, heißt „MQL4“. Und MQL4-Programme haben die Endung „.mq4“. Wenn Sie kein Entwickler sind: keine Panik! Sie können die mq4-Dateien einfach herunterladen und in Ihrem MT4 ausführen, indem Sie darauf klicken. Wenn Sie Entwickler sind: Beachten Sie, dass Sie mit den mq4-Dateien den Quellcode der von Algocrowd gefundenen Strategien erhalten. Das bedeutet, dass Sie sie lesen und modifizieren können, wenn Sie möchten. Und Sie verlieren den Quellcode der heruntergeladenen Strategien nicht, wenn Algocrowd bankrott gehen sollte.
After all these rather abstract explanations, you might wonder what a bot for MT4 or "expert advisor" actually looks like. Das schauen wir uns jetzt an.