請教小編如何在日線取得~~月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最低");
這樣寫不知道哪邊有問題~是否可以幫我查看~謝謝
請教小編如何在日線取得~~月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最低");
這樣寫不知道哪邊有問題~是否可以幫我查看~謝謝
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");
1 評論