Wie man einen cBot optimiert
In cTrader ist es möglich, cBots mit einer beliebigen Anzahl anpassbarer Parameter zu erstellen, die ihr Verhalten beeinflussen, wie z. B. Auftragsschutzniveaus oder Standardauftragsvolumen. Dies wirft die Frage auf, wie genau Händler die optimalen Werte dieser Parameter bestimmen können. Glücklicherweise bietet cTrader ein integriertes Tool, das die Optimierung übernehmen kann und Händlern wertvolle Zeit spart.
In diesem Leitfaden konzentrieren wir uns darauf, wie Benutzer ihre cBots optimieren können, und zeigen, warum die cBot-Optimierung für jeden Algo-Entwickler unerlässlich ist.
Wie die cBot-Optimierung funktioniert
Stellen Sie sich die Optimierung als eine Reihe von Backtests vor. Jeder Backtesting-Durchlauf erfolgt auf denselben Daten, verwendet jedoch unterschiedliche Werte für alle in einem cBot codierten Parameter.
Betrachten Sie einen cBot, der auf Fälle reagieren kann, in denen sich gleitende Durchschnitte mit schnellen und langsamen Zeiträumen kreuzen (der schnelle gleitende Durchschnitt kreuzt den langsamen gleitenden Durchschnitt). Wir möchten anpassen können, für wie viele schnelle und langsame Zeiträume der cBot Daten empfängt.
Unser cBot sollte daher die folgenden zwei Parameter haben.
1 2 3 4 5 | |
Um die optimalen Parameterwerte zu definieren, müssten wir umfassend testen, wie der cBot unter verschiedenen Marktbedingungen und bei unterschiedlichen Werten für die beiden oben genannten Parameter funktioniert. Wenn wir diese Tests manuell durchführen würden, würden sie viel Zeit in Anspruch nehmen, ohne einen leicht zu interpretierenden Satz von Ergebnissen zu liefern.
Glücklicherweise können wir cTrader diese Tests automatisch durchführen lassen und uns am Ende bestimmte Parameterwerte zur Verfügung stellen, die es dem cBot ermöglichen, die bestmöglichen Ergebnisse zu erzielen. Dieser Prozess wird als cBot-Optimierung bezeichnet.
Zugriff auf die cBot-Optimierung
Um auf die cBot-Optimierung zuzugreifen, führen Sie die folgenden Aktionen aus.
Wählen Sie zunächst eine Instanz des cBots aus, den Sie optimieren möchten. Erstellen Sie bei Bedarf eine neue Instanz, indem Sie auf das Plus-Symbol klicken und ein Symbol auswählen oder Instanz hinzufügen im Kontextmenü auswählen, das durch Klicken auf das Mehr-Symbol geöffnet wird.
Wechseln Sie anschließend zur Registerkarte Optimierung, die sich direkt rechts neben der Registerkarte Backtesting befindet. Der zentrale Bildschirm in dieser Registerkarte sollte wie folgt aussehen.

Optimierungseinstellungen und cBot-Parameter konfigurieren
Da die Optimierung eine Reihe von Backtests ist, können Sie dieselben Einstellungen konfigurieren wie für reguläres Backtesting. Klicken Sie dazu auf das Zahnrad-Symbol und ändern Sie die Werte im neu geöffneten Menü.

Um die genauen Parameter auszuwählen, die cTrader optimieren muss, klicken Sie auf die Schaltfläche Parameter unmittelbar rechts neben dem Zahnrad-Symbol.

