- 登入
- 註冊
想要使用 TradingView 自己寫策略,不得不了解的就是 Pine Script。透過 Pine Script 我們可以自定義自己想要的策略,並串接自動交易。本文要來帶大家入門 Pine 腳本,並了解 TradingView 的三大程式類別。
Pine Script 俗稱「Pine 腳本」,是由 TradingView 所開發的程式語言,能夠讓量化交易者透過編寫程式,創建屬於自己的技術指標和交易策略,並能夠將其程式碼直接應用於 TradingView 的圖表。
由於 TradingView 是一個專門用來做金融投資交易的應用程式,所以相較於市面上的程式語言,Pine Script 可以說是「專為交易而生」的程式語言。而作為 TradingView 的核心語言,Pine Script 的設計目標是讓每個使用者都能快速上手,無論是進行技術分析、設計自動化交易策略,還是開發進階的技術指標,它都能夠滿足需求。
Pine Script 本身已經整合寫程式語言最常使用的「VS Code」編輯器,所以用戶在編寫程式時,就不需要切換至不同的工具和環境,可以直接在 TradingView 平台中編寫、測試和運行代碼,大幅提升寫程式的效率。
Pine Script 有內建強大的圖形工具和視覺化效果,可以將使用者所編寫的程式,以更直覺、直觀的方式呈現出來。
對於剛接觸程式語言的使用者來說,最怕的就是沒有地方可以詢問,而 TradingView 本身有專屬的社群,對於正在學習 Pine Script 的用戶來說,社群能夠將這些同好聚集起來、互相交流,讓使用者的學習和交流變得更輕鬆。
【推薦閱讀】
點進 TradingView ,在搜尋欄位點擊任一商品,並且啟動圖表。進入商品頁面後,在下方找到 Pine 編輯器,就會跳出空白的編輯頁面,就是 coding 的部分。
Pine 編輯器開啟預設會是指標 (Indicator),可以在檔案名稱的右方(可參考下圖)點擊「^」-「+建立新的」找到 TradingView 的三大程式類別:指標、策略和腳本庫,關於這三個類別的說明與功用,我們下方來一一介紹。
指標(Indicator) 是 Pine Script 中的基礎工具,透過「Plot」語法能夠在圖表上繪製可視化數據。然而,指標主要用於幫助分析者觀察市場趨勢和數據變化,無法進行回測和產生交易訊號。
策略是我們量化通團隊在使用 Pine Script 時最常使用的類別,因為它不僅能夠繪圖,還支援回測績效和產生交易訊號。透過撰寫策略,使用者可以根據自己交易想法進行,設置進出場邏輯,並根據回測結果調整策略參數。
腳本庫就類似於程式集,能夠將多個常用程式碼模組化,減少重複代碼的出現,適合管理多策略項目。
不過腳本庫屬於進階的程式語法,對於初學者來說較不適用,可以暫時忽略。
Pine Script 的程式碼執行順序是由上而下、由左至右,每一行程式碼都會按順序執行,所以撰寫的時候要記得這個規則,不然可能會導致程式邏輯錯誤或無法達到預期結果。
而在 TradingView 中,「指標」跟「策略」預設的的觸發條件與重新計算方式,是有所不同的。
「指標」預設為價格或交易量有變動,就會重新運算,適合即時更新的需求。那「策略」的話預設的條件是K棒確定收盤,才會計算這個策略,這樣可以避免產生幽靈單。
不過兩者的觸發計算條件都是可以在程式碼或設定中調整,只是通常不建議手動修改,尤其是策略部分,因為這可能導致回測結果與實際運行的成果差很多。
可以參考上圖的範例看到,一段程式碼大致分成以下三個區域:
關於第1個「版本」和第2個部分「程式類型」,跟在使用 Pine Script 撰寫一段新的程式碼時,基本上系統都已經幫你預設好,使用者都不需要在自己寫。
接著我們使用 MACD 策略的程式碼範例,來詳細說明 Pine Script 的程式碼架構。
從上圖可以看到第 1 行跟第 2 行就是在說明版本跟定義的程式類型,第 3 行開始到第 8 行為 MACD 策略的參數設定,第 9 行跟第 11 行則是定義了 MACD 的多空單進場,第 10 跟第 12 執行委託單,最後在第 13 行透過 Plot 繪圖。
第 1 行:定義程式碼版本,當前所使用的版本(v5)
第 2 行:我們所定義的程式類型(策略)
第 3 – 8 行:MACD 策略的參數設定
第 9 & 11 行:MACD 的進出場定義
第 10 &12 行:執行委託單
第 13 行:視覺化的繪圖設定
註:此範例為【TradingView x 台指期 x 加密貨幣|量化交易全方位實戰】的課程內容,如果想要進一步學習課程內容,可以 點此連結 索取優惠!
TradingView 官方有提供 Pine Script 的參考手冊,如果不知道指定函數的使用和撰寫方法,官方的參考手冊都會有完整的範例和教學。
在參考手冊裡有詳細說明語法、參數,以及範例的程式碼,使用者可以直接將整段程式碼複製並貼上 TradingView 的 Pine 編輯器後就會完整顯示出來。
最後,Pine Script 每年都會持續優化,並且在官網中都有完整的更新日誌 ,在我們撰文的當下是已經為「版本5(v5)」,之後官方有更新的話,我們也都會在 量化通LINE社群 通知。