讓PowerLanguage告訴MultiCharts你的交易邏輯
MultiCharts的終極價值之一就是可以把我們的交易思維轉化成程式,再進一步回測績效並實現自動交易。腦子裡的交易點子變成交易策略有三個過程:
1. 先行整理、邏輯化、精確化。程式執行的基本架構就是「If …(條件) then..(動作)」,從這個角度把交易點子先行整理,最好可以用條列方式一一寫出來交易邏輯。
2. 把上述交易邏輯寫成PowerLanguage。PowerLanguage是MultiCharts專用語言,就好比要先學會英文才能跟美國人溝通,但先別被學新語言嚇到,所有語言都有一個共通特色,學會20%就足以應付80%的溝通需求!
3. 反覆修正。一個交易策略從發想到上線,往往是一個不斷循環修正的過程,交易想法、程式語言以及交易實務三者常是存在巨大落差,透過反覆修正縮小落差才能創造出一個可行的程式交易策略。
PowerLanguager Editor(也有人簡稱PLE)顧名思義就是編寫PowerLanguage的平台,我們在這裡紀錄、發表、實現然後反覆練習交易思維。在學PowerLanguage之前,我們就先來認識PowerLanguage Editor吧 !
認識PowerLanguage Editor作業環境
PowerLanguage Editor視窗有三個工作區:
- 程式編寫區:顧名思義是寫PowerLanguage這個語法的部分。
- 查詢區:可以查詢內建函式、保留字等相關說明與範例。有『公式』與『字典』兩個頁籤。
- 輸出區:有三個頁籤,『建置』顯示執行程式編議(Compile)結果;『輸出』則是當使用Prine語法時在此輸出其結果;『說明』為顯示查詢區查詢結果。

PowerLanguage Editor主要操作功能介紹
開新檔案(New)
檔案→開新檔案。在PowerLanguage Editor中程式類型分三種:

- 函數(Function):或稱函式。PowerLanguage Editor已有許多內建的函式,好比我們需要計算平均值,可以直接呼叫Average這個函式,不用每次需要計算平均值時就要再把整個計算均值語法寫一遍。同樣的,也可以把自己常用到的計算式或程式機制寫成函數,以便日後可以隨時呼叫取用。
- 指標(Indicator):如果厭倦了一般交易軟體內建的指標,可以自己寫獨門指標,無論是在K線上畫線、寫字、標記,甚或不同條件變換顏色(投顧老師最愛之”紅買綠賣”)等等,各式指標都可以自己寫。
- 訊號(Signal):在指標語法內加了買賣訊號(Buy、SellShort、Sell、BuytoCover)就可以執行程式交易,並回測績效與參數最佳化。
PowerLanguage已經內建有許多策略或指標,我們自己寫的會一起參雜(以字母排序),為了方便日後開啟舊檔能快速找到屬於自己寫的部分,建議在取名時開頭第一個字母可以用符號,例如:_my strategy、$my indicator等等。這樣在開啟舊檔時,自寫的部分會放在最前面。

開啟舊檔(Open)
檔案→開啟舊檔。除了打開之前寫過的程式語法,建議初學者可以多多參考內建指標或訊號的程式碼,從中進一步學到各種語法或交易概念撰寫的技巧。
編譯(Compile)
程式完成後要執行編譯(或按「F3」鍵),以檢查整個程式語法是否有誤。如下圖所示「成功編譯」代表程式正確編譯完成。(請注意,此處僅會檢查語法等一些基礎錯誤,成功編譯並不等同於程式最終正確)

如程式語法有誤,執行編譯會指出錯誤位置,如下圖所示:

加密(Protect)
工具→公式加密。特別是程式要匯出前可以加密,以保護自己的智慧財產。
匯出程式碼(Export)
檔案→匯出。程式碼可以封裝匯出成PLA檔案,以方便傳遞或存檔。
匯入程式碼(Import)
檔案→匯入。可接受匯入的檔案除了PLA檔,Tradestation專用的ELD檔也可以讀入。
快速結論
在往後寫程式的日子,我們會常常耗在PowerLanguage Editor上面,一回生二回熟,相信大家可以很快熟悉。接下來下一篇我們正式開始一步一步把我們的交易點子寫成PowerLanguage交易程式吧!