想自己開發一個程式交易策略,在GSnail中只要把你想法轉換成進出場條件就可以了!底下將逐步示範如何將一個策略想法轉成一個GSnail可執行的策略
策略想法
上圖為本文示範的策略想法,假設觀察到連續下跌創新低後的第一根紅K進場,看起來有機會反轉,想測試這樣的進場策略是否有效,出場策略則採用移動停利,當進場後發生由高點拉回20後出場,接下來將本文將逐步解說如何將這個策略想法轉成一個GSnail策略
新增策略
開啟GSnail 後在上方工具選單點擊[新增]按鈕,會開啟新增策略精靈
請把計算頻率改為分K計算(為了簡單判定紅K狀態),然後點擊[下一步]
設定交易模式可以設定策略要使用的商品,以及交易模式,標準設定是看大台交易小台(對新手而言小台的保證金較低),目前GSnail只提供台指(TXF)的歷史資料(小台由台指模擬),所以不用調整,直接點擊[下一步] 設定進場條件
設定進場條件
本策略的進場條件是抓"急跌創新低後的第一根紅K進場",要把這個策略想法轉成進場條件必須進行細節分解,首先急跌的定義是什麼?這邊定義成短時間(10分鐘)內指數跌超過50點,轉成條件就是[前10根中的最高點 - 前根最低 >= 50],另外還要判定前一根K棒是創新低和當根分K是紅K,底下為進場條件的分解說明圖
接下來請參考下圖步驟設定進場條件
1.點擊[多方條件]
2.在名稱輸入"下跌50點創低的紅K" (這邊輸入您容易理解的文字描述即可)
3.點擊[新增條件]
4.輸入前根創新低條件 [前根.低 == 前根.最低]
5.重複步驟3 點擊[新增條件]後 輸入[Max("高",Index-1,10) - 前根.最低 >= 50] (意思是 前10根中的最高 - 前根的最低 >= 50)
6.重複步驟3 點擊[新增條件]後 輸入[當根.K棒方向 > 0] (K棒方向>0 紅K ,K棒方向 < 0 綠K)
7.完成後點擊[下一步] 接著設定出場條件
設定出場條件
本策略是當沖策略,如果當日沒設定出場條件或未出場,會自動在出場時間出場(範例設定值13:25分),在本範例設計兩個出場條件分別停損50點和移動停利(拉回50點),請參考下圖步驟設定停損50點條件
1.點擊[多方條件]
2.在名稱輸入"停損50點"
3.點擊[新增條件]
4.設定停損條件內容 [損益點數 < -50]
接著參考下圖步驟設定移動停利條件
1.點擊[多方條件]
2.在名稱輸入"移動停利"
3.點擊[新增條件]
4.設定拉回20點條件 [場中高點 - 當根.收 > 20]
5.因為是停利條件,所以必須限定在獲利狀態下才算成立條件,否則在盤勢震盪下拉回20點非常容易洗出去 ,重複步驟3 點擊[新增條件]後 設定[損益 > 2000]
6.點擊[完成]後整個這個策略就開發完成了
測試策略績效
策略寫好後可以進行驗證,驗證前請確定策略編譯過(蟲蟲圖示變成),首先您可以點擊單日績效的按鈕測試看看指定日期(你可以挑選2021/04/20 本文擷取的日期)的進出場位置(程式右側的圖表會標記進出場點位)是否符合你的策略想法
接著,您可以回測過去一段時間來驗證這個策略的績效,例如點擊近期績效(近20天)的[驗證]按鈕,然後在程式的左下方畫面中可以切換頁籤檢視各種績效資訊
本文為了讓初學者了解如何開發一個策略,所以再介紹設定進出場條件部分步驟較為煩瑣,實際上開發一個新的策略,再新增過程可以先跳過設定進出場條件,之後在程式畫面中可以透或使用模組快速選用常用的進出場條件進來修改,或透過複製貼上的技巧快數建立出複雜的進出場條件
本文範例 策略教學1.gsc
下一篇 基本參數介紹