選股的數值落差

  •   147 
  • 最後發表   無情卻慈悲  2021 六月 25
無情卻慈悲 發文於   2021/06/20

HI,

我寫了一個簡單的選股,如下,

主要是要選中RSI往上突假53時的股票,

6/21執行,從6/18中選出來後發現沒有一支是符合,我列幾支選好的股出來

問題 :

有些股票並沒有符合前一日RSI20低於53但隔日大於53,

例如:

  • 台航 6/16:57.71
  • 台航 6/17:60.25
  • 台航 6/18:64.41

實際上台航應是在6/7就已符合條件了,但為何6/21選股時仍會被選出來?

還有裕民2606南帝2108也是(尚有數支),可否請小幫手解答一下原因與如何修正,感謝。

// XQ: RSI指標

input: Length1(20);

SetInputName(1, "天數一");

value20= RSI(Close, Length1);

//=====================================

//多

if value20[1] < 53  and  value20 > 53

and average(volume,5) > 1000

then begin

ret =1;

outputfield1("多","多空");

end;

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/06/22

Hello 無情卻慈悲,

 

RSI是會受資料長度影響的指標,小幫手猜測您應該是資料讀取長度不夠。

依您設的長度至少要180筆預讀資料筆數才夠。

另外您可以將運算出的 RSI值跟 平均成交量用 outputfield 或 print 出來檢驗看是否有問題。

附上選股中心匯出檔供您參考。

附加文件

無情卻慈悲 發文於   2021/06/22

您好,我想問一下為何至少要180筆才夠?

以後我寫新的選股時要怎樣設定應幾筆才夠呢?

XQ小幫手 發文於   2021/06/24

Hello 無情卻慈悲,

 

您可以參考內建選股腳本裡的 settotalbar 來決定。

舉例來說,RSI的內建選股腳本裡:

settotalbar(maxlist(ShortLength,LongLength,6) * 9);

而在您的腳本裡RSI的長度是 Length1(20),所以就會是 20 * 9 = 180。

您也可以用 settotalbar(maxlist(Length1, 6) * 9); 來取代。

無情卻慈悲 發文於   2021/06/25

非常感謝,我馬上試試

發表回覆
Close