我們要做什麼
一個兩行的指標,在圖表上疊一條 20 期簡單移動平均線。一旦這個能跑,你就證明了整條工具鏈——編輯器、儲存、加到圖表、調整參數。
程式碼
//@version=5
indicator("My first SMA", overlay=true)
length = input.int(20, "Length", minval=1)
plot(ta.sma(close, length))
逐行看
//@version=5——版本指示。沒有這行 Pine 也會預設 v5,但寫出來讓意圖明確。
indicator("My first SMA", overlay=true)——宣告這是一個指標(不是策略),並要求 TradingView 把它疊在價格圖上,而不是放進一個獨立窗格。
length = input.int(20, "Length", minval=1)——加入一個名為「Length」的整數輸入,預設 20、最小值 1。輸入會變成指標設定對話框裡的參數。
plot(ta.sma(close, length))——用內建 ta.sma 函式算出簡單移動平均線並畫出來。
執行它
點 Save(取任何名字),然後 Add to chart。你的 K 線上應該會出現一條藍線。打開指標設定(指標名稱旁的齒輪圖示),把 Length 改成 50,再改成 200——那條線應該會有反應。
加第二條線
我們用不同顏色加一條 50 期 SMA。完整腳本:
//@version=5
indicator("SMA 20 + 50", overlay=true)
fastLen = input.int(20, "Fast Length", minval=1)
slowLen = input.int(50, "Slow Length", minval=1)
plot(ta.sma(close, fastLen), color=color.blue, linewidth=2)
plot(ta.sma(close, slowLen), color=color.orange, linewidth=2)
該注意什麼
兩條線都是序列感知的——Pine 沒有在跑 K 線迴圈。當你改參數時,圖表會即時更新。如果圖表凍結,或編輯器頂端出現紅色錯誤訊息,那是你的語法有問題;錯誤會顯示在出問題那一行的上方。
常見的第一次錯誤
忘了 //@version=5 那一行。使用 input 卻沒指定型別(應該用 input.int)。把疊加與非疊加指標混在一起——如果你的圖跑進一個獨立窗格而你想要的是疊加,那就是忘了 overlay=true。