關於陣列的小問題

  •   175 
  • 最後發表   CL  2023 十一月 29
CL 發文於   2023/11/26

不好意思 我不是程式工程師 還在摸索XS提供的一些腳本寫法

我試著修改Stochastic函數(稱它為Stochastic_Any,讓它能夠計算非價格陣列的KD,先不管我修改的函數是否正確,但是我把修改函數的第一個參數改成一個陣列,但是當我使用這個函數時出現了一個問題,想知道是哪裡出問題。

在修改的函數中第一個參數input我是寫:

input: object_array[X](numericArray)....

然後我試著在一個指標腳本中使用那個函數,指標腳本如下:

input:Length_short(23),Length_long(50),Avg_period(10);

Vars:macd_(0),i(0),high_(0),low_(0),K(0),D(0),STC(0);

Array:macd_array[](0),D_array[](0);

 

 value1=EMA(close,Length_short);

 value2=EMA(close,Length_long);

 macd_=value1-value2; //macd

 Array_SetMaxIndex(macd_array, Avg_period);

 for i=1 to Avg_period

  begin

   macd_array[i]=macd_[i-1];

  end;

Stochastic_Any(macd_array[Avg_period],Avg_period,3,3,value10,K,D);

但是編譯時下方出現 一個錯誤訊息:函數Stochastic_Any:第一個參數應該是Array。

所以我猜是不是我宣告macd_array和儲存其中數值的方式有錯?麻煩請指點一下,感謝!

 

 

XQ小幫手 發文於   2023/11/29

 Hello CL,

 

macd_array[Avg_period] 這樣會是單一數值。

由於函數需要的是陣列,所以您傳入函數的應該要是 macd_array。

若只需要其中某個位置的值,可以在函數裡面處理 (搭配另外傳入的指定位置參數)。

發表回覆
Close