如何在回測時,篩選股票跟進場下單時間分開

  •   99 
  • 最後發表   qwer950095  2023 十一月 08
qwer950095 發文於   2023/11/05

請教一下:

我現在想要用一個回測程式做出以下動作

假設我要在特定時段9:00~9:15時用特定條件篩選紀錄股票(例如漲幅在0~7.5%內或五價量表總委賣 >= 100 張)

並且在特定時段10:00~10:30進行買進賣出判斷(例如1分k收盤價超過布林軌道上軌)

我希望在篩選跟進場時間點不一樣,請問能否在程式內先記錄起來?

以下是我寫的範例,我用value1當作已篩選好的股票,但回測出來都無結果

 

if time > 090000 and time <091000 and getPriceChangeRatio() >0 and getPriceChangeRatio() < 7.5 then

value1 = 1;

//在9:00~9:10內,股價漲幅在0~7.5%內時,value1為1

if time > 100000 and time <103000 and getfield("close","1") >bollingerBand(close,20,2) and value1 =1  then

ret = 1;

//在10:00~10:30,1分k收盤價大於布林軌道上軌且value1為1時,下單進場

 

XQ小幫手 發文於   2023/11/08

Hello qwer950095,

 

您的想法是正確的,建議可以將條件使用的相關數值print出來確認。

需注意 value1 在每日開始時應該要歸0,以及 time 如果是在日頻率的狀況下回傳的數值會是0。

另外若使用的頻率大於判斷區間的話,就算用逐筆洗價變數也不會保存中間變化的數值,需要另外宣告 intrabarpersist 變數。

細節可以參考 intrabarpersist 的說明。

 

如果還是有問題的話,麻煩提供 XS腳本匯出檔 (包含使用的函數腳本)、回測設定 (截圖或回測報告皆可) 以及 XQ Log 來檢驗。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

  • 按讚來自於
  • qwer950095
發表回覆
Close