Formelsprache zur Erstellung von Indikatoren und Strategien

Um die Vorgehensweise bei Tradesignal Equilla zu erörtern, wird in folgendem Artikel der Relative-Stärke-Index RSI in seine einzelnen Komponenten zerlegt und genau erklärt. Auch Leser, die bisher noch gar keine oder nur wenig Erfahrung mit Programmierungen haben, werden sehen, dass man sich in dieses Thema schnell einarbeiten und so leicht eigene effiziente Strategien entwickeln kann.

 

Was steckt hinter Equilla?

 

Die Formelsprache Equilla, die in allen Tradesignal-Produkten enthalten ist, ähnelt der Programmiersprache Pascal und ist dadurch weniger komplex als beispielsweise C++ oder Python, aber dennoch mächtig. Zudem ist sie für den Einsatz bei historischen Kursen optimiert und lässt sich vielseitig einsetzen. 

Equilla berechnet automatisch jede Kerze einzeln, sodass auf Schleifen meistens verzichtet werden kann. Was für Programmierer zunächst ungewohnt sein mag, bietet besonders für Einsteiger große Vorteile, da es den Aufwand erheblich verringert.

In den Foren von Tradesignal Online gibt es außerdem einen regelmäßigen Austausch zu Equilla, sodass Anfänger hier auf das Wissen alter Hasen zurückgreifen können und Hilfestellung erhalten. Außerdem liefert Tradesignal Online einen großen Hilfebereich, in dem jegliche Funktionen von Equilla erklärt werden. 

 

Aufbau eines Codes anhand des RSI

 

Um die Programmiersprache näher zu beleuchten, werden wir zunächst den Relative-Stärke-Index in seine Einzelteile zerlegen und ihn dann um eine einfache Kauforder erweitern.

Zuerst werden die Metadaten eines Indikators festgelegt, die dafür zuständig sind, den Indikator in eine Kategorie einzuordnen. Hier ist es möglich, dem Indikator einen „ShortCode“ zuzuweisen, über den man ihn später leichter finden kann. Um außerdem einen Indikator in den Subchart einzuzeichnen, muss der Befehl Subchart (True) verwendet werden

Im zweiten Schritt werden die Inputparameter für den Indikator festgelegt, also die Eigenschaften, die später vom Benutzer geändert werden können. Was nahezu jede Strategie braucht, ist natürlich die Datenreihe eines Wertpapieres, auf dem die Berechnungen ausgeführt werden sollen.

Folglich definieren wir den Price eines Wertpapieres mit beispielsweise „Close“, was bedeutet, dass zur Berechnung immer der letzte Kurs der vorangegangenen Kerze im  Chart eines Wertpapieres benutzt wird. Andere Werte wären etwa Open, High und Low, aber auch das Volumen oder Open Interest, sofern sie verfügbar sind.

Der RSI benötigt zudem noch Bereiche, in denen er als überkauft beziehungsweise überverkauft gilt, sowie eine Periode, auf die er angewendet werden soll. Die Periode legt fest, wie viele Kerzen oder Datenpunkte vor der aktuellen Kerze zur Berechnung herangezogen werden.

Für diese Inputs können die Werte nach Belieben festgelegt werden. Im Falle des bereitgestellten RSI sind sie mit einem Minimum- und Maximumwert versehen, der die Eingabemöglichkeiten beschränkt, denn eine Eingabe des Benutzers von weniger als 0 oder mehr als 100 Prozent für OverSold und OverBought würde beim RSI keinen Sinn ergeben. 

Schließlich ist es noch möglich, mit ShowAlerts zu definieren, ob der Indikator ein Signal erzeugen darf oder nicht, wenn er einen der beiden Bereiche gekreuzt hat. Dieses Signal wird vom Programmierer im Equilla-Code generiert. Deshalb hat auch nicht jeder bereitgestellte Indikator die Möglichkeit, Signale zu erzeugen. 

Nachdem nun der erste Teil unseres Indikators fertig ist, sollen die nötigen Variablen definiert werden. Der Wert des RSI bestimmt sich über die Funktion RSI mit den Argumenten von Price und Period. Er wird in der Variablen rsiValue zwischengespeichert. Funktionen sind ausgelagerter Equilla-Code, der in anderen Dateien gespeichert wird. Deshalb braucht man diese Berechnungsschritte (Algorithmen) nicht für jeden Indikator neu zu programmieren, wenn sie an einer anderen Stelle benötigt werden, sondern kann auf die Funktion zurückgreifen.

 

