TRADESIGNAL HOW TO 05.
EQUILLA GRUNDLAGEN-WISSEN.
TEIL 1: MIT DER FORMELSPRACHE EQUILLA ZUM TRADING-ERFOLG.
Wer beim Trading die Vorteile des regelbasierten Handels genießen möchte, tut gut daran, sich mit der Programmierung von Handelsstrategien zu beschäftigen. Die Übersetzung des eigenen Handelsansatzes in einen Programmcode erfordert allerdings eine ganze Portion Know-How. Die Formelsprache Equilla bietet nahezu unendliche Möglichkeiten bei der Entwicklung von Indikatoren und Strategien. Im ersten Teil unserer Reihe zeigen wir anhand des Simple Moving Average, was ein Quellcode ist, wie dieser aufgebaut ist und wie fertige Funktionen Ihnen die Arbeit erleichtern.
INHALT.
- Leichter Einstieg dank Formelsprache
- Was ist überhaupt ein Quellcode?
- Funktionen bilden die Basis für Indikatoren
- Wie ist ein Quellcode in Equilla aufgebaut?
- Der erste Schritt ist getan
HINWEIS:
Der vorliegende Beitrag ist im TRADERS’ Magazin (Ausgabe 7/2014) erschienen.
LEICHTER EINSTIEG DANK FORMELSPRACHE.
Hand aufs Herz: Haben Sie Ihre Handelsstrategie schon einmal einem Backtest unterzogen und auf ihre Robustheit hin geprüft? Wissen Sie, wie hoch der maximale Drawdown in der Vergangenheit ausfiel, welche Verlustserien „normal“ sind und welchen Profit Faktor Sie erwarten können?
Für eine professionelle Software ist die Beantwortung dieser Fragen kein Problem, dennoch nutzen viele Trader diese Möglichkeit nicht. Der Grund: das Einarbeiten in die Welt der Programmierung ist oft sehr mühsam und voller Stolpersteine. Dabei ist Einstieg in diese Materie mit der von Profis geschätzten Finanzsoftware Tradesignal gar nicht so schwer.
ÜBRIGENS:
Wer bereits mit der EasyLanguage™ von TradeStation® in Berührung gekommen ist, der wird sich in Equilla schnell wiederfinden. Der Programm-Code kann zum Großteil in Equilla übernommen und weiterverarbeitet werden (copy & paste).
Die hauseigene Programmiersprache Equilla basiert nämlich auf den weit verbreiteten Sprachen Pascal und Visual Basic und bildet die Grundlage für alle Indikatoren und Handelssysteme, die bei Tradesignal standardmäßig mitgeliefert werden. Diese können einfach und bequem per Drag and Drop in den Chart gezogen werden und sind somit sofort einsatzbereit.
Der Clou: Der jeweilige Quellcode ist offen einsehbar und bietet dadurch eine optimale Möglichkeit, sich in die Denkweise von Equilla zu versetzen und auch Veränderungen am Code vorzunehmen. Gerade für Neueinsteiger ist dies eine gute Möglichkeit, durch „learning by doing“ voranzukommen, um nach und nach auch die ersten eigenen Indikatoren und Handelsstrategien zu erstellen. Der Fantasie sind jedenfalls kaum Grenzen gesetzt.
WAS IST ÜBERHAUPT EIN QUELLCODE?
Unter dem Begriff Quellcode versteht man in der Informatik einen für Menschen lesbaren, in einer Programmiersprache geschriebenen Text eines Computerprogrammes. Damit dieser von einem Computer in die binäre Maschinensprache übersetzt und somit auch anschließend ausgeführt werden kann (hierfür ist der „Compiler“ zuständig), müssen im Quellcode alle Anweisungen exakt und vollständig beschrieben werden. Analog zum korrekten Satzbau in „normalen“ Sprachen muss beim Verfassen des Quellcodes also auf die Einhaltung bestimmter Regeln geachtet werden (sog. „Syntax“). Für Trader heißt das: Egal ob es um den Einstieg in eine Position, den Ausstieg oder Stop geht – alles muss zu 100 Prozent unmissverständlich definiert werden, denn mit „schwammigen“ Regeln kann der Computer nichts anfangen. Bereits an dieser Stelle merken viele Trader, dass die als klar definiert geglaubte Strategie in Wahrheit viele subjektive Elemente enthält. Und genau diese gilt es zu eliminieren, wenn man zu 100 Prozent regelbasiert handeln will. Disziplin ist die Voraussetzung für Performance; auch beim Programmieren.
Der Quellcode wird je nach Software auf unterschiedlichen Wegen erstellt. Bei Tradesignal stehen hierfür zwei Möglichkeiten zur Verfügung: Der sogenannte Equilla Editor (siehe Abbildung 1), der analog zu einem einfachen Texteditor die Eingabe der Programmzeilen ermöglicht sowie der Handelssystem-Assistent, bei dem mithilfe von einzelnen Bausteinen ganze Handelsstrategien erstellt werden können. In unserer Artikelserie konzentrieren wir uns auf den Editor.
ABB. 1: ARBEITSOBERFLÄCHE IN TRADESIGNAL.
Tradesignal bietet mit der Formelsprache Equilla nahezu unbegrenzte Möglichkeiten zur Erstellung von Indikatoren, Chart Patterns und ganzer Handelssysteme. Der Equilla Editor wurde in diesem Arbeitsbereich oben rechts platziert.
FUNKTIONEN BILDEN DIE BASIS FÜR INDIKATOREN.
Schaut man in das „Innere“ eines Equilla-Codes, erkennt man, dass jeder Indikator, jedes Chart Pattern sowie alle Handelssysteme auf sogenannte Funktionen zurückgreifen. Hierzu genügt ein Klick mit der rechten Maustaste auf das ausgewählte Handelssystem/Indikator im Chart. Unter einer Funktion versteht man einen untergeordneten Programmteil, in den Berechnungen und Programmanweisungen ausgelagert werden, die häufiger mal zum Einsatz kommen.
EINFACHES BEISPIEL:
Anstatt die komplette Berechnung eines Gleitenden Durchschnitts (SMA) immer wieder programmieren zu müssen, wird diese in eine Funktion „gepackt“ und mit einem Namen versehen. Über den Aufruf des Namens steht dem Programmierer das gewünschte Ergebnis also jederzeit ohne Umwege zur Verfügung und kann innerhalb des Quellcodes weiterverwendet werden.
Inputs:
Price( NumericSeries ),
Period( NumericSimple );
If Period > 0 Then
AverageFC = SummationFC( Price, Period ) / Period
Else
AverageFC = 0;
ABB. 2: FUNKTION AVERAGEFC.
Die hier dargestellte Funktion berechnet einen Gleitenden Durchschnitt. Funktionen bilden die Basis für Indikatoren, aus denen wiederum Handelsstrategien erstellt werden können.
WIE IST EIN QUELLCODE IN EQUILLA AUFGEBAUT?
Die Ergebnisse dieser Funktion bilden die Basis für den eigentlichen Indikator, der die Anzeige des Gleitenden Durchschnitts auf eine Kursreihe ermöglicht. Der dazugehörige Code soll dazu dienen, die grundlegende Programmstruktur und -syntax von Equilla zu erläutern.
Meta:
Synopsis( "Dies ist der fertige Indikator, der den Simple Moving Average berechnet. Er greift dabei auf die zuvor gezeigten Funktionen AverageFC und Summation FC zurück." ),
ShortCode( "SMA" ),
SubChart( False );
Inputs:
Price( Close ),
Period( 200, 1 );
DrawLine( AverageFC( Price, Period ), "SMA" );
ABB. 3: EQUILLA CODE FÜR INDIKATOR „SIMPLE MOVING AVERAGE“.
Der Code enthält im Bereich der Inputs alle Parameter, die später vom Nutzer geändert bzw. optimiert werden können. Dazu kommt der Befehl für die grafische Darstellung des Gleitenden Durchschnitts im Chart (DrawLine).
Beginnen wir im Kopfteil des Codes, den man immer am Ausdruck „Meta:“ erkennt. Hier werden globale (Meta-)Informationen zum Indikator festgelegt. Im konkreten Fall hat der Programmierer folgendes definiert:
- Synopsis: eine Beschreibung des Indikators
- ShortCode: einen Short Code, mit dem der Indikator als Kürzel über die Tastatur schnell in den Chart geladen werden kann
- SubChart: die Anweisung, dass der Indikator nicht in einem Sub-Chart dargestellt werden soll (false), sondern im Hauptchart
Weiter geht’s mit dem Eingabebereich. Hier werden die benutzerspezifischen Parameter – sogenannte „Inputs“ deklariert, die später bequem über die Eingabemaske der Software modifiziert bzw. über ein Optimierungstool optimiert werden können. Im konkreten Fall bestimmt der Input „Price ( Close )“, dass der SMA auf Schlusskursbasis berechnet werden soll. Der Input „Period ( 200, 1 )“ dient zur Eingabe der Periodenanzahl. Als Standardeinstellung ist hier der Wert 200 festgelegt. Die Zahl 1 nach dem Komma bedeutet, dass 1 der kleinste mögliche Input-Wert ist.
Eine wichtige Aufgabe erfüllen darüber hinaus Variablen, die als eine Art „Container“ innerhalb des Quellcodes dienen. Sie speichern Ergebnisse und machen diese für die Weiterverarbeitung und spätere Verwendung zugänglich. Im vorliegenden Indikator-Code sind keine Variablen vorhanden, im zweiten Teil unserer Equilla-Reihe werden wir deren Beschreibung und Einsatz im Rahmen eines Handelssystems aber im Detail nachholen.
Kommen wir nun zum nächsten Programmteil. Hier dreht sich alles um die Berechnung. Im konkreten Beispiel muss also für jede Periode der Gleitende Durchschnitt berechnet werden. Dies wird bereits von der zuvor vorgestellten Funktion „AverageFC“ übernommen. Soll der errechnete Indikatorwert in visueller Form ausgegeben werden, bedarf es zum Abschluss nur noch eines passenden Befehls. Mit dem Ausdruck „DrawLine“ erhält die Software die Anweisung, eine Linie zu zeichnen. Dem aufmerksamen Leser dürfte an dieser Stelle nicht entgangen sein, dass der Einsatz von Komma und Semikolon eine wichtige Rolle beim Programmieren spielt. Grundsätzlich gilt: Bei der Festlegung von Inputs und Variablen kommt jeweils ein Komma zum Einsatz. Erst am Ende der letzten Anweisung muss allerdings ein
Semikolon verwendet werden, damit der Code im späteren Verlauf richtig übersetzt („kompiliert“) werden kann. In Tradesignal genügt zum Kompilieren die Betätigung der F7-Taste – den Rest macht die Software.
ÜBRIGENS:
Im eingangs erwähnten Equilla Editor werden Teile des Quellcodes entsprechend ihrer Funktionalität farblich hervorgehoben (z.B. „DrawLine“). Das verbessert einerseits die Lesbarkeit, andererseits hilft die optische Strukturierung bei der Suche nach Fehlern, die – falls vorhanden – im Editor automatisch mit dem genauen Zeilenhinweis angezeigt werden.
Sehr praktisch ist gerade für Neueinsteiger die Möglichkeit, die blau gedruckten Begriffe mit der rechten Maustaste anzuklicken, um detaillierte Informationen und Beispielanwendungen zu erhalten. Und auch während des Schreibens eines Codes geben kleine Hilfefenster wertvolle Tipps zur richtigen Verwendung eines Begriffs.

