序列(series)資料型別
多數 Pine 的值都是序列——會逐根 K 線在整段圖表歷史上變化的值。當你寫 close,Pine 隱含地指涉圖表上每一根 K 線(過去與未來)的收盤價。當你寫 close - close[1],你得到的是每一根 K 線的逐根變化。
這是 Pine 裡最重要的一個概念。正是它讓你能寫 plot(close > close[1]),而不需要在 Python 裡迴圈跑過每一根 K 線。Pine 替你跑那個迴圈。
簡單型別:int、float、bool、string、color
Pine 有五個基本型別:int、float、bool、string、color。close 是一串 float 的序列。close > close[1] 回傳的是一串 bool 的序列。你傳給 plot 的是一串 color 的序列。
歷史參照:[1]、[2]、[n]
方括號是查過去的 K 線。close[1] 是一根 K 線前的收盤價。close[20] 是 20 根前的收盤價。close[0] 是目前這根(等同於 close)。讀取歷史是每一個指標的基本積木。
na:Pine 的「沒有值」
na 的意思是「沒有值」。一條 20 期移動平均線最前面 20 根是 na,因為那時候還沒有足夠的歷史。多數繪圖會優雅地處理 na,在圖上留白,但做數學時要小心——close + na 是 na,不是 close。
型別不合的錯誤
如果你寫 plot(close > close[1]),你不能把一個 bool 當成一條線來畫——Pine 會丟型別錯誤。要嘛轉成數字(plot(close > close[1] ? 1 : 0)),要嘛用 plotshape/plotchar 來畫布林值。
為什麼這很重要
你寫的每一支腳本都是一個在整段圖表歷史上的向量化運算。一旦想通這點,Pine 剩下的就只是語法。