富邦HTS 4000程式交易策略教學(4)-如何寫2條均線買賣信號?

最後更新日期:2024年06月21日

富邦HTS 4000程式交易策略教學(4)-如何寫2條均線買賣信號?

上一篇文章我們提到如何寫出一條均線的語法,接著觀看此文你將會學到:
1.一條均線大於小於另一條均線後進場的語法
2.兩條均線黃金交叉、死亡交叉後進場的語法

[單元簡介]
歡迎來到程式交易新手友善單元,HTS 4000是一套適合程式交易新手的免費軟體,做為初次上手十分平易近人、也很適合不花成本的驗證自己的操作邏輯,這個單元將提供完整教學,而軟體申請問題請聯絡營業員,索取教學懶人包需線上簽立顧問事業委任契約書,任何參數請客戶自行設定,不帶任何行情建議,這邊僅提供介面語法操做說明

語法範例-兩條均線

param: 短MA參數(10),長MA參數(20)
condition1=average(close,短MA參數) > average(close,長MA參數)
condition2=average(close,短MA參數) < average(close,長MA參數)
if condition1 then buy next bar at market end if
if condition2 then sell next bar at market end if

語法解釋

Param
Param為變數宣告,你可以自創變數,例如此處的意思是”短MA參數”=10、”長MA參數”=20,當下方遇到短MA參數時,就會帶入10這個數值;當下方遇到長MA參數時,就會帶入20這個數值,另外變數宣告也有個好處,就是之後可以拿來做”最佳化”,所謂最佳化就是詢問電腦哪一個數值最好。

condition1
condionxx為條件,後方加入一個”=”,就可以開始寫條件的內容

average(close,短MA參數)
average為內建的函數,只要後面照函數的作法寫入,就可以自動幫你運算,例如此函數架構為average(價格,數值),當你寫入average(close,10)意思就是10根k線計算成的均線,而之前我們有提到param已經將”短MA參數”宣告為10了,所以此處就是average(close,10)的意思

average(close,長MA參數)
average為內建的函數,只要後面照函數的作法寫入,就可以自動幫你運算,例如此函數架構為average(價格,數值),當你寫入average(close,20)意思就是20根k線計算成的均線,而之前我們有提到param已經將”長MA參數”宣告為20了,所以此處就是average(close,20)的意思

average(close,短MA參數) > average(close,長MA參數)
中間有個大於符號”>”,意思就是大於,也可以使用<、>=、<=,而這一串的中文意思就是10均線大於20均線

另一種寫法,向上穿越與向下穿越
特別注意,如果你要使用穿越而不是大於小於,那就要用cross over (向上穿越)、或cross under(向下穿越),舉例來說如果是要短均線向上穿越,那就寫average(close,短MA參數) cross over average(close,長MA參數),如此一來,只有在穿越的時候才條件成立。

if condition1 then buy next bar at market end if
在前面鋪墊了變數、條件後,我們要開始跟電腦溝通何時要買賣了,這邊要先了解整個條件判斷式:

if AAA then BBB end if

AAA代表的是條件、BBB代表的是動作,換句話說就是:如果AAA,然後就做BBB。
前面的if 後面接條件,你可以用”and”把條件串聯起來、或用”or”讓條件之一成立,例如if condition1 and condition5 then …….. end if,而後面的end if則代表結束這段條件判斷式。

因此這段的意思為當條件1成立,則買進在下一根k線

if condition2 then sell next bar at market end if
同理,這段的意思為當條件2成立,則賣出在下一根k線

結果呈現

富邦HTS 4000程式交易策略教學(4)-如何寫2條均線買賣信號?