Shopping Cart

購物車內沒有任何商品。

TradingView 策略撰寫攻略!Pine 腳本從零開始|Pine Script入門教學(一)

想要使用 TradingView 自己寫策略,不得不了解的就是 Pine Script。透過 Pine Script 我們可以自定義自己想要的策略,並串接自動交易。本文要來帶大家入門 Pine 腳本,並了解 TradingView 的三大程式類別。

立即訂閱電子報,掌握最新資訊!

    稱呼

    電子郵件

    以下非必填,但若您願意分享,我們將能推送更精準的內容給您

    投資經驗

    是否為理工科背景、工程師或有寫程式的經驗?

    有興趣的主題
    量化交易台股期貨海外期貨虛擬貨幣美股

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQ

    想透過量化交易達成甚麼目的?
    不確定自動交易選股回測投資績效量化自己的投資方法想找現成的策略套用

    還有什麼想詢問的?

    零成本體驗TradingView台指期量化交易|全自動下單,小台微台也適用

    Pine Script 是什麼?

    Pine Script 俗稱「Pine 腳本」,是由 TradingView 所開發的程式語言,能夠讓量化交易者透過編寫程式,創建屬於自己的技術指標和交易策略,並能夠將其程式碼直接應用於 TradingView 的圖表。

    由於 TradingView 是一個專門用來做金融投資交易的應用程式,所以相較於市面上的程式語言,Pine Script 可以說是「專為交易而生」的程式語言。而作為 TradingView 的核心語言,Pine Script 的設計目標是讓每個使用者都能快速上手,無論是進行技術分析、設計自動化交易策略,還是開發進階的技術指標,它都能夠滿足需求。

    Pine Script 的特色有什麼?

    1. 整合編輯器

    Pine Script 本身已經整合寫程式語言最常使用的「VS Code」編輯器,所以用戶在編寫程式時,就不需要切換至不同的工具和環境,可以直接在 TradingView 平台中編寫、測試和運行代碼,大幅提升寫程式的效率。

    2. 無限的展示可能性

    Pine Script 有內建強大的圖形工具和視覺化效果,可以將使用者所編寫的程式,以更直覺、直觀的方式呈現出來。

    3. TV專屬社群

    對於剛接觸程式語言的使用者來說,最怕的就是沒有地方可以詢問,而 TradingView 本身有專屬的社群,對於正在學習 Pine Script 的用戶來說,社群能夠將這些同好聚集起來、互相交流,讓使用者的學習和交流變得更輕鬆。

    推薦閱讀】

    零成本體驗TradingView台指期量化交易|全自動下單,小台微台也適用

    如何開啟 Pine 編輯器

    點進 TradingView ,在搜尋欄位點擊任一商品,並且啟動圖表。進入商品頁面後,在下方找到 Pine 編輯器,就會跳出空白的編輯頁面,就是 coding 的部分。

    Pine Script 1014010313427

    Pine 編輯器開啟預設會是指標 (Indicator),可以在檔案名稱的右方(可參考下圖)點擊「^」-「+建立新的」找到 TradingView 的三大程式類別:指標、策略和腳本庫,關於這三個類別的說明與功用,我們下方來一一介紹。

    Pine Script 1014010313428

    Pine Script 的三大程式類別

    1. 指標 (Indicator)

    指標(Indicator) 是 Pine Script 中的基礎工具,透過「Plot」語法能夠在圖表上繪製可視化數據。然而,指標主要用於幫助分析者觀察市場趨勢和數據變化,無法進行回測和產生交易訊號。

    2. 策略 (Strategy)

    策略是我們量化通團隊在使用 Pine Script 時最常使用的類別,因為它不僅能夠繪圖,還支援回測績效和產生交易訊號。透過撰寫策略,使用者可以根據自己交易想法進行,設置進出場邏輯,並根據回測結果調整策略參數。

    3. 腳本庫 (Library)-高階用法

    腳本庫就類似於程式集,能夠將多個常用程式碼模組化,減少重複代碼的出現,適合管理多策略項目。

    不過腳本庫屬於進階的程式語法,對於初學者來說較不適用,可以暫時忽略。

    Pine Script 1014010313426

    Pine Script 的運作原理與架構

    程式碼運作原理

    Pine Script 的程式碼執行順序是由上而下、由左至右,每一行程式碼都會按順序執行,所以撰寫的時候要記得這個規則,不然可能會導致程式邏輯錯誤或無法達到預期結果。

    Pine Script 1014010313423

    「指標」和「策略」腳本預設之觸發計算條件

    而在 TradingView 中,「指標」跟「策略」預設的的觸發條件與重新計算方式,是有所不同的。

    「指標」預設為價格或交易量有變動,就會重新運算,適合即時更新的需求。那「策略」的話預設的條件是K棒確定收盤,才會計算這個策略,這樣可以避免產生幽靈單。

    不過兩者的觸發計算條件都是可以在程式碼或設定中調整,只是通常不建議手動修改,尤其是策略部分,因為這可能導致回測結果與實際運行的成果差很多。

    小結:觸發重新計算條件

    • 指標 (Indicator):指標在每次價格或交易量變動時都會重新計算,這代表著指標的值會隨時更新。
    • 策略 (Strategy):策略的計算通常發生在 K 棒收盤時,這樣可以避免重複訊號或不一致的回測結果。

    程式碼三個區域

    Pine Script 1014010313423

    可以參考上圖的範例看到,一段程式碼大致分成以下三個區域:

    1. 定義版本:Pine Script 的每段程式碼需要明確標註所使用的版本,例如目前最新的版本是 Version 5。
    2. 定義程式類型:根據上文所提到的三大類別,在撰寫 Pine Script 時,我們需要定義所撰寫的程式為「指標」、「策略」還是「腳本庫」。
    3. 指標策略程式碼:這個區塊基本上就是使用者根據自己需求所撰寫程式碼的地方。

    關於第1個「版本」和第2個部分「程式類型」,跟在使用 Pine Script 撰寫一段新的程式碼時,基本上系統都已經幫你預設好,使用者都不需要在自己寫。

    程式碼架構範例-以 MACD 為例

    接著我們使用 MACD 策略的程式碼範例,來詳細說明 Pine Script 的程式碼架構。

    Pine Script 1014010313425

    從上圖可以看到第 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 加密貨幣|量化交易全方位實戰】的課程內容,如果想要進一步學習課程內容,可以 點此連結 索取優惠!

    補充資訊 – 官方的 Pine Script 參考手冊

    TradingView 官方有提供 Pine Script 的參考手冊,如果不知道指定函數的使用和撰寫方法,官方的參考手冊都會有完整的範例和教學。

    Pine Script 1014010313422

    在參考手冊裡有詳細說明語法、參數,以及範例的程式碼,使用者可以直接將整段程式碼複製並貼上 TradingView 的 Pine 編輯器後就會完整顯示出來。

    最後,Pine Script 每年都會持續優化,並且在官網中都有完整的更新日誌 ,在我們撰文的當下是已經為「版本5(v5)」,之後官方有更新的話,我們也都會在 量化通LINE社群 通知。

    零成本體驗TradingView台指期量化交易|全自動下單,小台微台也適用


    加入LINE社群量化交易討論群」無壓力討論與分享!

    加入Discord 「量化交易討論群」即時獲取實用的資源!

    Write Together 101306261122
    Write Together 101306261121

    影片專區:TradingView指標/策略/腳本庫有什麼區別?

    讀文章太慢?試試有系統有效率的學習方式吧!

    量化通
    量化通

    量化通是個致力於全民量化金融教育的社群,我們希望透過由淺入深的內容,帶領大家以正確觀念來實踐自動化的金融投資研究分析。

    文章: 211

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *