Jak używać wartości zmiennych w alertach
Możesz użyć specjalnych symboli zastępczych, aby uzyskać dostęp do wartości zmiennych w wiadomości alertu. Na przykład, możesz utworzyć alert dla NASDAQ:AAPL i wpisać w polu wiadomości:

{{exchange}}:{{ticker}}, cena = {{close}}, wolumen = {{volume}}
Po uruchomieniu alertu otrzymasz odpowiednie wartości:

Oto lista dostępnych symboli zastępczych:
1. {{ticker}} - symbol instrumentu użytego w alercie (np. AAPL, BTCUSD).
2. {{exchange}} - giełda symbolu użytego w alercie (np. NASDAQ, NYSE, CME). Dla opóźnionych symboli giełda będzie kończyć się na „_DL” lub „_DLY”. Na przykład „NYMEX_DL”.
3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - odpowiednie wartości świecy, na której został uruchomiony alert. Uwaga: alerty na wskaźnikach, niestandardowych wykresach i rysunkach zależą od interwału, podczas gdy proste alerty cenowe (np. cena przekraczająca określoną wartość) są zawsze obliczane na podstawie świec 1-minutowych. {{time}} jest w formacie UTC, np. 2019-08-27T09:56:00Z. Inne wartości są liczbami stałoprzecinkowymi z kropką dziesiętną, np. 1245.25.
4. {{timenow}} - aktualny czas uruchomienia alertu, sformatowany tak samo jak {{time}}. Zwraca czas z dokładnością do sekundy, niezależnie od interwału.
5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - odpowiednie serie wyjściowe wskaźnika użytego w alercie. Uwaga: serie są numerowane od zera. Maksymalny numer serii to 19 (możesz uzyskać dostęp tylko do pierwszych 20 serii wyjściowych). Serie wyjściowe to wartości wskaźnika widoczne na wykresie. Na przykład wbudowany wskaźnik wolumenu ma dwie serie wyjściowe: Wolumen i Średnia wolumenu. Możesz utworzyć alert i wpisać w polu wiadomości coś takiego:
Wolumen: {{plot_0}}, Średnia wolumenu: {{plot_1}}
6. {{interval}} - zwraca interwał (czyli timeframe/rozdzielczość) wykresu, na którym został utworzony alert. Uwaga: z przyczyn technicznych w niektórych przypadkach ten symbol zastępczy zwróci „1” zamiast timeframe’u wykresu. Proste alerty cenowe (z warunkami takimi jak „AAPL przekracza 120” lub „AMZN większe niż 3600”) są zawsze oparte na ostatniej wartości instrumentu, więc timeframe wykresu nie ma znaczenia dla alertu. Z tego powodu wszystkie alerty cenowe są obliczane na interwale 1-minutowym, a symbol zastępczy zawsze zwróci „1”. Dodatkowo, wykresy Range są również obliczane na podstawie danych 1-minutowych, więc symbol {{interval}} zawsze zwróci „1” dla każdego alertu utworzonego na wykresie Range. W przypadku alertów na rysunkach i wskaźnikach ten symbol zastępczy działa zgodnie z oczekiwaniami.
7. {{syminfo.currency}} - zwraca kod waluty bieżącego symbolu (np. „EUR”, „USD”).
8. {{syminfo.basecurrency}} - zwraca kod waluty bazowej bieżącego symbolu, jeśli symbol odnosi się do pary walutowej. W przeciwnym razie zwraca „na”. Na przykład zwróci „EUR”, gdy symbolem jest „EURUSD”.
Symbole zastępcze z prefiksem „strategy” mogą być używane tylko w alertach strategii:
- {{strategy.position_size}} - zwraca wartość odpowiadającą tej samej zmiennej w Pine, czyli rozmiar bieżącej pozycji.
- {{strategy.order.action}} - zwraca ciąg znaków „buy” lub „sell” dla wykonanego zlecenia.
- {{strategy.order.contracts}} - zwraca liczbę kontraktów wykonanego zlecenia.
- {{strategy.order.price}} - zwraca cenę, po której zlecenie zostało wykonane.
- {{strategy.order.id}} - zwraca ID wykonanego zlecenia (ciąg znaków używany jako pierwszy parametr w jednej z funkcji generujących zlecenia: strategy.entry, strategy.exit lub strategy.order).
- {{strategy.order.comment}} - zwraca komentarz wykonanego zlecenia (ciąg znaków używany w parametrze comment w jednej z funkcji generujących zlecenia: strategy.entry, strategy.exit lub strategy.order). Jeśli komentarz nie jest określony, zostanie użyta wartość strategy.order.id.
- {{strategy.order.alert_message}} - zwraca wartość parametru alert_message, który może być używany w kodzie Pine strategii podczas wywoływania jednej z funkcji generujących zlecenia: strategy.entry, strategy.exit lub strategy.order. Ta funkcja jest obsługiwana tylko w Pine w wersji 4 i wyższych.
- {{strategy.market_position}} - zwraca bieżącą pozycję strategii w formie ciągu znaków: „long”, „flat” lub „short”.
- {{strategy.market_position_size}} - zwraca rozmiar bieżącej pozycji jako wartość bezwzględną, czyli liczbę nieujemną.
- {{strategy.prev_market_position}} - zwraca poprzednią pozycję strategii w formie ciągu znaków: „long”, „flat” lub „short”.
- {{strategy.prev_market_position_size}} - zwraca rozmiar poprzedniej pozycji jako wartość bezwzględną, czyli liczbę nieujemną.
Po uruchomieniu alertu zobaczysz odpowiednie wartości:

