請協助看看我的選股"連n日漲跌幅小於2%"的程式錯在哪?挑不出股票很奇怪???

  •   89 
  • 最後發表   neverdie62  2022 六月 22
neverdie62 發文於   2022/06/13

inputs:length(5,"連續天數");

var:n(0),i(1);

array:numarray1[](0),numarray2[](0);

Array_SetMaxIndex(numarray1,length);

Array_SetMaxIndex(numarray2,length);

for i=1 to length begin

numarray1[i]=(getField("收盤價", "D")[i-1]-getField("收盤價", "D")[i])/getField("收盤價", "D")[i];//(c[i-1]-c[i])/c[i]

numarray2[i]=absvalue(numarray1[i]);

if numarray2[i]< 0.02 then n=n+1;

end;

if n=length then ret=1;

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

Hello neverdie62,

 

因為您的 n 會持續累積上去,所以每經過1根Bar就會累加過去n筆的資訊導致數量遠超於n。

可以參考資料讀取筆數的說明。

至於要如何修改,只需要在 for 迴圈前加上 n = 0; 即可,這樣每次計算的就會是近n根Bar 的資訊。

另外,您可以參考 trueall 函數,也可以使用 outputfield 函數來將數值輸出檢查。

neverdie62 發文於   2022/06/22

非常感謝您的回覆,謝謝!

發表回覆
Close