PowerLanguageEditor新增指標訊號教學-Multicharts程式交易從零開始(三)


追蹤量化通的粉絲專頁量化通QuantPass」即時獲取實用的資源!

MultiCharts 所使用的語言是 PowerLanguage,是一個語法簡單容易學習的程式語言。PowerLanguage Editor (簡稱PLE) 就是編輯這套語言的軟體。
任何策略都要先在PLE撰寫完成再編譯進 MultiCharts 中使用,PLE 也有很多內建的函數公式可以直接從選取使用,或是想要自己建立公式也可以在編輯區撰寫。

PowerLanguage Editor介紹 – 易懂程式碼撰寫器

步驟一:右鍵點選PowerLanguage Editor捷徑,確認以系統管理員身分開啟,開啟後的視窗分別會有四大區域,上方是功能選單,左方是程式碼編輯區,右方是公式/字典導覽區,下方是編譯說明/輸出/說明區。

PowerLanguage Editor基本介面介紹
PowerLanguage Editor 基本介面介紹

步驟二:設定PowerLanguage Editor中一個好用的基本功能,點選上方功能選單中的「工具」-「編輯選項」,在跳出視窗後點選「程式碼」,將「自動完成括弧」打勾,這樣再打出左括弧”(”,會自動補上右括弧”)”。

PowerLanguage Editor基本設定-自動完成括弧
PowerLanguage Editor 基本設定-自動完成括弧

步驟三:在 PowerLanguage Editor,函數是一個方便的套件包。下面示範如何建立一個函數,首先點選功能選單中的「檔案」-「開啟檔案」,跳出視窗中只需要勾選「函數」,找到「Average」之後點選確定。

在原本畫面的程式編譯碼區就會出現預設的程式碼,Average 時常被拿來計算均線,是一個很好用的函數。

PowerLanguage Editor建立函數-Average
PowerLanguage Editor 建立函數-Average
PowerLanguage Editor建立函數-Average-2
PowerLanguage Editor 建立函數-Average-2

Mc 101209091709
Mc 101209091709

一、建立指標 – 視覺化工具

指標是一個拿來視覺化的工具,建立好後可以在 Multicharts 的圖表中畫出數學運算的結果,比如均線、KD 指標、 MACD指標、等,用圖像的方式表達程式運算出來的所呈現的樣子。

步驟一:先點選功能選單中的「檔案」-「開新檔案」,跳出視窗中公式類型選擇「指標」,名稱可以自行輸入,這邊我們輸入「@MC1_3-3_plot」。

PowerLanguage Editor新增指標
PowerLanguage Editor 新增指標

步驟二:跳出的空白編輯區用「Plot1(數值)」畫出指標,輸入:

Plot1(Average(Close,3));

這個指標的意思是畫出一條三根收盤價的線,也就是 3均線(MA),最後按下「F3」編譯,在下方的出現「已成功編譯」就完成新增。

PowerLanguage Editor編輯指標
按下F3, 確認是否有成功編譯

二、新增訊號(一) – 交易訊號

MultiCharts 裡面的訊號就是所謂交易策略,是程式交易最重要的一個部分。交易訊號會在圖表中呈現買賣進場的位置、交易口數等資訊,並將交易的結果用箭頭或數字的方式標示出來。

步驟一:接著示範如何新增訊號,訊號是交易策略,在功能選單中的「檔案」-「開新檔案」,公式類型選擇「訊號」,名稱可以自行輸入,這邊我們輸入「@MC1_3-4_MAbuy」,示範一個穿越均線買進的策略,按下確定後同樣會出現空白編輯區。

PowerLanguage Editor新增訊號
PowerLanguage Editor新增訊號

步驟二:在空白編輯區輸入以下程式

if Close>Average(Close,3) then buy (“MA buy”) next bar at market;
if Close<Average(Close,3) then sell (“MA sell”) next bar at market;

程式碼第一行是指如果收盤價大於 3 均線,就在下一根K棒做買進,第二行是如果收盤價小於 3 均線,就在下一根K棒做市價賣出,就是一個穿越均線買進,跌破均線賣出的簡單策略。

最後同樣按下「F3」,確認下方出現「已成功編譯」就完成新增。

按下F3, 確認是否有成功編譯

三、新增訊號(二) – 交易訊號

步驟一:接著我們再示範另外一個訊號的新增,同樣在功能選單中的「檔案」-「開新檔案」,選擇「訊號」,名稱這邊我們輸入「@MC1_4-4_MAbuy」,按下確定後同樣會出現空白編輯區。

PowerLanguage Editor新增訊號

步驟二:在空白編輯區輸入:

input:x(3),y(3);
if Close>Average(Close,x) then buy(“MA buy”) next bar at market;
if Close<Average(Close,y) then sell (“MA sell”) next bar at market;

在原本的程式碼新增一段,可以直接複製,再將原本下方的 3 換成 x 跟 y。最後在打完程式碼後按下「F3」,下方出現「已成功編譯」就完成新增。

指標與訊號實際使用會在 這篇文章介紹喔!—Multicharts使用指標與訊號-Multicharts程式交易從零開始(五)

按下F3,確認是否有成功編譯

MultiCharts優惠整理!報價源與軟體折扣


量化通粉絲社群,一起討論程式交易!

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

加入臉書社團「程式交易 Taiwan」即時獲取實用的資源!

東尼 Tony
東尼 Tony

十年餘法人級投資經驗,曾任加密貨幣量化基金經理人與投資策略長、AI智能基金經理人、證券期貨商自營部操盤手,管理資金規模最高超過七億元。
熟悉各類金融商品操作與加密貨幣領域,在量化交易、指標設計、策略模組打造、投資組合配置,有著深厚的經驗。
為”智慧型基金投資系統”之專利創作人,多次受邀至各大學與企業擔任講師。

文章: 56

發佈留言

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