Dla funkcji rysujących z skryptów napisanych w Pine Script:
- plot;
- plotshape;
- plotchar;
- plotarrow;
- plotbar;
- plotcandle.
oprócz używania symboli zastępczych {{plot_0}}, {{plot_1}}, ... {{plot_19}}, możliwe jest rozpoznanie ich po nazwie. W tym celu użyj symbolu zastępczego {{plot("Nazwa")}}, gdzie Nazwa to nazwa serii. Na przykład dla funkcji plotarrow:
//@version=6
indicator('Mój skrypt')
plotarrow(close, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40) , title = 'strzałka')
Dodaj {{plot("strzałka")}} do tekstu powiadomienia


Dla funkcji plotcandle i plotbar dostęp do serii po nazwie nie jest obsługiwany, ponieważ każda z tych funkcji wyświetla 4 serie (open, high, low i close). Dla każdej serii możesz użyć symbolu zastępczego z odpowiednim numerem.

Symbole zastępcze z nazwami serii można używać tylko w języku angielskim dla wbudowanych wskaźników. Na przykład dla wskaźnika wolumenu:
Wolumen: {{plot("Volume")}}, Średnia wolumenu: {{plot("Volume MA")}}

Jeśli w alercie jest używanych kilka wskaźników, tylko wartości z pierwszego wskaźnika zostaną podstawione do symboli zastępczych {{plot}}:

W powyższym przykładzie wartości serii z wskaźnika „Mój skrypt1” zostaną podstawione do symboli zastępczych. Aby wyświetlić wartości wskaźnika „Mój skrypt2”, wybierz go w pierwszym menu rozwijanym.
Symbole zastępcze można również określić w argumencie message funkcji alertcondition. Podczas tworzenia alertu wartość tego argumentu jest automatycznie wstawiana do pola tekstowego alertu.
//@version=6
indicator("alertcondition", overlay=true)
alertcondition(close >= open, title='Alert', message='"cena {{ticker}} = {{close}}"!')

Uwaga: podczas tworzenia alertu z warunkiem z funkcji alertcondition, podstawienie wartości będzie działać tylko w skryptach napisanych w wersji Pine v4 lub wyższej.
Wartości z uruchomionych alertów mogą być używane razem z webhookami, wysyłając wartości zmiennych z wiadomości na określone adresy. Można również korzystać z zewnętrznych aplikacji, takich jak TradingView Alerts to MT4/MT5, które już wykorzystują dynamiczne wartości. Przykłady użycia składni można znaleźć w tym przykładowym skrypcie. Otwiera to jeszcze więcej możliwości dla osób korzystających z alertów.