Xscript跟跑出來的結果不同?

  •   75 
  • 最後發表   BryantEnjoyLife  2020 十月 29
BryantEnjoyLife 發文於   2020/10/26

先上Code

------------------------------

variable:GrowMonthRate(0),GrowYearRate(0),EPS_4season(0);

GrowMonthRate = GetField("月營收年增率","M");

GrowYearRate = GetField("累計營收年增率","M");

 

EPS_4season = summation(GetField("每股稅後淨利(元)","Q"),4);

 

 

if average(volume,5) > 750 and close > 10 and close < 200 then

if EPS_4season > 1 and GrowYearRate > -5 then 

//if close < average(close,5) and close < average(close,10) then 

if close/EPS_4season <16 then 

print(file("C:\SysJust\XQLite\XS\Print\print.log"),symbol,date,closed(0),GrowYearRate,volume,EPS_4season);

ret = 1;

 

------------------------------

 

XQ程式上的畫面(如附檔)

 

但很明顯的,我跑出來的print腳本結果跟這邊不同(如附檔)

 

直接篩選到符合條件的,print應該才是對的,想請問是哪出了問題讓XQ跑出來的結果不同呢?

謝謝

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/10/27

BryantEnjoyLife 您好

不好意思,或許是我沒理解您的意思,是否可以請您說明您覺得哪個數值有問題呢??

因為觀看您的副圖的感覺 您應該是在10/26進行選股 並把時間拖移動10/23看當天的選股數據的

而我參考了一下您print的數值跟選股中心的 應該是相同的沒問題

BryantEnjoyLife 發文於   2020/10/28

HI 您好

   我的問題如下

   記事本跑出來的順序為1104 , 1210 等,理論上來說就這幾支股票符合條件

   但xq輸出卻為1101,1102,1103 .....個股票都跑一遍,我有辦法只輸出篩選後的股票結果嗎?

   或者有辦法將篩選後的股票自成一個自選股群組呢?謝謝

XQ小幫手 發文於   2020/10/29

BryantEnjoyLife 您好

我了解了!

這個是因為您在寫最後if 判斷式的一個小問題

我們先來看正確寫法

if close/EPS_4season <16 then 
begin
print(file("C:\SysJust\XQLite\XS\Print\print.log"),symbol,date,closed(0),GrowYearRate,volume,EPS_4season);
ret = 1;
end;

這裡需要用一個begin....end  把它包起來

不然您原先的寫法程式會判斷成

if close/EPS_4season <16 then 

print(file("C:\SysJust\XQLite\XS\Print\print.log"),symbol,date,closed(0),GrowYearRate,volume,EPS_4season);

到這裡判別式結束,然後另外進行

ret = 1;

這個我有時也會忘掉,需要留意一下 XD

發表回覆
Close