請問如何在日線取得.月KDJ的55個月最低收盤價~謝謝

  •   117 
  • 最後發表   fangchih  2022 七月 21
fangchih 發文於   2022/07/17

請教小編如何在日線取得~~月KDJ的收盤價~J值收盤價55月最低~謝謝

J值=3K-2D

xf_Stochastic("M",9,3,3,value1,value2,value3); value4=value2*3-value3*2;//日周月J值
value11=xf_GetValue("M",lowest(value4,55),0);//月J55最低價
plot1(value11,"月J收盤價55最低");

這樣寫不知道哪邊有問題~是否可以幫我查看~謝謝

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

Hello fangchih,

 

xf_GetValue 的用法您可以參考說明。

lowest(value4,55) 這會是近55天月頻率的J值最低點,不是55月的J值最低點。

那麼用 xf_GetValue 取得的資料一樣還會是近55天的。

另外,當期的資料不論是月還是日都會是相同的。(因為就是當下的值)

小幫手會建議您可以試試看用迴圈將過去55個月的值拉出來比較,須注意若資料長度不夠的話會出問題。

舉例來說:

array: jseq[55](0);   //包存J值的陣列

 

xf_Stochastic("M",9,3,3,value1,value2,value3); 

value4=value2*3-value3*2;  //日周月J值

value5 = getfield("Date", "M");

 

if currentBar = 1200 then begin    //要有足夠筆數才計算

    for value5 = 1 to 55 begin

jseq[value5] = xf_getValue("M", value4, value5-1);   //將過去55筆月J值放入陣列

end;

    end

else if currentBar > 1200 then begin

    if value5 <> value5[1] then Array_Copy(jseq, 1, jseq, 2, 54);   //如果換月的話就移動陣列,把第56個月移出陣列

    jseq[1] = value4;    //更新最新J值

    end;

 

value10 = LowestArray(jseq,55);

 

plot1(value10,"月J收盤價55最低");

plot2(value4, "J");

發表回覆
Close