回測時能否設定當天只買進賣出一次

  •   570 
  • 最後發表   pon404  2022 一月 11
pon404 發文於   2021/04/27

請教小幫手,

回測時能否設定不管條件符合幾次,每支符合條件的股票在當天只買進賣出一次,

目前即使勾選最大同時進場次數=1,買進賣出後仍會再次買進。

有點類似開啟策略雷達時的觸發設定:啟動後只觸發一次

請問可以如何達成,謝謝。

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/04/28

Hello pon404,

 

您可以考慮設一個變數來控制當天的進場次數。例如說:

var: IntrabarPersist day_entry(0);

//如果換交易日的話則重置

if getfielddate("Date") <> getfielddate("Date")[1] then day_entry = 0;

 

if ...進場條件... and day_entry = 0 then begin

    ret = 1;

    day_entry += 1;

    end;

  • 按讚來自於
  • YYFrankLi0813
nana 發文於   2022/01/07

小幫手您好
與樓主有相同問題,因為希望在每個月六號買進同檔標的(程式碼如下)
但是回測結果卻不如預期,變成6號當天的每一分鐘都會進場買進
請問程式碼有那裡寫錯嗎?

謝謝

 

 

0xLzyun 發文於   2022/01/07

if dateofMonth(date)=6 and rr<>date then 

begin

   rr=date;

  setposition(position+1);

end;

把上面date<.date[1]那段刪掉,

我感覺RR用來記錄最後日期應該就可以正常。

 

 

XQ小幫手 發文於   2022/01/11

Hello nana,

 

小幫手猜測您應該是使用日頻率逐筆洗價,所以才會導致這樣。

日頻率下date一定不等於date[1]。

您可以參考 0xLzyun 的回覆,改為紀錄進場日期,並判斷同一日時不再進場。

或是將 date 和 date[1] 修改為 getfielddate("Date", "1") 和 getfielddate("Date", "1")[1],強制用1分鐘頻率的日期來作判斷。

 

感謝 0xLzyun 的熱心回覆。

發表回覆
Close