Aktivieren oder deaktivieren Sie in diesem Unterabschnitt die Flags links neben jedem Parameternamen, um diese Parameter in den Optimierungsprozess einzubeziehen/auszuschließen. Beachten Sie, dass der Parameter Zeitrahmen unabhängig von ihrer Konfiguration für alle cBots vorhanden ist.
Wir möchten, dass die Optimierung die optimalen Werte der langsamen und schnellen Zeiträume bestimmt, die unser cBot beim Start berücksichtigen wird. Wir möchten jedoch noch nicht andere Typen gleitender Durchschnitte ausprobieren.
Optimierungskriterien und Algorithmus definieren
Es ist möglich zu bestimmen, welche genauen Kriterien cTrader verwenden wird, um die optimalen Parameterwerte unter den Backtesting-Durchläufen auszuwählen, die es durchführen wird.
Klicken Sie dazu auf die Schaltfläche Kriterien, die durch das Symbol mit der nach oben gerichteten Linie dargestellt wird. Sie sehen den folgenden Abschnitt.

Die Einstellungen für jedes Kriterium umfassen zwei Menüs. Wählen Sie im Menü links aus, ob das Kriterium minimiert oder maximiert werden soll. Wählen Sie im Menü rechts das Kriterium aus, das aus einer Reihe vordefinierter Optionen minimiert oder maximiert werden soll. Neue Kriterien können durch Klicken auf Kriterium hinzufügen hinzugefügt werden.
Im obigen Screenshot möchten wir, dass cTrader unseren Nettogewinn und die Anzahl der im Gewinn befindlichen Transaktionen maximiert, die unser cBot durchführt. Gleichzeitig möchten wir den maximalen Prozentsatz der Inanspruchnahme des Eigenkapitals minimieren.
Der Kürze halber behandelt dieser Artikel keine benutzerdefinierten Optimierungskriterien und die Methode GetFitness(). Um mehr darüber zu erfahren, konsultieren Sie unsere technische Dokumentation.
Um einen bestimmten Optimierungsalgorithmus auszuwählen, klicken Sie auf die Schaltfläche Algorithmus rechts neben der Schaltfläche Kriterien. Der folgende Unterabschnitt sollte sich öffnen.

Der erschöpfende Suchalgorithmus ist sehr genau, aber ressourcenintensiv. Wenn die Option Raster ausgewählt ist, erstellt cTrader ein Raster aller möglichen Parameterwerte und führt alle Backtests durch, die erforderlich sind, um sie zu testen. Obwohl dieser Prozess gründlich ist, kann er einige Zeit in Anspruch nehmen.
Glücklicherweise enthält cTrader die Option Genetischer Algorithmus. Dieser Algorithmus emuliert die natürliche Selektion, indem er jeden Durchlauf als Individuum, die cBot-Parameter als Gene und den Grad der Anpassung an die Optimierungskriterien als Anpassungsfähigkeit betrachtet. Der genetische Algorithmus stoppt, sobald er erkennt, dass Änderungen an bestimmten Parameterwerten abnehmende Erträge für die cBot-Effektivität erbringen würden.
Da der genetische Algorithmus weniger ressourcenintensiv ist als die erschöpfende Suche und dennoch genaue Ergebnisse liefert, empfehlen wir die Auswahl dieser Optimierungsmethode.
Ressourcen zuweisen und cBot-Optimierung durchführen
Um die cBot-Optimierung durchzuführen, wählen Sie den Bereich der historischen Daten aus, auf denen cTrader Backtesting-Durchläufe ausführen wird. Verwenden Sie dazu den Kalenderschieberegler oben auf der Registerkarte Optimierung oder die Menüs links und rechts davon.
Beachten Sie, dass die Optimierung ein ressourcenintensiver Prozess ist, der einige Zeit in Anspruch nehmen kann. Da wir die Ergebnisse relativ schnell erhalten möchten, wählen wir ein Jahr als Optimierungszeitraum.

cTrader ermöglicht auch die Bestimmung des genauen Prozentsatzes der CPU-Ressourcen, die dem Optimierungsprozess zugewiesen werden. Um diese Einstellung anzupassen, klicken Sie auf die Schaltfläche Ressourcen links neben dem linken Kalendermenü.