ABB. 4: FARBLICHE HERVORHEBUNG LIEFERT WEITERFÜHRENDE INFORMATIONEN.
Mit der rechten Maustaste lassen sich blau gefärbte Schlüsselwörter bequem nachschlagen.
DER ERSTE SCHRITT IST GETAN.
Alle Leser, die es bis hierher geschafft haben, haben den ersten Schritt zum Programmieren getan, Gratulation! Abbildung 5 fasst schematisch zusammen, aus welchen Bausteinen ein komplettes Handelssystem besteht und welche Rolle dabei Funktionen und Indikatoren für den Bau von Handelssystemen spielen.
Im nächsten Teil unserer Equilla-Serie erfahren Sie, wie aus dem hier vorgestelltem SMA-Indikator ein Handelssystem erstellt werden kann. Überschneidungen des Kurses mit dem Gleitenden Durchschnitt werden dabei zum Aufbau und zum Schließen von Long- bzw. Short-Positionen genutzt. Zudem werden wir auf die Bedeutung von sogenannten Schleifen innerhalb eines Equilla Codes eingehen und uns auch mit der Implementierung eines Stopps beschäftigen.

ABB. 5: SCHEMATISCHER AUFBAU EINES HANDELSSYSTEMS.
Das Zusammenspiel von Indikatoren / Mustern usw. und den jeweiligen Bedingungen, die bei Bedarf bestimmte Befehle aktivieren, ist die Basis eines regelbasierten Handelssystems.
Für Fragen rund um Tradesignal stehen wir Ihnen jederzeit gerne zur Verfügung. Wenn Sie noch kein Tradesignal-Kunde sind, stellen wir Ihnen auch gerne eine Testversion zur Verfügung.
Das war’s für heute. Take care, take profit und auf Wiedersehen.
(Markenrechtshinweis: EasyLanguage™ ist eine eingetragene Marke der TradeStation Technologies, Inc.)