時間回測問題

  •   196 
  • 最後發表   tdf118  2017 十月 12
tdf118 發文於   2017/10/12

請教

If DayOfWeek(Date) = 1 Then
Begin
    // 目前K棒資料日期是星期一
End;

ret = DayOfWeek(Date);

 

要怎麼使用這函數來回測

本週一開盤價買進  下週一收盤價賣出

 

 

XQ小幫手 發文於   2017/10/12

Hi tdf118,

小幫手有參考 xf_GetDTValue 函數當中,換週的程式碼,來判斷是否當天是否已經換週?

// 年度 * 100 + 周別, e.g. 201001, 表示是2010年的第一週
// 
value1 = Year(date) * 100 + WeekofYear(date);

// 每年的第一週需要判斷是否和去年的最後一週重疊
// 
if WeekofYear(DateAdd(date,"D", 1-DayofWeek(date))) = 53 then 
    value1 = Year(DateAdd(date,"D", 1-DayofWeek(date))) * 100 + WeekofYear(DateAdd(date,"D", 1-DayofWeek(date)));

print(date,value1);

 

這樣就可以做到,當天是否已經換週,若是,則就是代表當週的第一天,

 

不過,由於XS回測XS回測架構為:當天觸發訊號,隔日進場。 

故XS回測無法做到【下週一個收盤價賣出】

 

以上小小研究心得,提供參考,謝謝。

 

發表回覆
Close