Wir müssen Equilla nun sagen, dass rsiValue = RSI ( Price, Period ) ist – die Berechnung findet im Hintergrund statt.

Um das Ergebnis nun im Subchart einzeichnen zu lassen, müssen wir den Befehl „DrawLine“ benutzen, der verwendet wird, um jegliche Ergebnisse aus der Berechnung in einen Chart zu zeichnen. Folglich wird der Befehl nicht nur für den RSI, sondern auch für die Linien des überkauften beziehungsweise überverkauften Bereichs benötigt (siehe Bild 1). 

Das Bild zeigt den Code des Relative-Stärke-Index.

 

So einfach ist der Code für den RSI fertig – vielleicht möchten Sie ihn direkt nachprogrammieren? Ansonsten hält Tradesignal Online den Indikator natürlich auch in der Datenbank bereit.

 

Erweiterung eines Indikators

 

Mit nur einigen wenigen Zeilen Code kann in Equilla ein bereits bestehender Indikator erweitert werden. Um den RSI zum Beispiel um ein Crossover zu erweitern, würde man den ShortCode etwa in „RSIX“ umbenennen und die benötigten Inputs des Crossovers zu den Inputs des RSI hinzufügen. Darüber hinaus muss eine weitere Variable für die Berechnung des rsiXvalue im Bereich „Variables“ hinzugefügt werden und noch eine weitere zu zeichnende Linie, kombiniert aus „Crossover“ und „RSI“, an den Code angehängt werden (siehe Bild 2): DrawLine (rsiXvalue), „RSIX“) 

 

Hier wurden die nötigen Anpassungen im Code vorgenommen, um den RSI um den XAverage zu erweitern. 

 

Nun besteht noch die Möglichkeit, aus dem Indikator gleich ein Handelssystem zu machen. Dazu bedarf es ebenfalls nur weniger Zeilen Code. Um einen Kauf zu tätigen, müssen Zeitpunkt und Preis definiert werden, beispielsweise durch „Buy Next Bar at Market“. Darüber hinaus muss noch beschrieben werden, wie der Einstieg aussehen soll. Hier könnte „If rsiValue Crosses Over Oversold“ eine Lösung sein. So würde das Handelssystem das Wertpapier kaufen, sobald der RSI von unten kommend die Linie des überverkauften Bereichs kreuzt (siehe Bild 3).

 

Zuletzt wurde noch eine einfache „Buy Entry“-Strategie hinzugefügt, durch die nun im Chart die ausgeführten Trades angezeigt werden. 

 

Es gibt noch eine Vielzahl weiterer Möglichkeiten, Indikatoren und auch Strategien in Equilla zu bauen (siehe Bild 4).

 

Hier wurde der Exit entweder über einen Stopp-Loss oder einen Take Profit definiert. Die Equity-Kurve zeigt, dass die Strategie zumindest auf den ersten Blick lukrativ ist. 

 

Nahezu jeder Indikator lässt sich kombinieren und jedes Handelssystem und jede Strategie kann nach Belieben angepasst und verändert werden, sodass sich jeder ein eigenes automatisches Handelssystem gestalten kann. 

Neben den zahlreichen Kombinationsmöglichkeiten, die jedem zur Verfügung stehen, wird Equilla außerdem regelmäßig durch Tradesignal erweitert. Somit stehen auch regelmäßig neuartige Indikatoren und Handelsansätze zur Verfügung.

 

Fazit

 

Equilla ist, wie eingangs erwähnt, eine einfache Programmiersprache, für deren Anwendung es zwar ein wenig Übung bedarf, die jedoch wesentlich einfacher ist als Python oder C++. Außerdem gibt es bereits eine große Auswahl fertiger Codes, was bedeutet, dass man das Rad nicht neu erfinden muss, sondern auf herkömmliche Ideen zugreifen und sie nach Belieben anpassen kann. So werden Sie im Handumdrehen zu einem Algorithmic Trader, der eigene Handelssysteme schreibt, backtestet, optimiert und völlig ohne Emotionen an den Märkten einsetzt.  

In Tradesignal Online steht nahezu der gesamte Fundus zur Verfügung, den Equilla zu bieten hat. Einige Funktionen für Portfoliostrategien oder zum Optimieren von Handelssystemen sind jedoch ausschließlich in Trade­signal Online Terminal verfügbar.

 

Infobox:

In Tradesignal Online kann ein Indikator auch auf einen Indikator angewendet werden. Das geht einfach per Drag-and-drop, indem man beispielsweise einfach den zweiten Indikator auf den ersten Indikator zieht, der sich im Subchart befindet.

 

Quelle: www.tradesignal.com