Ziehen Sie im neu erschienenen Abschnitt den Schieberegler, um den CPU-Verbrauch zu erhöhen oder zu verringern.
Nach Abschluss der Ressourcenzuweisung sollten Sie bereit sein, mit der Optimierung fortzufahren. Klicken Sie dazu auf die Schaltfläche Wiedergabe rechts neben dem rechten Kalendermenü. Nachdem cTrader die historischen Daten geladen hat, sehen Sie Optimierungsdurchläufe, die in Echtzeit zum zentralen Bildschirm hinzugefügt werden.

Oben im Raster sehen Sie auch die aktuelle Anzahl der Durchläufe, die verstrichene Zeit und die verbleibende Optimierungszeit.
Alle abgeschlossenen Durchläufe werden mit einem grünen Häkchen markiert. Alle Durchläufe, bei denen Ihr cBot einen Stop-out erreicht hat, werden stattdessen mit einem grauen Häkchen markiert.
Hinweis
Sie können Optimierungsergebnisse speichern und laden, wodurch Sie diese über verschiedene Geräte hinweg übertragen können.
Die Ergebnisse der Optimierung interpretieren und anwenden
Im zentralen Raster zeigt cTrader mehrere Metriken für jeden Backtesting-Durchlauf an, einschließlich der Anzahl der im Gewinn befindlichen Transaktionen, die Ihr cBot durchgeführt hat, und des maximalen Prozentsatzes der Inanspruchnahme des Eigenkapitals.
Besonders hervorzuheben ist die Spalte Fitness, die für jeden Durchlauf einen Fitness-Score anzeigt. Betrachten Sie einen Fitness-Score als eine Metrik, die den Grad bewertet, in dem ein Durchlauf Ihre gewählten Optimierungskriterien maximiert/minimiert hat. Höhere Fitness-Scores weisen auf höhere Grade der Anpassung an diese Kriterien hin.
Um schnell den Durchlauf mit dem höchsten Fitness-Score auszuwählen, aktivieren Sie einfach das Flag Besten Durchlauf automatisch auswählen, das sich direkt über dem zentralen Raster befindet. Beachten Sie, dass Sie das Flag Besten Durchlauf automatisch auswählen während der Optimierung aktivieren können, und cTrader wird dynamisch nach den bestmöglichen Parameterwerten suchen.

Wie Sie in der Spalte Fitness sehen können, lieferte Durchlauf Nummer 33 den bestmöglichen Fitness-Score im Vergleich zu allen anderen Durchläufen.
Wir können sicher auf Anwenden neben Durchlauf 33 klicken, und die während dieses Durchlaufs verwendeten Parameterwerte werden sofort auf unsere cBot-Instanz angewendet.

Die Standardwerte für die Parameter Langsame Zeiträume und Schnelle Zeiträume waren gleich 10 bzw. 5.
Wie beim Backtesting bietet die Anzeige Handelsüberwachung ein Eigenkapitaldiagramm und detaillierte Handelsstatistiken, die die Aktionen zusammenfassen, die unser cBot während eines bestimmten Durchlaufs durchgeführt hat. Beachten Sie, dass das Eigenkapitaldiagramm nur für die 20 besten Durchläufe aus dem zentralen Raster angezeigt wird.

Die stetig steigenden Linien Saldo und Eigenkapital unterstreichen nur die Tatsache, dass Durchlauf 33 die Parameterwerte lieferte, die für die effektive Funktion unseres cBots erforderlich sind.
Zusammenfassung
Kurz gesagt, die cBot-Optimierung ist ein leistungsstarkes Tool, um sicherzustellen, dass Ihre automatisierten Handelsberater genau richtig konfiguriert sind. Wir empfehlen dringend, mehrere Optimierungsrunden mit unterschiedlichen Kriterien durchzuführen, um eine Vorstellung davon zu bekommen, welche Parameterwerte für alle cBots am besten geeignet wären, die Sie selbst entwickelt oder von anderen Entwicklern erworben haben.