Signal Builder
Last updated
Last updated
Über den Signal Builder ist es möglich sehr komplexe Scans per Mausklick zu erstellen. Mit diesem Tool kann man ohne Programmierkenntnisse verschiedenste Komponenten miteinander kombinieren, die ansonsten von einem SystemEntwickler als selbst programmierte Indikatoren entwickelt hätten werden müssen.
Es gibt zwei Modi des Signal Builder:
Signal Builder: Einfacher Modus (simple mode): dieser Modus gehört zur Funktionalität der Basishandelsplattform. Der einfache Modus erlaubt logische-UND Verknüpfungen;
Signal Builder: Erweiterer Modus (advanced mode): wird ab der AgenaTrader++ plusplus Andromeda Version angeboten. Damit ist es möglich UND/ODER/XODER Verknüpfungen mit Klammerungen von logischen Vergleichen zu erstellen. Dies kommt einer echten Programmierung extrem nahe, ist aber bei Kenntnis der logischen Operatoren immer noch per Mausklick und ohne eigentliche Programmierkenntnisse möglich.
Um das Signal-Builder-Fenster zu öffnen, klicken Sie in der Hauptmenüleiste auf Tools -> Signal-Builder.
Zu jeder Condition kann man auswählen ob sie Long (Signal im Scanner grün) oder Short (Signal im Scanner rot) sein soll.
Darüber hinaus können Sie die Priorität für Ihre Bedingung auswählen. Die höhere Priorität bedeutet, dass die Bedingung zuerst angezeigt wird, laut den Bedingungen mit niedrigerer Priorität in Analyzer Spalte.
Weiter kann man definieren, ob man die Condition als Einstieg oder Stop verwenden möchte (Mehrfachselektion möglich). Dies legt fest in welchen Spalten im SetupBuilder (EntryEscorts, StopEscorts) die Conditions angezeigt werden.
Für eine bessere Übersicht kann eine Beschreibung zur jeweiligen Condition sowie eine Kategorie erstellt oder zugeordnet werden. Wenn eine Kategorie zugeordnet worden ist, ist die Condition zukünftig unter der jeweiligen Kategorie zu finden. Nicht kategorisierte Conditions sind unter "keine Kategorie" zu finden.
Conditions sind ähnlich wie Signal-Indikatoren zu betrachten, nur dass sie unterschiedliche Komponenten ineinander verschachteln können. Die Elemente können mittels Drag and Drop auf die gewünschte Fläche gezogen werden.
Um die Farben der einzelnen Features einzustellen, aktivieren Sie bitte die jeweilige Checkbox.
Spalte
Bedeutung
Pfeil (Arrow)
Ermöglicht die Einrichtung von Farbe und Größe des Pfeils (sichtbar, wenn Sie die Condition ins Chart legen)
Periode (Bar)
Farbe der Kerze (sichtbar, wenn Sie eine Condition ins Chart legen)
Text
Farbe des Textes unter Pfeil (sichtbar, wenn Sie Condition ins Chart legen)
Scanner
Farbe des Signals in Analyzer Spalte
Beispiel:
In der Box links oben befinden sich die Komponenten, die für einen Vergleich herangezogen werden können:
Datenserien: Open, High, Low, Close, Volume
Chart Toolbar: Indikatoren: ist eine Auswahl von Standard-Indikatoren
Programmierte Indikatoren: hier scheinen selbst programmierte Indikatoren auf
Conditions: dabei handelt es sich um komplexe Signal-Kombinationen unterschiedlicher Indikatoren, zusammengestellt im Signal Builder
Programmierte conditions: das sind selbst programmierte Signale
Cumulative Indexes: ist eine cumulative indexes
Wert: Werte mit denen verglichen werden kann
Simple Calculation
In den VergleichsBoxes (CompareBox1 und CompareBox2) können die Komponenten logisch miteinander verknüpft werden. Man kann z.B. Indikatoren mit Werten bzw. wiederum mit anderen Indikatoren vergleichen. Man kann die unterschiedlichen Komponenten in unterschiedlichsten Zeiteinheiten kombinieren. Z.B. RSI(14) 5Min größer als der RSI(10) 1Min.
Ob die Vergleiche schlussendlich Sinn machen, bleibt jedoch immer im Verantwortungsbereich des Anwenders.
Über den OperatorBar in der Mitte können die logischen Vergleichsoperatoren ausgewählt werden. Es gibt folgende Möglichkeiten:
Logischer Vergleichsoperator
Beispiel 1
Beispiel 2
Beispiel 3
">" größer als
2 > 1 richtig
3 > 3 falsch
"<" kleiner als
1 < 2 richtig
2 < 1 falsch
">=" größer gleich
2 >= 1 richtig
2 >= 2 richtig
"<=" kleiner gleich
1 <= 2 richtig
2 <= 1 falsch
2 <= 2 richtig
"==" ist gleich
2 == 2 richtig
2 == 3 falsch
"!=" ungleich
1 != 2 richtig
2 != 2 falsch
"cr-a": cross above (kreuzt nach oben). Bei diesem Vergleich ist gemeint, dass der Indikator, Preis, etc. den gegenüberliegenden Wert bzw. Komponente von unten nach oben kreuzt. "cr-b": cross below (kreuzt nach unten). Bei diesem Vergleich ist gemeint, dass der Indikator, Preis, etc. den gegenüberliegenden Wert bzw. Komponente von oben nach unten kreuzt.
Wählt man in einer der zwei Vergleichsboxen eine Vergleichskomponente aus, so kann man sie mit den Pfeiltasten nach oben oder unten verschieben bzw. beim Klick auf den Löschen Button aus der Box entfernen.
Wählt man in der Vergleichsbox1 oder in der Vergleichsbox2 eine Komponente aus, so werden die möglichen Parametereingaben in der ParameterBox angezeigt und können dort verändert werden.
Timeframe-Parameter Wählt man explizit eine Zeiteinheit aus, so wird diese dauerhaft in der Condition verwendet. Wählt man jedoch keine aus, so wird immer jene Zeiteinheit verwendet, die dem Anwendungsobjekt (z.B. Spalte im Scanner, Chart) zugrunde liegt.
Zusätzlich kann der User eine Condition erstellen, die während der festgelegten Zeitspanne aktiv wird. Zum Beispiel: Für eine Condition, die von 11:00 - 16:00 getriggert wird, sollte die Berechnung folgendermaßen aussehen:
Der BarTimeOfDay Wert zeigt die aktuelle Uhrzeit an.
Der Month Of Year Wert zeigt die aktuelle Monat an.
Zusätzlich kann der Benutzer eine Condition herstellen, die während des angegebenen Wochentages aktiv wird, z.B. eine Condition, die jeden Freitag ausgelöst wird.
Die Berechnung sollte wie folgt aussehen:
Der BarDayOfWeek Wert bezeichnet Balken des aktuellen Tages. Series und Output Values-Parameter Hat ein Indikator mehrere Linien, so kann man im Bereich Series festlegen, welche davon verwendet werden soll.
Es ist auch möglich, die folgenden WertTypen zu den Parameter zuzuordnen:
Type: Boolean -> Kann 'richtig' oder 'falsch' sein. Sie können diesen Wert nur mit dem anderen Booleanwert vergleichen.
Type: DateTime -> Dieser Typ beinhaltet Datum und Zeit. Sie können diesen Wert nur mit dem anderen DateTime-Wert vergleichen.
Type: Byte -> Die Zahl. Ganzzahl-Wert (siehe Wikipedia) zwischen 0 und 255. Sie können diesen Wert mit allen anderen Zahlen vergleichen.
Type: Double -> Die Zahl. Dezimalziffer (siehe Wikipedia). Sie können diesen Wert mit allen anderen Zahlen vergleichen.
Type: Single -> Die Zahl. Dezimalziffer. Es gibt den Unterschied zwischen Single- und Double-Präzision. Sie können diesen Wert mit allen anderen Zahlen vergleichen.
Type: SByte -> Die Zahl. Ganzzahl-Wert zwischen -127 und 127. Sie können diesen Wert mit allen anderen Zahlen vergleichen.
Type: Int32 -> Die Zahl. Ganzzahl-Wert zwischen -2147483648 und 2147483647. Sie können diesen Wert mit allen anderen Zahlen vergleichen.
Überprüfen button Verifiziert die Vergleiche nach programmier-syntaktischer Richtigkeit.
Übernehmen bzw. OK-Button Damit wird die Condition nach syntaktischer Richtigkeit verifiziert und gespeichert. OK schließt den Dialog.
Das Ergebnis einer Condition ist:
True (richtig): die Vergleiche treffen zu
False (falsch): die Vergleiche treffen nicht zu.
Will man die Condition speichern so muss ein Name vergeben werden.
Um einfache Berechnungen in einer Condition verwenden zu können, bietet der Signal Builder das Simple Calculation Pad. Im Signal-Builder ist eine einfache Kalkulation mit “C:” am Beginn gekennzeichnet.
Hier ist es möglich diverse Operanden (Indikatoren, Werte, Datenserien etc.) zu addieren, subtrahieren, multiplizieren oder dividieren.
Diese Funktionalität steht erst ab der AgenaTrader Version Andromeda zur Verfügung.
Neben dem Simple Calculation Pad bietet der Signal Builder auch das Advanced Calculation Pad, in welchem man zusätzlich (zu den vier Grundrechnungsarten) den Operator "%" (modulo) als auch Klammersetzungen für komplexere Verknüpfungen verwenden kann.
Im Signal-Builder ist eine erweiterte Kalkulation mit Advanced Calculation gekennzeichnet.
Einen kurzen Videobeitrag sehen Sie im Simple Calculation Video.
Im AdvancedMode (erweiterter Modus) hat man die Möglichkeit AND/OR/XOR Verknüpfungen mit Klammerungen von logischen Vergleichen zu erstellen. Dies kommt einer echten Programmierung extrem nahe, ist aber bei Kenntnis der logischen Operatoren immer noch per Mausklick und ohne eigentliche Programmierkenntnisse möglich.
Man kann vollkommen neue Conditions erstellen, bzw. bereits erstellte Conditions aus dem einfachen Modus überleiten.
Betätigt man mit dem Condition-Beispiel aus dem einfachen Modus den Advanced-Button, so präsentieren sich die VergleichsBoxen folgendermaßen:
Rechts von der VergleichsBox2 ist nun eine Verknüpfungs-Operatoren Leiste ersichtlich, aus der man folgende Auswahlmöglichkeiten hat:
Bedeutung der logischen Vergleichsoperatoren:
AND (UND) -> A und B
OR (ODER) -> A oder B oder beides
XOR (ENTWEDER ODER) -> entweder A oder B, aber nicht beides
Die VergleichsBoxen 1 und 2 bieten nun auch Klammerungen an:
Diese Condition könnte schlussendlich folgendermaßen aussehen und hat eine völlig andere Bedeutung als die Condition aus dem SimpleMode (ob sie jedoch auch Sinn macht, sei dahingestellt):
Einen kurzen Videobeitrag sehen Sie im Simple Calculation Video.
ie mit dem Signal Builder erstellten Bedingungen können folgendermaßen verwendet werden:
Scanner Spalte (in der Watchliste oder ListChart-Gruppe)
Setup Builder
Chart
Fügen Sie neue Conditions in die Scanner Spalte folgendermaßen ein:
Bei Rechtsklick in den Scanner wählen Spalten bearbeiten im Kontextmenü aus;
Finden Sie die Condition in der Liste und klicken Sie mit der linken Maustaste;
Drücken Sie den Neu-Button und bestätigen mit OK oder Bestätigen.
Trifft eine Condition zu, so wird:
bei einem Long Signal eine "1" grün hinterlegt ausgegeben;
bei einem Short Signal wird eine "1" rot hinterlegt ausgegeben.
Je nachdem ob eine Condition als Einstieg, Stop und/oder Target definiert wurde, wird sie im SetupBuilder in den jeweiligen Bereichen angezeigt.
Auf dem Chart (einzufügen über Indikatoren) wird eine Condition mittels "0" und "1" dargestellt:
Eine "0" besagt, dass die Condition nicht zutrifft;
Eine "1" besagt, dass die Condition zutrifft.
Ermittelt Signale, wenn der Preis sein 52-period high übersteigt.
Ermittelt Signale, wenn der Preis unter sein 52-period low fällt
Ermittelt steigende Kerzen mit großem Körper
Ermittelt fallende Kerzen mit großem Körper
Ermittelt steigende Kerzen mit mittlerem Körper
Ermittelt fallende Kerzen mit mittlerem Körper
Ermittelt steigende Kerzen mit kleinem Körper
Ermittelt fallende Kerzen mit mittlerem Körper
Preis bewegt sich außerhalb (unter) die Bollinger Bänder + RSI ist sehr niedrig (weniger als 30) + Long Three-Bar Reversal wird ermittelt
Preis bewegt sich außerhalb (über) die Bollinger Bänder + RSI ist sehr hoch (höher als 50) + Short Three-Bar Reversal wird ermittelt
Preis bewegt sich außerhalb (unter) die Bollinger Bänder + RSI ist sehr niedrig (weniger als 30) + LongReversalBar wird ermittelt
Preis bewegt sich außerhalb (über) die Bollinger Bänder + RSI ist sehr hoch (höher als 50) + ShortReversalBar wird ermittelt
Das Candle High ist über dem EMA34 und schließt unter EMA34
Das Candle High ist über dem EMA34 und schließt unter EMA34 + ungewöhnlich hohes Volumen
Ermittelt Down Gaps
Ermittelt Up Gaps
Das Candle High ist über dem Pivot Point (PP) und schließt unter dem PivotPoint (PP)
Das Candle High ist unter dem Pivot Point (PP) und schließt über dem PivotPoint (PP)
Ermittelt Charts, in denen der Preis nahe einem Widerstand ist (mit dem SupportResistanceArea Indikator)
Ermittelt Charts, in denen der Preis nahe einer Unterstützung ist (mit dem SupportResistanceArea indicator)
Ermittelt ungewöhnlich hohes Volumen
Ermittelt ungewöhnlich niedriges Volumen
Wählt man aus der Auswahl-Box aus, so erscheint gleich danach eine numerische Eingabemöglichkeit , wo definiert werden kann, innerhalb wievieler historischer Perioden der Vergleich zutreffen musste. Die Auswahl muss mit der Eingabetaste bestätigt werden. Der Vergleich im Beispiel ist dann richtig wenn der Schlusskurs in der 5 Min Zeiteinheit innhalb der letzten 2 Perioden den SMA(14) 5Min von unten nach oben geschnitten hat und über dem SMA(14) 5Min schließt.