我寫程式時發現在迴圈內呼叫AverageFC函數,會有問題, 不知原因為何? 可否請能者告知原因, 程式碼節錄如下:
用LOOP寫往前取K棒收盤價得出的結果 跟 獨立寫的不同 (只有在第一根K棒會2者印出的值相同)
print("Start K Bar Test ----- barNO:( ",currentBar," )--------"); print (" -------- avg(5): ",Round(AverageFC( close[5],12),0));
winit= 0; while (winit < 6) begin print (" -----Loop --- avg[",winit,"]: ",Round(AverageFC(close[winit],12),0)); winit = winit + 1; end;
print (" -----1~5 --- avg[",0,"]: ",Round(AverageFC( close[0],12),0)); print (" -----1~5 --- avg[",1,"]: ",Round(AverageFC( close[1],12),0)); print (" -----1~5 --- avg[",2,"]: ",Round(AverageFC( close[2],12),0)); print (" -----1~5 --- avg[",3,"]: ",Round(AverageFC( close[3],12),0)); print (" -----1~5 --- avg[",4,"]: ",Round(AverageFC( close[4],12),0)); print (" -----1~5 --- avg[",5,"]: ",Round(AverageFC( close[5],12),0));
麻煩幫我解惑,或是有替代的寫法?(我要用LOOP取值) 謝謝大家
AverageFC 是用過去算出的值,去頭加尾法,有點類似KD的歷史循環使用法
但你卻把它當成動態長度,所以會有問題,若用Average 迴圈去"重新"抓過一次就不會有問題了
了解!! 謝謝您的回覆.