請問如果我今天想要在標的進場後十個工作天出場,那正確的出場日期該如何取得呢?
我目前爬文有查到DayOfWeek可以判斷出周六周日來避開,但國定假日似乎沒有找到可以判斷的方法
想請問是否有其他語法可以解決這個問題,感謝!
請問如果我今天想要在標的進場後十個工作天出場,那正確的出場日期該如何取得呢?
我目前爬文有查到DayOfWeek可以判斷出周六周日來避開,但國定假日似乎沒有找到可以判斷的方法
想請問是否有其他語法可以解決這個問題,感謝!
Hello 傳聖,
就小幫手來說應該是沒有簡單的作法能夠辦到,需要自行將假日寫入腳本中作判斷。
但如果是反向作法的話可以辦到。
舉例來說,當 getfield("Date", "D")[10] = 進場日期 的時候,那麼當下的 getfield("Date", "D") 就會是進場後的10個工作天。
好的,感謝您的回覆!
如果用這個思維呢?是否可以判斷出來。
//當商品有下單成功數用變數記錄當日的日期 var:positionDate(0); positionDate = 20250114 ; //假設記錄到的是這個日期 For i = 1 to 20 Begin value1 = DateAdd(positionDate, "D", i); value2 = GetBarOffset(value1,090000) ; if value2 <>0 then value2+= 1 ; if value2 = 10 then Print("這是第10個交易日"); End;
//策略部位設定為延續前次執行,若有進場,日期會被記錄。用FilledEntryDate可抓到該日期。
if isLastBar then
begin
value1=getBarOffset(FilledEntryDate);
if value1>=10 then ret=1;
end;
Hello 無情卻慈悲,
您的作法一樣是透過反向的方式來判斷是否經過10個工作日。
因為GetBarOffset取未來值時會等於0。
可以使用 getfield("Date", "D")[10] = positionDate 或是參考 虎科大許教授 的作法會相對單純。
5 評論