小幫手好
最近開始使用選股中心以及策略雷達
我是作空,開盤價進場,收盤價出場。在回測某些選股當沖策略時,如果想要再加上一個當日是否進場的條件:即「選股中若開盤價高於5%,則不進場」,請問這部分要怎麼設定?是要連結到策略雷達嗎,若是的話想請教一下語法要怎麼寫呢,謝謝~
小幫手好
最近開始使用選股中心以及策略雷達
我是作空,開盤價進場,收盤價出場。在回測某些選股當沖策略時,如果想要再加上一個當日是否進場的條件:即「選股中若開盤價高於5%,則不進場」,請問這部分要怎麼設定?是要連結到策略雷達嗎,若是的話想請教一下語法要怎麼寫呢,謝謝~
謝謝小幫手,我的意思是比如我今天用了某一個策略選股,然後想回測這個選股隔日當沖放空的績效
進場價格選「下一期開盤價」,出場價格選「當期收盤價」,最大持有時間設定「1期」
但是這種條件選出來的個股,隔天不管開多高,系統都還是會用開盤價進場,收盤價出場,比較不符合現實情況(因為通常當天如果開太高,是不會進場放空的)
所以我選股跑出來後,主要是想從回測結果中,刪去當天實際開太高的樣本
但現在卡在不知道怎麼做到這件事~
我這樣做不知道對不對
1.先在XS編輯新增一個警示XS語法,輸入
condition1 = open <= close[1] * 1.05; //開盤價小於等於前日收盤價的1.05倍
if condition1 then ret = 1;
然後按存檔及編譯,並加入策略雷達
2.開啟策略雷達,然後在這個警示的屬性設定中,選「K棒內單次觸發」、頻率選「日」,資料讀取選「1000」筆(這個不確定)
執行商品選「選股」->「我的策略」
3.在這個策略雷達右鍵選回測近6個月,頻率選「日」,進場設定選「模擬逐筆洗價」,進場價格選「下一期開盤價」,出場價格選「當期收盤價」,最大持有時間設定「1期」,停損選5%
這樣去回測是會測到我想測的東西嗎?
謝謝小幫手回覆,我這樣寫不知道對不對:
1.進場「警示」語法:
condition1 = open <= close[1] * 1.04; //開盤價小於等於前日收盤價的1.04倍
condition2 = time <= 090059; //只判定開盤第一根K棒
if condition1 and condition2 then ret = 1;
2.出場「警示」語法:
if time > 132800 then ret = 1;//尾盤出場
使用策略雷達功能的回測
其他設定如附圖


這樣的話就像小幫手講的,進場會變成開盤第一根1分K的收盤價,但可以用尾盤價出場
資料讀取選1或2應就可以?因為判定第一根時,我只需要前一天收盤價,也就是9點第一根K棒的「上一根1分K」
這樣子的設定可以達到我要的目的嗎~還是有什麼問題
因為我試了一下這個條件和用選股中心的回測功能,發現回測近2年,樣本數都3千多次交易,但只差了6次?
覺得有點奇怪,不知道是不是哪裡有問題
謝謝您!
Hello Tofu,
您這樣寫跟設定沒有問題,須注意XQ的 time 回傳的是Bar開始的時間,所以目前不會有秒數。(沒有秒頻率)
資料讀取筆數這樣設定沒有問題。
小幫手認為有差距可能是暫緩開盤的股票造成的,因為 condition2 只會在090000這根Bar作判斷。
您可以實際比對回測報表中兩邊成交商品差異即可確認。
6 評論