使用XScript 讀出 6598 ABC-KY 在 20200824 的週 RSI6 資料是錯的

  •   69 
  • 最後發表   中實戶  2022 一月 04
中實戶 發文於   2022/01/01

//XScript 如下

value1 = xf_RSI("W",GetField("Close","W"),6);

value2 = xf_RSI("W",GetField("Close","W"),12);

if (date = 20200824) then

begin

print("------------------");

print("特殊日期", date);

Print("RSI6=", value1);

Print("RSI12=", value2);

Print("RSI6/RSI12=", (value1 / value2));

ret = 1;

end;

//---------------------------------

印出的結果如下,

------------------ 

特殊日期 20200824.000000 

RSI6= 7.865169 

RSI12= 50.235849 

RSI6/RSI12= 0.156565 

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

Hello 中實戶,

 

算出來的資訊有誤是因為RSI是一個需要前期運算值的指標,但6598的歷史資料長度不足以計算而導致。

舉例來說,您可以用2330.TW 2020/08/28 日頻率下計算出的跨週頻率RSI值與指標圖上 2020/08/24 週頻率下計算的RSI值比較,兩者會相同。

(若回測的話資料讀取筆數需設足,550筆以上會比較適合)

為什麼要用 8/28 的話則是因為XQ的日期時間是Bar開始的時間,所以週8/24 代表 8/24 ~ 8/28 的資料。

因此日頻率在8/28時運算出來的值才會是完整取得當週資料後得出的結果。

發表回覆
Close