- 登入
- 註冊
TradingView是功能齊全的看盤軟體,還不清楚的同學,可以看之前的介紹文章👉TradingView
Pine Script是一種特定於TradingView平台的腳本語言,可用於創建交易策略,指標和其他技術分析工具。以下是Pine Script的基本語法要素:
打開TradingView看盤畫面=>點擊Pine編輯器,就會出現以下畫面。
程式碼 | 說明 |
標點符號 | Pine Script鮮少使用標點符號,除了在三元運算子會使用問號 ? 及一般函數用來分隔參數的逗號 , ,預設為淺綠色。 |
數學公式 | 基本的 + – x÷ < > =,預設為淺綠色,還有math.sin、math.cos、math.tan…等,預設為藍色。 |
文字串 | 只要使用雙引號「“文字”」夾住的都是文字,預設為綠色。 |
介係詞 | Pine Script沒有介係詞可忽略。 |
宣告用的變數 | 內部變數(var)/外部變數(input):預設為淺綠色。 |
其他內建保留字 | 組成策略的基礎要素,在 Pine Script 中已經建立好常用的,內建字是無法被更改的,功能五花八門,日後我們會有文章介紹。內建字包含以下幾種: ( 1 )交易相關字(strategy.long、strategy.short(預設橘紅色)、Stop、Limit (預設白色)等)。 ( 2 ) K 棒相關字(Open、High、Low、Close等)預設橘紅色。 ( 3 )日期時間相關字(Year、Month、Date等)預設藍色。 ( 4 )其他保留字(plot、strategy.opentrades.entry_price等)預設藍色。 ( 5 )內建函數(math.avg、ta.bb等)預設藍色。 ( 6 )預設數值、布林變數預設橘紅色。 |
如果收盤價大於3均線,就在下一根K棒市價買入。
如果收盤價小於3均線,就在下一根K棒市價賣出。
當我們在撰寫程式碼的時候,需要先定義一些基本的資料,來讓電腦知道這個字串之後在程式裡面代表的意思,執行這個動作就叫作「宣告」,而拿來作宣告的程式碼就是內部變數var、 外部變數 input,可用來宣告的變數類型包含「數值」、「文字串」、「布林值」 。
一個交易策略可以用暴力法去撰寫,但會造成程式碼冗長,可讀性也會很低。如果善用變數,把常常需要計算的的數值儲存到我們設定好的變數當中,程式碼可以變得簡潔又容易維護修改。
例如:計算均線的程式碼為 ta.sma(close,5),在每次需要使用到均線的值都需要寫這麼長的程式碼,但我們可以定義一個變數叫做 MA,讓 MA= ta.sma(close,5) ,日後需要用到均線只需要使用 MA 這個字,整段程式碼會變得易讀輕便很多。
Pine Script的變數為 var,程式碼預設淺綠色。
一樣以上面的例子說明,在 var 之後空格給定變數名稱,並以等於「=」宣告要代入的初始預設值。後續只要提到 x 和 y 就會自動帶入宣告的 3。
外部變數為 input ,可以直接稱為參數。程式碼預設藍色。
input 和 var 撰寫的方式不同,要用「=」接著input.int宣告要代入的初始值 。兩者最主要的差別是 input 可以在 TV 看盤區域直接修改參數,不須進到 TV 的Pine編譯器內調整。
若我們要做參數最佳化,則需要將參數宣告成input,否則是var的話則無法跑參數最佳化。(BTW TV因為自身平台算力成本的問題,是沒辦法自動跑參數最佳化的)
把剛在pine編輯器內打好的策略=>點擊新增到圖表
變數的類型包含數值、文字串和布林值,以下一一說明。
數值包含正數、負數、小數、分數等等,上方的均線程式碼宣告的變數類型就是數值,預設橘色。
文字串必須要用 “文字” 夾住,預設為綠色。因為文字無法進行數學運算,大多使用在訊息傳達。
布林值為 True 與 False,預設橘紅色。 ,它是一個是非題,不是 True 就是 False。常用於像是判斷收盤價是否有大於均線,就是一個布林值的運用。