函數summation與countIf疑問?

  •   150 
  • 最後發表   PaulXQ189  2024 三月 15
PaulXQ189 發文於   2024/03/05

請問如果我的最終目的是要做條件發生的計數,xscript的countIf函數可以使用,但如果我用summation就無法達到一樣的結果,舉例來說:

value1 = countIf((close cross over open[tuouDay]), tuouDay-1);
if (close cross over high[tuouDay]) and value1=1 then retval=1;

======以上是我想要的結果======

以summation函數撰寫改成:

if close cross over open[tuouDay]=true then SS=1;==>因為cross over的結果是布林,所以設定條件成立SS=1
SSS=SS+1;==>累計
if close cross over high[tuouDay] and summation(SSS,tuouDay-1)=2 then retval=1;==>summation第一個函數通常是開高收低,放入數值可以編譯成功,但不確定有沒有問題?

summation出來的結果,會比countIf來的少很多,但是全數都是countIf裡的結果。

想問它們之間有何差異?

 

XQ小幫手 發文於   2024/03/15

Hello, PaulXQ189.

XScript的CountIf是計算特定期間內符合某些條件的次數,

 

Summation是以最新一筆資料為基準點,輸入要計算的期數,然後計算過去期數的數值總和,

condition1 = close cross over high[tuouDay];

if condition1 then value1 = 1 else value1 = 0;

value2 = summation(value1, tuouDay-1);

if condition1 and value2=1 then retval=1;

小幫手將您的程式改成上述,

若與您設想不同,要麻煩您將演算法描述給小幫手,

謝謝。

發表回覆
Close