大家好,請問一下我這樣寫到底哪裡有問題?選不股票!!
condition1=false;
if trueAll(getField("股利合計")>0,5)
and getField("累計營收年增率","M")>0
and summation(GetField("EPS","Q"),4)>0 then condition1=true;
if condition1 then ret=1;
大家好,請問一下我這樣寫到底哪裡有問題?選不股票!!
condition1=false;
if trueAll(getField("股利合計")>0,5)
and getField("累計營收年增率","M")>0
and summation(GetField("EPS","Q"),4)>0 then condition1=true;
if condition1 then ret=1;
getField("股利合計","Y")
你好,我加了getField("股利合計","Y"),但outputField顯示出的股利合計是重複的,不知問題出在哪!

你是outputField甚麼
打出來看看
你好,我想把5年股利合計列出來看看對不對,結果一直出現重複年份的股利合計
condition1=false;
value8=getField("股利合計","Y");
if trueAll(value8)>0,5)
and getField("累計營收年增率","M")>0
and summation(GetField("EPS","Q"),4)>0 then condition1=true;
if condition1 then ret=1;
outputField(1,value8[1]);
outputField(2,value8[2]);
outputField(3,value8[3]);
outputField(4,value8[4]);
outputField(5,value8[5]);
以我的了解
選股腳本週期是在日K下運行
以現在的時間
你value8 是5/26日K去搜股利合計
value8[1]是5/25日K去搜股利合計
value8[2]是5/24日K去搜股利合計 以此類推 所以才會重複
所以應該是
outputField(1,getField("股利合計","Y")[1]);
outputField(2,getField("股利合計","Y")[2]);
outputField(3,getField("股利合計","Y")[3]);
outputField(4,getField("股利合計","Y")[4]);
outputField(5,getField("股利合計","Y")[5]);
你再核對一下資料
再來你的條件 trueAll(value8 > 0,5) 就像我上面說的 會一直重複取同樣的資料
應該改
if trueAll(getField("股利合計","Y") > 0,5)
and getField("累計營收年增率","M")>0
and summation(GetField("EPS","Q"),4)>0 then ret = 1;
oh,原來是這樣子!!大感謝! BOWEN
Hello jimsun,
變數的執行頻率是跟隨著策略的執行頻率,所以在日頻率的狀況下:
value8=getField("股利合計","Y");
value8[1] 會是前一日的股利合計,getField("股利合計","Y")[1] 才會是前一年的股利合計。
故若您將執行頻率設為年的話,則 value8[1] 就會相當於 getField("股利合計","Y")[1]。
感謝 bowen 的熱心回覆。
7 評論