請問我的程式(函數),編譯錯誤,錯在哪裡?

  •   309 
  • 最後發表   s927757  2024 五月 16
s927757 發文於   2024/05/14

Hi XQ 小編,

    請問我的程式(函數),編譯錯誤,錯在哪裡?

log file https://drive.google.com/file/d/1uhtgx2vRPrL10rTwVlWIWxc2MuWXTn0x/view?usp=sharing

// == 程式如下 ===

settotalBar(10);

variable:I(0);

I=0;

value1=absvalue(average(GetField("資本支出金額","Q"),3));

value2=absvalue(average(GetField("資本支出金額","Q"),8));

value3=summation(GetField("來自營運之現金流量","Q"),4)/summation(GetField("本期稅後淨利","Q"),4);

//==============================================================================

If GetField("營業收入淨額","Q")>GetField("營業收入淨額","Q")[4] then I+=1;//1

If GetField("營業收入淨額","Q")>GetField("營業收入淨額","Q")[1] then I+=1;//2

If GetField("稅前淨利","Q")>GetField("稅前淨利","Q")[1] then I+=1;//3

If GetField("營業毛利率","Q")>GetField("營業毛利率","Q")[4] then I+=1;//4 

If GetField("應收帳款週轉率(次)","Q")>GetField("應收帳款週轉率(次)","Q")[4] then I+=1; //5

If GetField("存貨週轉率(次)","Q")>GetField("存貨週轉率(次)","Q")[4] then I+=1; //6

If GetField("應收帳款週轉率(次)","Q")+GetField("存貨週轉率(次)","Q")

> GetField("應收帳款週轉率(次)","Q")[1]+GetField("存貨週轉率(次)","Q")[1] 

then I+=2; //7+8

If (GetField("負債比率","Q")<GetField("負債比率","Q")[1]) 

or (GetField("負債比率","Q")<GetField("負債比率","Q")[4]) 

then I+=1; //9

If GetField("來自營運之現金流量","Q")>GetField("來自營運之現金流量","Q")[1] 

and GetField("來自營運之現金流量","Q")>GetField("來自營運之現金流量","Q")[4] 

then I+=1; //10

If (GetField("來自營運之現金流量","Q")

+GetField("來自營運之現金流量","Q")[1]

+GetField("來自營運之現金流量","Q")[2])

>

(GetField("本期稅後淨利","Q")

+GetField("本期稅後淨利","Q")[1]

+GetField("本期稅後淨利","Q")[2]) 

then I+=1; //11

If value3>1 then I+=2; //12+13

If GetField("股東權益報酬率","Q")>GetField("股東權益報酬率","Q")[1] 

and GetField("股東權益報酬率","Q")>GetField("股東權益報酬率","Q")[4] 

then I+=1; //14

If value1>value2 then I+=1; //15

Call_LQ=I;

//=== END

XS小編 發文於   2024/05/16

 Hello s927757,

 

經相關人員確認,目前在函數腳本中使用報價欄位和資料/選股欄位有相同名稱,且指定頻率的話會發生錯誤。

您的狀況是 股東權益報酬率 這個欄位所造成,可以先改為 不加上頻率 (GetField("股東權益報酬率")) 或是英文 (GetField("ROE", "Q")) 的話即可編譯。

感謝。

發表回覆
Close