for loop累加計算出了些問題

  •   402 
  • 最後發表   kevin0300068  2018 六月 21
kevin0300068 發文於   2018/06/20

小幫手您好,

這一段code在邏輯上不知道出了哪些問題,for loop累加的結果跟預期不符。

理論上sum1和sum2不是應該要一樣嗎?

不知道哪裡出了問題,謝謝。

array: y[12](0);
var: targ(0),anglee(0),m(0),b(0),k(0),x(0);
var: sum1(0),sum2(0),linee(0);

targ=GetField("每股稅後淨利(元)","Q");
linee=linearreg(targ,12,-1,m,anglee,b,k);

for x=1 to 12
 begin
  y[x]=k-m*x;
  sum1= sum1 + y[x];
 end;

 sum2=y[1]+y[2]+y[3]+y[4]+y[5]+y[6]+y[7]+y[8]+y[9]+y[10]+y[11]+y[12]; //sum1和sum2數值不一樣???


 if close>0 then ret=1;

outputfield(1,sum1,4,"sum1");
outputfield(2,sum2,4,"sum2");

 

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

Hi kevin0300068,

您好,因為XS選股執行時,每根K棒都會跑一次腳本,所以會有重複累加的問題,

故請加上以下程式碼範例,在最後一根K棒( 最新的K棒 )執行腳本即可,以上說明,供您參考,謝謝:

if gettotalbar <> currentbar then return;

 

kevin0300068 發文於   2018/06/21

可以了,謝謝小助手。

  • 按讚來自於
  • b24524658
發表回覆
Close