富邦HTS 4000程式交易策略教學(2)-買賣信號的邏輯?

最後更新日期:2023年08月02日

富邦HTS 4000程式交易策略教學(2)-買賣信號的邏輯?

在上一篇文章如何寫出第一支買賣信號,我們提到了一隻範例買賣信號,在這邊我們運用這隻買賣信號來解說語法的邏輯。

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

語法範例

param: 短MA參數(5),長MA參數(10)
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參數”=5、”長MA參數”=10,當下方遇到短MA參數時,就會帶入5這個數值;當下方遇到長MA參數時,就會帶入10這個數值,另外變數宣告也有個好處,就是之後可以拿來做”最佳化”,所謂最佳化就是詢問電腦哪一個數值最好。

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

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

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

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則代表結束這段條件判斷式。

接著我們要了解 buy next bar at market是什麼,在4000程式交易中,最常用的有以下四種,記住即可 :
buy next bar at market = 在下一根k棒新倉買入
sell next bar at market = 在下一根k棒新倉賣出
exitlong next bar at market = 在下一根k棒平倉賣出,也就是出清多單
exitshort next bar at market = 在下一根k棒平倉買進,也就是出清空單

而在buy、sell、exitlong、exitshort後面可以自行取名,例如(“多”)就會在前台顯示”多”這個字

整理一次,這個if condition1 then buy next bar at market end if,翻成中文就是:「如果條件1成立,然後就在下一根k棒新倉買入」

結果呈現

富邦HTS 4000程式交易策略教學(2)-買賣信號的邏輯?

結論

至此,你已經學會整個初階的程式交易邏輯了,接著你只要懂前面的內建函數有哪些,例如macd、kd、rsi怎麼寫、後面要平倉還是新倉,要買要賣,都可以自行套換。