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

變數、運算子與註解

變數、算術、比較、邏輯運算子,以及如何留筆記給未來的自己。

初學閱讀時間約 5 分鐘初學 → 進階第 03 / 17 堂
在 TradingView 實際跑一次
三元選色,加上一個區間濾網

?: 運算子逐根挑選顏色。黃點標出區間大於平均值 2 倍的 K 線——試著改那個倍數。

//@version=5
indicator("Lesson 3 - Operators", overlay=true)

// Is this bar an up bar?
upBar = close > close[1]

// Ternary: green on up bars, red on down bars.
lineColor = upBar ? color.green : color.red

plot(close, "Close", color=lineColor, linewidth=2)

// Wide bars: range more than 2x the 20-bar average range.
avgRange = ta.sma(high - low, 20)
wideBar  = (high - low) > 2 * avgRange

plotshape(wideBar, "Wide bar", shape.circle, location.abovebar,
          color=color.yellow, size=size.tiny)
如何執行
  1. 1. 在 TradingView 打開任一圖表,點選下方的 Pine Editor
  2. 2. 把編輯器裡的內容全選,用這段程式覆蓋過去,然後按 Save
  3. 3. 點選 Add to chart。如果是策略, 再打開 Strategy Tester 分頁。

宣告變數

Pine 用 = 做指派。length = 14 建立一個整數變數。src = close 把收盤價序列指派給它。指派完之後,你可以在腳本的任何地方重複使用它們。

算術與比較

+-*/% 都如你所預期。比較運算子:==!=><>=<=。單一個 = 是指派;== 才是比較。

邏輯運算子

andornot 是關鍵字(不是 &&||!)。x and y 只在兩者都為真時為真。not (a > b) 在該比較為假時為真。

三元運算子

Pine 有一行版的 if/else:condition ? valueIfTrue : valueIfFalse。例如:plot(close > close[1] ? color.green : color.red) 會在上漲 K 線把線畫成綠色、下跌 K 線畫成紅色。

註解

// 開始一個單行註解。/* ... */ 是區塊註解。註解不只是給別人看的——Pine 也會把它們跑過整段圖表歷史。如果一行變得太長,把它斷成多行,並解釋你為什麼做了那個選擇。

變數作用域

宣告在腳本最頂層的變數是全域的。宣告在函式內的變數是區域的。Pine v5 還有 var,用來放會跨 K 線保留的狀態(我們在第三部分會大量用它來存放進出場狀態)。

你剛完成了什麼

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