XS無論RSI或xf_RSI,計算出來的誤差大到疑似Bug

  •   162 
  • 最後發表   FrankLi  2021 四月 25
FrankLi 發文於   2021/04/17

今天寫了一隻跟RSI有關的程式時,

發現XS這邊提供的 RSI 或 xf_RSI 函式,

計算出來的RSI數字誤差大到疑似Bug,

與你們自己XQ看盤軟體算的也有很大出入。

 

XQ看盤軟體這邊看起來比較正確,

其技術分析RSI值 和 其他家看盤軟體都差不多,誤差<=0.02%,

可能要再麻煩小幫手確認,這是否為Bug,

或者我使用的方式錯誤呢??

謝謝

 

我的程式如下,以1432大魯閣為例:

(算6期顯示3期,所以bar我設10)

if symbol <> "1432.TW" then return;

SetBarFreq("D");  
SetTotalBar(10);
SetBackBar(10);

input: _T_Length(6, "期數");
//input: _T_Offset(0, "偏移");
var: _T_Freq("D");

OutputField(1, Date, "資料日");

OutputField(11, RSI(close[2], _T_Length), "RSI[2]");
OutputField(12, RSI(close[1], _T_Length), "RSI[1]");
OutputField(13, RSI(close[0], _T_Length), "RSI[0]");

OutputField(31, xf_RSI(_T_Freq, GetField("Close","D")[2], _T_Length), "xf_RSI[2]");
OutputField(32, xf_RSI(_T_Freq, GetField("Close","D")[1], _T_Length), "xf_RSI[1]");
OutputField(33, xf_RSI(_T_Freq, GetField("Close","D")[0], _T_Length), "xf_RSI[0]");

ret = 1;

 

 

 

 

排序方式: 標準 | 最新
FrankLi 發文於   2021/04/18

仔細研究 RSI 演算法後,看來不是Bug,

純綷因為 SetTotalBar 跑的長度太短,

經威爾德式平滑後誤差就會變的很大,

目前設為RSI期數的3~5倍,就比較準了.

 

XQ小幫手,方便請問你們XQ看盤軟體的RSI,

都是從上市櫃第1天K棒開始起跑算出的嗎 ?

若在XS腳本執行時,使用RSI時的 SetTotalBar 有建議設多長比較合適嗎?

 

XQ小幫手 發文於   2021/04/20

Hello FrankLi,

 

用在圖上的指標是使用圖上所有的值去計算。

另外,RSI的建議長度您可以參考原本內建的腳本設定。

例如 settotalbar(maxlist(Length1,Length2,6) * 8 + 8);

可以看出內建腳本是設為 最長RSI長度 * 8 + 8。

FrankLi 發文於   2021/04/25

後來依你說的參考內建腳本,我直接 * 9,

實測沒問題了,感謝

 

發表回覆
Close