Wie man einen variablen Wert in einem Alarm verwendet
Sie können spezielle Placeholders verwenden, um auf Variablenwerte in der alert’s-Meldung zuzugreifen. Beispielsweise können Sie einen Alert auf NASDAQ:AAPL erstellen und folgende Nachricht eingeben:
{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}
Wenn der Alarm ausgelöst wird, erhalten Sie die korrespondierenden Werte:
Folgende Placeholders sind derzeit verfügbar:
1. {{ticker}} - ticker des Symbols (AAPL, BTCUSD, etc.).
2. {{exchange}} - Börse des Symbols im Alarm (NASDAQ, NYSE, MOEX, etc). Beachten Sie, das bei verzögerten Symbolen die Endungen anders sein können “_DL” oder “_DLY”. Beispielsweise, “NYMEX_DL”.
3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - Korrespondierende Werte des Balkens / der Kerze, zu welchem der Alarm aus gelöst wurde. Beachten Sie, dass Alarme auf Indikatoren, Nicht-Standard-Charts und Zeichnungen von einer Auflösung abhängen, während einfache Preis-Alarme (z.B. Preisüberschreitungen) immer auf 1-Minuten-Balken berechnet werden. {{time}} ist im UTC, formatiert als yyyy-MM-ddTHH:mm:ssZ. Zum Beispiel, 2019-08-27T09:56:00Z. Andere Werte sind Festkommazahlen mit einem Dezimalpunkt, der ganze Zahlen und den Fragmente trennt. Beispielsweise, 1245.25.
4. {{timenow}} - aktuelle Zeit wenn der Alarm ausgelöst wird, fomatieret wie {{time}}. Rückgabewert auf die Sekunde, unabhängig von der Auflösung.
5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - entsprechende Werte eines in der Ausschreibung verwendeten Indikators. Achten Sie darauf, dass die Plots von Null an nummeriert werden. Die höchste Plot-ID ist 19 (Sie können nur auf 20 Werte zugreifen). Ausgabe-Werte sind die Werte eines Indikators, die Sie in einem Chart sehen können. Zum Beispiel hat der eingebaute Volumenindikator zwei Ausgabeserien: Volumen und Volumen MA. Sie können einen Alert darauf erstellen und in dem Nachrichtenfeld wie folgt eingeben:
Volume: {{plot_0}}, Volume average: {{plot_1}}
6. {{interval}} - gibt das Intervall (d.h. Zeitrahmen/Auflösung) des Charts zurück, in welchem der Alarm erstellt wird. Beachten Sie, dass dieser Placeholder aus technischen Gründen in einigen Fällen "1" anstelle des Zeitrahmens im Chart zurückgibt. Reguläre kursbasierte Alarme (mit Bedingungen wie "AAPL Crossing 120" oder "AMZN Greater Than 3600") basieren alle auf dem letzten Wert des Symbols, so dass der Zeitrahmen des Charts für den Alarm nicht relevant ist. Aus diesem Grund werden alle preisbasierten Alarme auf dem Zeitrahmen von 1m berechnet, und der Placeholder wird dementsprechend immer "1" zurückgeben. Darüber hinaus werden Range-Charts auch auf der Grundlage von 1m-Daten berechnet, so dass der Platzhalter {{interval}} bei allen Alarmen, die in einem Range-Chart erstellt werden, immer "1" zurückgibt. Bei Alarmen, die auf Zeichnungen und Indikatoren erstellt werden, funktioniert dieser Placeholder wie erwartet.
7. {{syminfo.currency}} – gibt den Währungscode des aktuellen Symbols zurück (“EUR”, “USD” usw.).
8. {{syminfo.basecurrency}} – gibt den Code der Basiswährung für das aktuelle Symbol zurück, wenn sich das Symbol auf ein Währungspaar bezieht. Wenn nicht, dann wird „NA“ zurückgegeben. Zum Beispiel: Es gibt “EUR” zurück, wenn das Symbol “EURUSD” ist.
Placeholders mit dem Präfix "strategy" können nur in Stategie-Alarmen verwendet werden:
- {{strategy.position_size}} - gibt den Wert desselben Keywords in Pine zurück, z.B. die Größe der aktuellen Position.
- {{strategy.order.action}} - gibt den String “buy” oder “sell” für die ausgeführte Order.
- {{strategy.order.contracts}} - gibt die Anzahl der Kontrakte der ausgeführten Order zurück.
- {{strategy.order.price}} - gibt den Preis, zu welchem die Order ausgeführt wurde, zurück.
- {{strategy.order.id}} - gibt die ID der ausgeführten Order zurück (den String der als erster Parameter in einem der function call verwendet wird, die Orders erzeugen: strategy.entry, strategy.exit oder strategy.order).
- {{strategy.order.comment}} - gibt den Kommentar der ausgeführten Order zurück (den String der im Kommentar-Parameter in einem der funtcion calls verwendet wird, die Orders erzeugen: strategy.entry, strategy.exit oder strategy.order). Wenn kein Kommentar angegeben wird, dann wird der Wert von strategy.order.id verwendet.
- {{strategy.order.alert_message}} - gibt den Wert des alert_message-Parameters zurück, der im Pine-Code der Strategie verwendet werden kann, wenn eine der Funktionen aufgerufen wird, mit denen Orders erstellt werden: strategy.entry, strategy.exit oder strategy.order. Diese Funktion wird nur in Pine v4 unterstützt.
- {{strategy.market_position}} - gibt die aktuelle Position der Strategie in Stringform zurück: "long", "flat" oder "short".
- {{strategy.market_position_size}} - gibt die Größe der aktuellen Position als absolute, nicht negative Zahl, zurück.
- {{strategy.prev_market_position}} - gibt die vorherige Position in Form von “long”, “flat”, or “short” zurück.
- {{strategy.prev_market_position_size}} - gibt die Größe der vorherigen Position als absolute, nicht negative Zahl,zurück.
Wenn der Alarm ausgelöst wird, sehen Sie die entsprechenden Werte:
Die gleichen Regeln gelten für in Pine geschriebene Skripte. Serien werden anhand ihrer Aufrufreihenfolge im Code gezählt. Siehe die Liste der Funktionen unten. Die Reihenfolgen können in Benachrichtigungsnachrichten verwendet werden:
- plot;
- plotshape;
- plotchar;
- plotarrow;
- plotbar;
- plotcandle.
Wenn das Argument solcher Funktionen einen booleschen Wert enthält, wird in der Alarm-Meldung 0 oder 1 ersetzt. Beachten Sie, dass bestimmte Funktionen - Plotcandle und Plotbar - jeweils 4 Reihen anzeigen, und jede von ihnen wird in der Nummerierungslogik berücksichtigt.
Allerdings ist diese Art des Zugriffs auf die Plots nicht immer bequem. Um die Dinge einfacher zu machen, haben wir Unterstützung für den Aufruf von Plots über deren Namen hinzugefügt. Verwenden Sie dazu den Platzhalter {{plot("Name")}}, wobei Name der Name der Serie ist.
Für eingebaute Indikatoren werden nur die Namen unterstützt, die in der englischen Version verwendet werden. In dem Beispiel mit dem Volumen Indikator, für den Zugriff auf Serien über deren Namen, würden Sie Folgendes in die Meldung aufnehmen:
Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}
Ähnlich sollten Sie für Pine Script den Namen aus dem Titelargument der entsprechenden Funktion angeben (wird für alle Plotfunktionen außer Plotcandle und Plotbar unterstützt), und die Sprache spielt keine Rolle mehr. Wenn Sie keinen Zugriff auf den Code haben, ist dieser in den Einstellungen unter Stil zu sehen.
Beispielsweise, um die Werte dieses Skripts auszulesen:
//@version=4
study("My script")
plot(close, title="series")
Geben Sie {{plot("series")}} in die Alarm-Nachricht ein.
Der selbe Name wird in den Skript-Einstellungen angezeigt:
Wenn Sie mehrere Indikatoren in einem einzigen Alarm verwenden, können Sie sich auf die Werte des ersten Indikators beziehen - denjenigen, die als erstes in der Dropdown-Liste angezeigt werden. Siehe Beispiel unten.
Wenn ein Alarm diese Einstellungen enthält, können Sie sich nur auf die MA-Werte beziehen. Um auf die Werte des Skripts "Mein Skript" zuzugreifen, müssen Sie es in der ersten Dropdown-Liste auswählen.
Sie können auch neue Platzhalter in der Nachricht als Alertcondition-Funktion angeben. Beispielsweise:
//@version=4
study("My script")
alertcondition(close>open, message="price {{ticker}} = {{close}}")
Die Meldung aus dem Argument wird automatisch in das Nachrichtenfenster des Alarm-Erstellungsdialogs gezogen.
Bitte beachten Sie, dass bei der Erstellung eines Alarms mit einer Bedingung aus der Funktion alertcondition die Wertsubstitution nur für v4-Skripte oder höher funktioniert.
Werte von bereits ausgelösten Alarmen können zusammen mit Webhooks verwendet werden, indem variable Werte aus einer Nachricht an die gewünschten Adressen gesendet werden. Oder durch die Verwendung von externen 3rd Party Apps wie TradingView Alerts to MT4/MT5, welche bereits die dynamische Werte Verwenden. Einige Syntax-Use-Cases sind in diesem Beispielskript zu finden:
https://www.tradingview.com/script/9MJO3AgE-TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING/. Dies eröffnet noch mehr Möglichkeiten für diejenigen unter Ihnen, die Alarme verwenden.