首頁 > 用交易程式,為自己開啟交易大門吧! > 第一次學Multicharts程式碼就上手-PowerLan...

第一次學Multicharts程式碼就上手-PowerLanguage語法教學(一)

Multicharts
Multicharts 教學
程式交易
程式交易軟體
觀念分享

Multicharts是一套可以全自動進行交易的程式交易軟體,它所使用的程式語言是一種很淺顯易懂的程式語法—PowerLanguage,對於初次接觸程式的人來說非常的好上手。

PowerLanguage 基本語法要素

Multicharts在執行程式交易之前,需要先在 PLE 編譯器上撰寫好程式碼,也就是把原先人為的交易想法轉化成電腦可以執行的程式語言。這樣程式才會依照預先輸入好的指令,在交易時段全自動進行交易,執行進場、出場、停損停利等動作。

就像每一種語言,都由不同的基本詞彙構成。而在 Multicharts的 PowerLanguage 當中,基本的程式碼分為以下幾種要素(在編譯器中為了讓使用者方便識別,預設會用不同的顏色呈現):

程式碼說明
1.標點符號 程式碼中通常會包含標點符號,絕大多數程式碼都是使用半形符號。舉個例子來說,在 PowerLanguage 要結束一行程式碼要使用分號「 ; 」,預設為黑色
2.數學公式基本的 + – x ÷,還有< > =,預設為黑色
3.文字串只要使用雙引號「“文字”」夾住的都是文字,預設為淺綠色
4.介係詞預設為紅色,很少使用可忽略。
5.宣告用的變數內部變數(variable)/外部變數(input):預設為藍色
6.其他內建保留字組成策略的基礎要素,在 PowerLanguage 中已經建立好常用的,內建字是無法被更改的,功能五花八門,日後我們會有文章介紹。內建字包含以下幾種:

( 1 )交易相關字( Buy、SellStopLimit 等):預設 藍色
( 2 ) K 棒相關字(OpenHighLowClose等):預設藍色
( 3 )日期時間相關字(YearMonthDate):預設藍色
( 4 )其餘保留字(plotentrypricetext_new等):預設藍色
( 5 )內建函數(AverageBollingerBand等):預設深紫色
( 6 )預設數值、布林變數(Value1~99Condition1~99):預設深紅色

以之前 PLE 教學文章的均線舉例:

內部變數(variable)/外部變數(input)

當我們在撰寫程式碼的時候,需要先定義一些基本的資料,來讓電腦知道這個字串之後在程式裡面代表的意思,執行這個動作就叫作「宣告」,而拿來作宣告的程式碼就是內部變數variable、 外部變數 input,可用來宣告的變數類型包含「數值」、「文字串」、「布林值」

一個交易策略可以用暴力法去撰寫,但會造成程式碼冗長,可讀性也會很低。如果善用變數,把常常需要計算的的數值儲存到我們設定好的變數當中,程式碼可以變得簡潔又容易維護修改。

例如:計算均線的程式碼為 Average(Close,5),在每次需要使用到均線的值都需要寫這麼長的程式碼,但我們可以定義一個變數叫做 MA,讓 MA= Average(Close,5) ,日後需要用到均線只需要使用 MA 這個字,整段程式碼會變得易讀輕便很多。

1. 內部變數 (variable)

PowerLanguage的變數為 variable,等同 var、vars 或 variables,程式碼預設淺紫色

一樣以上面的例子說明,在 var 之後給定變數名稱,並以小括號「()」宣告要代入的初始預設值。如果同時要宣告多的變數,就以逗號「 , 」區分開,最後用分號「 ; 」結尾。後續只要提到 x1 和 x2 就會自動帶入宣告的 3。var 只能在PLE編譯器內修改,不能作為參數最佳化。

2. 外部變數(input)

外部變數為 input ,等同 inputs,也可以直接稱為參數。程式碼預設為桃紅色

input 和 var 撰寫的方式一樣,用「()」宣告要代入的初始值 。唯一不同的地方是 input 可以在 MC 主程式直接修改參數,不須進到MC的PLE編譯器內調整。若我們要做參數最佳化,則需要將參數宣告成input,否則是var的話則無法跑參數最佳化。

3. 在 MC 圖表中修改參數

本篇文章的實作使用的程式碼建議先參考以下文章設定好喔~

Input 可以直接從圖表上修改,也能夠跑參數最佳化。調整的方式只要在 MC 圖表中,右鍵點選設定訊號,在跳出視窗中,可以看到中間有當初設定的參數。接著在點選右邊的「設定」,就可以在「參數」視窗修改數值!

4. 設定參數最佳化

同樣在圖表中右鍵,跳出視窗中選擇「最佳化」,再點選第一個的「定期最佳化」-「下一步」。

在最佳化設定中,我們這邊將最終值調整成 10,之後再點「最佳64組合方式」就會獲得參數「最佳化報告」。可以從 2D 和 3D 圖示中分析最佳的參數。

變數類型:數值、文字串、布林值

變數的類型包含數值、文字串和布林值,以下一一說明。

1. 數值

數值包含正數、負數、小數、分數等等,上方的均線程式碼宣告的變數類型就是數值,預設深藍色。 PowerLanguage也有已經內建好的變數 value1~value99,預設為深紅色,不用宣告就可直接使用。

2. 文字串

文字串必須要用 “文字” 夾住,預設為淺綠色。因為文字無法進行數學運算,大多使用在訊息傳達。

3. 布林值

布林值為 TrueFalse,預設深藍色。 ,它是一個是非題,不是 True 就是 False。和數值一樣也有內建的變數condition1~condition99,一樣不用宣告可以直接使用。像是判斷收盤價是否有大於均線,就是一個布林值的運用。


量化通粉絲社群,定期分享實用資源
✅加入LINE匿名群組量化通 QuantPass」無壓力討論與分享!
✅追蹤量化通的粉絲專頁量化通 QuantPass」,即時獲取的實用資源!

程式交易課程推薦
📣 Multicharts程式交易全系列線上課程-手把手開始用程式交易打造自己的被動收入!

發表迴響

作家資訊

十年經驗法人級操盤手
東尼

更多文章

?
我要提問