返回《給 CFD 交易者的 TradingView PineScript》
第一部分

你的第一個指標:畫一條移動平均線

完整走一遍:從零開始寫、儲存、加到圖表,並調整一條簡單移動平均線。

初學閱讀時間約 8 分鐘初學 → 進階第 04 / 17 堂
在 TradingView 實際跑一次
兩條 SMA 加上一個趨勢底色

儲存 → 加到圖表。然後打開設定齒輪,拖動 Fast/Slow Length——線與底色都會即時反應。

//@version=5
indicator("Lesson 4 - SMA 20 + 50", overlay=true)

fastLen = input.int(20, "Fast Length", minval=1)
slowLen = input.int(50, "Slow Length", minval=1)

fast = ta.sma(close, fastLen)
slow = ta.sma(close, slowLen)

plot(fast, "Fast SMA", color=color.blue, linewidth=2)
plot(slow, "Slow SMA", color=color.orange, linewidth=2)

// Shade the background green while the fast MA is above the slow one.
bgcolor(fast > slow ? color.new(color.green, 90) : na)
如何執行
  1. 1. 在 TradingView 打開任一圖表,點選下方的 Pine Editor
  2. 2. 把編輯器裡的內容全選,用這段程式覆蓋過去,然後按 Save
  3. 3. 點選 Add to chart。如果是策略, 再打開 Strategy Tester 分頁。

我們要做什麼

一個兩行的指標,在圖表上疊一條 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

你剛完成了什麼

給 CFD 交易者的 TradingView PineScript》的第 04 / 17 堂課。跑完範例或讀完這段之後, 把它勾起來,然後進下一堂課。