如何在快訊中使用變數值?
您可以使用特定的佔位符來存取快訊裡的變數值。例如,您可以在 NASDAQ:AAPL 建立快訊並在訊息 (Message) 框裡輸入:

{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}
快訊觸發後,您會獲得相應的值:

以下是可用的佔位符列表:
1. {{ticker}} - 快訊中使用的品種代碼 (AAPL, BTCUSD等)。
2. {{exchange}} - 快訊中使用的品種的交易所名稱 (NASDAQ, NYSE, MOEX等)。請注意,延遲數據的品種,交易所名稱以“_DL” 或 “_DLY” 來結尾。例如,“NYMEX_DL”。
3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - 觸發快訊的K棒的相應值。請注意,指標、非標準圖表和圖形的快訊取決於時間周期,而簡單的價格快訊(例如,價格超過某個值)總是以1分鐘的K棒計算。{{time}}採用UTC時間,格式為yyyy-MM-ddTHH:mm:ssZ,例如2019-08-27T09:56:00Z。其他值以定點數表示,用小數點將整數和小數分開,例如1245.25。
4. {{timenow}} - 快訊的當前觸發時間,格式與{{time}}相同。無論時間周期如何,都將時間回傳至最接近的秒。
5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - 快訊中使用的指標的相應輸出系列。請注意,這些plot從0開始編號,最高的編號是19(您只能訪問20個第一個輸出序列)。輸出序列是您可以在圖表上看到的指標值,例如,內建的成交量指標有兩個輸出系列:“成交量” 和 “成交量MA”。您可以在其上建立快訊,並在訊息框中鍵入如下內容:
Volume: {{plot_0}}, Volume average: {{plot_1}}
6. {{interval}} - 傳回建立快訊的圖表的週期(即時間範圍/時間週期)。請注意,由於技術原因,在某些情況下,此佔位符將傳回「1」而不是圖表上的時間範圍。常規的基於價格的快訊(條件為“AAPL Crossing 120”或“AMZN Greater Than 3600”等)均基於商品的最後值,因此圖表的時間範圍與快訊無關。因此,所有基於價格的快訊實際上都是在100萬時間範圍內計算的,佔位符將始終相應地傳回「1」。此外,範圍圖表還基於1m資料計算,因此在範圍圖表上建立的任何快訊上,{{interval}}佔位符將始終傳回「1」。透過在圖面和指示器上建立快訊,該佔位符將如預期運作。
7. {{syminfo.currency}} - 傳回目前商品的貨幣代碼(如:EUR、USD等)。
8. {{syminfo.basecurrency}} - 如果商品引用貨幣對,則傳回目前商品的基礎貨幣代碼。否則,回傳na。例如:當符號為“EURUSD”時,它會傳回“EUR”。
具有“ strategy”前綴的佔位符只能在策略快訊中使用:
- {{strategy.position_size}} - 回傳Pine中相同關鍵字的值,即當前位置的大小。
- {{strategy.order.action}} - 為執行的訂單回傳字符串“buy”或“sell”。
- {{strategy.order.contracts}} - 回傳已執行訂單的合約數量。
- {{strategy.order.price}} - 回傳執行訂單的價格。
- {{strategy.order.id}} - 回傳已執行訂單的ID(在生成訂單的函數調用之一中用作第一個參數的字符串:strategy.entry,strategy.exit或strategy.order)。
- {{strategy.order.comment}} - 回傳已執行訂單的註釋(在生成訂單的函數調用之一中的comment參數中使用的字符串:strategy.entry、strategy.exit、或strategy.order)。如果未指定註釋,則將使用strategy.order.id的值。
- {{strategy.order.alert_message}} - 回傳alert_message參數的值,該參數可以在調用用於下訂單的函數之一時在策略的Pine代碼中使用:strategy.entry、strategy.exit、或strategy.order。在Pine v4及更高版本中。
- {{strategy.market_position}} - 以字符串形式回傳策略的當前位置:“long”、“flat”、或 “short”。
- {{strategy.market_position_size}} - 以絕對值(即非負數)的形式回傳當前倉位的大小。
- {{strategy.prev_market_position}} - 以字符串形式回傳策略的上一個位置:“long”、“flat”、或 “short”。
- {{strategy.prev_market_position_size}} - 以絕對值(即非負數)的形式回傳前一個倉位的大小。
快訊觸發後,您會看到相應的值:

相同的規則適用於用Pine編寫的腳本。 根據程式碼中調用順序對序列進行計數。請參閱下面的功能列表,它們的系列可用於通知訊息中:
- plot;
- plotshape;
- plotchar;
- plotarrow;
- plotbar;
- plotcandle.
除了使用佔位符{{plot_0}}、{{plot_1}}、... {{plot_19}}之外,還可以透過名稱來識別它們。為此,請使用佔位符 {{plot("Name")}},其中Name是系列的名稱。例如:對於plotarrow函數:
//@version=6
indicator('My script')
plotarrow(close, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40) , title = 'arrow')
將{{plot("arrow")}}新增到通知文字


對於plotcandle和plotbar函數,不支援按名稱訪問系列,因為每個函數顯示4個系列(開盤價、最高價、最低價和收盤價)。對於每個系列,您可以使用具有適當編號的佔位符。

對於內建指標,您只能使用帶有英文系列名稱的佔位符。例如:對於成交量指標:
成交量:{{plot("Volume")}}, 平均成交量:{{plot("Volume MA")}}

如果快訊中使用了多個指標,則只有第一個指標的值將被替換到{{plot}}佔位符中:

對於上面的範例,「My script1」指標中的系列值將替換為佔位符。若要顯示「My script2」指標的值,請在第一個下拉式選單中選擇它。
在alertcondition函數的訊息參數中,也可以指定佔位符。建立快訊時,此參數的值會自動填入快訊文字輸入框中。
//@version=6
indicator("alertcondition", overlay=true)
alertcondition(close >= open, title='Alert', message='"price {{ticker}} = {{close}}"!')

請注意,在使用alertcondition函數的條件建立快訊時,替換值功能僅在使用第四版(Pine v4)或更高版本編寫的腳本中有效。
透過webhook,觸發的快訊值可以與外部系統一起使用,將訊息中的變數值傳送到指定的位址。或者,您可以使用像TradingView Alerts to MT4/MT5這樣的第三方應用程序,它們已經實現了動態值的使用。此類語法用法的一些範例可以在該範例腳本中找到。這為使用快訊的用戶提供了更多的可能性。