TradingView腳本(Pine Script)與指標功能新手指南

TradingView腳本(Pine Script)與指標功能新手指南
文章目錄

本文面向 TradingView 新手,介紹如何使用 Pine Script 撰寫指標腳本。

涵蓋基本語法[版本宣告、indicator()/strategy()]、套用內建與社群指標、示例程式碼、策略回測操作,以及設定警報和自訂條件的方法,助您快速上手自動化交易分析。

via @QuantAniki

TradingView腳本(Pine Script)是什麼

Pine腳本是什麼?Pine Script 是 TradingView 的腳本語言,用來打造自訂指標與策略。指標用於視覺化分析;策略可進行歷史回測並模擬下單。

如何開始?

基本參考資料:

  • 用戶手冊 – 詳細的文件,描述了主要功能、程式語言的語法和結構、Pine 腳本、以及如何與社群腳本庫一起使用;
  • Pine腳本參考 – Pine 中可用的所有函數、變數和關鍵字的快速參考材料,以及如何使用每個函數的範例。您可以透過彈出視窗直接在編輯器中開啟我們的參考資料

TradingView 官方建立了一個簡化的章節,任何人都可以透過使用簡單的腳本範例來熟悉我們語言的結構,該腳本範例已分成幾個部分,以方便您使用。

快速開始:介面與流程

  1. 完成後可在「策略測試器」看績效,或在「警報」建立提醒。
  2. 打開任何商品圖表 → 下方點「Pine 編輯器」。
  3. 貼上腳本 → 按「新增到圖表」。
  4. 需要回測就用 strategy();只想顯示訊號就用 indicator()。
TradingView Pine 介面功能介紹/圖片取自市場先生
TradingView Pine 介面功能介紹/圖片取自市場先生

在圖表中套用指標

內建指標夠用、社群指標夠多,但別一次塞滿。建議先用 1~2 個趨勢類(如 MA/EMA)搭配 1 個動能類(如 RSI/MACD),把畫面保持乾淨;有需要再另存成模板,之後就能一鍵還原熟悉的配置。社群指標多半有說明與參數預設,先觀察它在不同週期與商品上的穩定度,再決定是否納入日常。

  • 內建指標:圖表上方「指標」→ 搜尋例如「RSI、MACD、Moving Average」。
  • 社群指標:在同一視窗搜尋關鍵字(如「Supertrend」),選取評價高、更新頻率高的腳本。
  • 小技巧:加入後可「儲存預設」與「另存模板」,一鍵套用常用組合。

入門語法速記

真正要記的其實不多:版本宣告、腳本類型、常用技術函式與繪圖/訊號 API。把 ta.sma/ta.rsi/ta.crossover 視為積木,先能組出「何時買、何時賣、畫在哪」三件事,你就進入門檻了。其餘像是顏色、字體、圖示大小,都是視覺強化,後面慢慢補即可。

  • 版本宣告://@version=6
  • 指標腳本:indicator("名稱", overlay=true/false)
  • 策略腳本:strategy("名稱", overlay=true/false)
  • 常用函式:ta.sma、ta.ema、ta.rsi、ta.crossover、ta.crossunder
  • 繪圖:plot();圖上圖示:plotshape()
  • 策略下單:strategy.entry()strategy.close()
  • 警報:alertcondition()(指標)、alert()(指標/策略)

標準內建函數

這些是您在 pine 腳本開發中會常用到的標準函數。大多數情況下,您傳入數據,然後系統會傳回結果值。

