如何讓資料讀取範圍的第一根K棒是上市掛牌的日期

  •   141 
  • 最後發表   少少艾  2022 三月 07
少少艾 發文於   2022/03/06

你好,

以富邦金為例, 月線, 資料讀取長度500筆

我使用選股XScript

Vars:w(0),mRSI(0),x(0),g(0);

w = GetField("公司掛牌日期");

SetFirstBarDate(20011219);

mRSI = RSI(Close,4);

x = GetField("除權息日期","Y");

g = GetFirstBarDate();

print("date=",date, "公司掛牌日期=",w, "firstBarDate=",g, "mRSI=",mRSI, "除權息日期=", x);

這樣印log的時候,第一筆K棒是20020603, 因為第一次除權息日期是2002/06月,

有辦法第一筆K棒變成20011219嗎?

XQ小幫手 發文於   2022/03/07

Hello 少少艾,

 

這是因為 除權息日期 沒有更早的日期,所以會因此限制了腳本能執行的長度。

最簡單的方法是讓 x 和 mRSI 在過了一定期數再執行。

舉例來說:

Vars:w(0),mRSI(0),x(0),g(0);

if date > 20011219 then w = GetField("公司掛牌日期");

SetFirstBarDate(20011219);

if currentbar > 4 then mRSI = RSI(Close,4);

if date > 20020601 then x = GetField("除權息日期","Y");

g = GetFirstBarDate();

print("date=",date, "公司掛牌日期=",w, "firstBarDate=",g, "mRSI=",mRSI, "除權息日期=", x);

 

發表回覆
Close