使用 系統內建的 系統指標腳本:快速KD 隨機指標(指標) 改寫為選股腳本來選出fK9剛大於80三天,結果卻與K(9,3)的結果相同?

  •   59 
  • 最後發表   anpapa  2024 三月 05
anpapa 發文於   2024/02/25

以下是快速KD
input: Length(9), RSVt(3);
variable: rsv(0), k(0), _d(0);
SetInputName(1, "天數");
SetInputName(2, "RSVt權數");
Stochastic(Length, RSVt,3, rsv, k, _d);
 
if k > 80 
and k[1] > 80 
and k[2] > 80 
and k[3] < 80 
then ret = 1; 

 

以下是KD

 

input: Length1(9, "日天數"), RSVt1(3, "日RSVt權數"), Kt1(3, "日Kt權數");

 

variable: RSV1(0), k1(0), _d1(0), j1(0);

 

Stochastic(Length1, RSVt1, Kt1, RSV1, k1, _d1);

 

if k1 > 80 

and k1[1] > 80 

and k1[2] > 80 

and k1[3] < 80 

 

 

then ret = 1; 

 

 

排序方式: 標準 | 最新
XS小編 發文於   2024/02/27

Hello anpapa,

 

如果您仔細看快速KD的腳本,快速KD的K會是rsv,D則是k。

您的寫法會變成和原本的KD相同,上面的腳本應該是使用rsv當作條件。

 

另外KD是種會使用到前期運算值的指標,故資料讀取筆數要足夠計算出來的數值才會正確。

可參考內建的KD選股腳本 (SetTotalBar(maxlist(Length,6) * 3);)。

亦可以使用 outputfield 來將數值輸出確認。

anpapa 發文於   2024/03/01

快速KD的K會是rsv,D則是k。

但是系統裡面的   快速KD隨機指標  卻是如截圖,這樣正確嗎?

附加文件

XS小編 發文於   2024/03/05

Hello anpapa,

 

網站上有教學區,也有相關教學影片,建議您先閱覽該區文章影片會對XS語法的基礎和應用比較了解。

 

如果您仔細看系統內建的指標腳本的話,快速KD腳本的plot會是:

Plot1(rsv, "K(%)");

Plot2(k, "D(%)");

 

而KD腳本則會是:

Plot1(k, "K(%)");

Plot2(_d, "D(%)");

 

兩者的線都被命名為 K(%) 和 D(%),但一個畫的是 rsv 和 k ,另一個畫的則是 k 和 _d。

如同小編上面所說,快速KD的K會是rsv,D則是k,和KD (k 和 _d) 不同。

 

另外,KD是種需要用到前期運算值的指標,故需要設定足夠的資料讀取筆數才能運算出正確的數值。

以上面腳本所設定的數值來看的話,會需要最少27筆 (SetTotalBar(maxlist(Length,6) * 3);) 才能夠算出正確數值。

您可以使用 outputfield 在選股中輸出確認運算的數值。

發表回覆
Close