功能描述
sqrt(9)回傳數值的平方根。
log(5)回傳數值的對數。
round(54.23)將浮點數四捨五入為最接近整數(例:54.23 ⇒ 54)。
min(val1, val2, val3)回傳多個數值中的最小值。
max(val1, val2, val3)回傳多個數值中的最大值。
crossover(ema1,ema2)判斷於最新資料點是否上穿:若 ema1 上穿 ema2,回傳布林值 true(否則為 false)。
crossunder(ema1,ema2)判斷於最新資料點是否下穿:若 ema1 下穿 ema2,回傳 true。
cross(ema1,ema2)判斷於最新資料點是否發生任一方向的穿越(上穿或下穿),回傳 true/false。
valuewhen(crossover(slow, fast), close)當指定事件發生時(例:fast 上穿 slow),擷取當下的收盤價。
strategy.entry(“long”, strategy.long, 100, when=strategy.position_size <= 0)符合條件時建立多單,數量 100;此例僅在目前無持倉(部位 ≦ 0)時進場。
strategy.exit(“exit”, “long”, stop=stopLoss, limit=takeProfit)依設定的停損/停利價格條件出場指定部位。
label.new(bar_index, high, syminfo.ticker)在指定 K 棒索引與價格位置新增標籤,可顯示文字(如商品代碼)。
tokyoOpen = time(timeframe.period, “0000-0800”)依 UTC 定義的時段建立時間序列標記(此例為 00:00–08:00),用來辨識是否位於該時段。
bgcolor(na(tokyoOpen) ? na : color.green)依條件變更圖表背景色;在時段內塗綠,否則保持透明。
myColor = color(#800080,0)以十六進位建立自訂顏色(此例為紫色,透明度 0)。
teslaClose = security(“TSLA”, “D”, close)取得其他商品/時間框架資料(此例抓取 TSLA 日線收盤價),可用於相關性或 Beta 分析。
nz(ema1, ema2)以備用值取代空值;常用來把 NaN 轉為 0(或指定值)以清理序列。

TradingView腳本範例一:均線交叉「指標」買賣訊號

均線交叉是最直覺的趨勢入場法:快線上穿慢線代表動能轉強。實務上,建議把參數交給 input,你就能直接在圖上改 10/30、20/60 等組合,比用固定數字更好調整。訊號只做「提示」,不是強制進出;若要納入交易,務必搭配停損與風控。

(顯示訊號,不做回測)

 //@version=6
 indicator("簡單均線交叉", overlay=true)

 shortLen = input.int(10, "短期均線")
 longLen  = input.int(30, "長期均線")

 shortMA = ta.sma(close, shortLen)
 longMA  = ta.sma(close,  longLen)

 plot(shortMA, "短均", color=color.new(color.blue, 0))
 plot(longMA,  "長均", color=color.new(color.red,  0))

 buySignal  = ta.crossover(shortMA, longMA)
 sellSignal = ta.crossunder(shortMA, longMA)

 plotshape(buySignal,  title="買進",  style=shape.triangleup,   location=location.belowbar, color=color.green, size=size.tiny, text="BUY")
 plotshape(sellSignal, title="賣出", style=shape.triangledown, location=location.abovebar, color=color.red,   size=size.tiny, text="SELL")

 // 建立可用於「建立警報」的條件
 alertcondition(buySignal,  title="黃金交叉",  message="短均上穿長均")
 alertcondition(sellSignal, title="死亡交叉",  message="短均下穿長均")

※怎麼用:新增到圖表後,在圖表上方「警報」→ 條件選這個指標 → 選擇「黃金交叉 / 死亡交叉」。

TradingView腳本範例二:RSI 超買超賣訊號(指標)

RSI 對震盪盤特別有用,但在單邊趨勢容易「一直超買或一直超賣」。因此更好的做法,是把 RSI 與趨勢濾波合用:例如果價在長期均線之上,只做 RSI 超賣回到區間的多頭訊號。這樣能大幅減少逆勢訊號的干擾。

 //@version=6
 indicator("RSI 超買超賣", overlay=false)

 len = input.int(14, "RSI 週期")
 h   = input.int(70, "超買")
 l   = input.int(30, "超賣")

 r = ta.rsi(close, len)
 plot(r, "RSI", color=color.new(color.blue, 0))
 hline(h, "超買", color=color.new(color.red, 0))
 hline(l, "超賣", color=color.new(color.green, 0))

 buyCond  = ta.crossunder(r, l)
 sellCond = ta.crossover(r, h)

 plotshape(buyCond,  title="買進",  style=shape.triangleup,   location=location.belowbar, color=color.green, size=size.tiny, text="RSI<超賣")
 plotshape(sellCond, title="賣出", style=shape.triangledown, location=location.abovebar, color=color.red,   size=size.tiny, text="RSI>超買")

 alertcondition(buyCond,  "RSI 進場", "RSI 跌破超賣線")
 alertcondition(sellCond, "RSI 出場", "RSI 突破超買線")

把訊號做成「策略」並回測

當你把 indicator() 換成 strategy(),世界就不同了:每一次觸發都會變成一筆模擬交易,策略測試器會告訴你勝率、最大回撤、利潤因子等指標。不要被短期高勝率迷惑,先看最大回撤是否在可承受範圍、是否只有少數幾筆貢獻大部分獲利,以及在不同商品/週期是否仍有一致性。

 //@version=6
 strategy("均線交叉策略(回測版)", overlay=true, initial_capital=100000, commission_type=strategy.commission.percent, commission_value=0.05)

 shortLen = input.int(10, "短期均線")
 longLen  = input.int(30, "長期均線")

 shortMA = ta.sma(close, shortLen)
 longMA  = ta.sma(close, longLen)

 longEntry  = ta.crossover(shortMA, longMA)
 longExit   = ta.crossunder(shortMA, longMA)

 if (longEntry)
     strategy.entry("Long", strategy.long)

 if (longExit)
     strategy.close("Long")

 // 可用於警報(在建立警報時選「任何 alert() 函數呼叫」)
 if (longEntry)
     alert("均線黃金交叉 - 建倉條件觸發", alert.freq_once_per_bar_close)

回測步驟:

  1. 新增到圖表 → 開啟「策略測試器」。
  2. 檢視「概要、績效、交易清單」。
  3. 點策略設定(齒輪)可調參數,或在屬性加入滑點、手續費。
  4. 觀察淨利、最大回撤、勝率、利潤因子等指標。

建立警報

把條件變成警報,代表你把「盯盤」外包給系統。建議警報訊息使用關鍵字+數值(如:「MA Cross 多|收盤價=…」),收到推播時才能一眼判斷是否要行動。對策略類腳本,選「任何 alert() 函數呼叫」通常最彈性。

  • 指標腳本:用 alertcondition() 宣告條件 → 圖表上按「警報」→ 條件選你的指標與該條件 → 設通知方式與有效期限。
  • 策略腳本:在程式中呼叫 alert();建立警報時條件選「任何 alert() 函數呼叫」,或勾選策略的「訂單執行」事件。

常見錯誤與排查

九成問題源自三件事:版本宣告錯、overlay 設置不當、沒把條件用 alertcondition/alert 暴露給警報面板。若回測數據離譜,先檢查是不是用了非標準圖表(如 Heikin Ashi/ Renko),再確認是否有合理的滑點與手續費設定。

  • 新增到圖表沒反應:檢查第一行 //@version=6indicator()/strategy() 是否正確。
  • 指標疊不上主圖:把 overlay 設為 true
  • 警報按鈕無法選到條件:確認已在程式內使用 alertcondition()alert(),且腳本已加到圖表。
  • 回測數據怪異:先用標準 K 線,不用 Heikin Ashi、Renko 等非標準圖表;並設定合理的滑點/手續費。

結論

先用內建與社群指標熟悉介面,再用以上範例改參數、看回測、設警報。目標是建立「可重複、可驗證、可提醒」的分析流程;等習慣後再把策略模組化,持續迭代優化。

延伸閱讀:TradingView 中文教學:功能總覽、版本差異、安裝指南與進階技巧
XQ全球贏家看盤自由度最高,重視量化交易者首選
籌碼K線使用教學與方案比較|專業版破解好用嗎?
三竹股市教學與功能介紹:新手必備看盤軟體操作指南

有問題?想法?或需要協助?

股神God 團隊隨時準備好回應您的需求,無論是投資疑問、平台操作還是合作洽談,都歡迎您與我們聯繫。

聯絡我們股神God: 台股、美股、ETF、虛擬貨幣、黃金原油投資指南

你可能也喜歡