策略雷達回測限制次數疑問

  •   192 
  • 最後發表   傳聖  2022 八月 30
傳聖 發文於   2022/08/19

我想在策略雷達回測的時候,限制"每一檔"一天只能執行一次交易

目前在回測頁面中,只有"最大同時進場數",無法滿足上述需求

另外也有試著用Script控制次數,但測試結果出來是"所有標的總共只能執行X次交易"

不知道是否有甚麼語法,或是操作方式可以解決這個需求,再麻煩你們了,感謝!

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/08/23

Hello 傳聖,

 

小幫手不太確定您在腳本中是如何限制一天交易一次的,不過小幫手會這樣作:

var: intrabarpersist _date(0);

condition1 = 觸發條件;

if condition1 and _date <> date then begin

    ret = 1;

    _date = date;

    end;

這樣_date就會在每次進場時更新成當日的日期,確保當日不會重複進場。

需注意若有使用逐筆洗價的話,要使用 intrabarpersist 這樣變數的值才會在每次洗價中保存。

傳聖 發文於   2022/08/23

您好 :

首先感謝您的回覆,不過您的寫法應該是和我說的"一天只執行一次交易"的寫法是一樣的

但是我希望的是"每一檔"一天只執行一次交易,也就是說一天如果有100檔符合篩選條件的話,是會執行100次而不是一次

後來我是用陣列紀錄+迴圈強制寫入來解決這個問題,我只是想知道有沒有更簡單可以解決的方式,因為這寫法是土法煉鋼,效能有點差,感謝您

For i = 1 to 100

Begin

if StrArray[i] = "" then

begin

StrArray[i] = Symbol;

ReOrderChk = false;

break;

end

else if StrArray[i] = Symbol then

begin

ReOrderChk = true;

break;

end;

End;

if ReOrderChk = false then

ret = 1;

 

XQ小幫手 發文於   2022/08/30

Hello 傳聖,

 

策略裡每個商品的變數和運算都是獨立的。

所以小幫手的寫法就會是每個商品當日最多只交易一次。

不會發生您想的多檔商品結果總共只交易一次的狀況。

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