以下我分別用"月"營收及"季"毛利為條件進行選股
value1=GetField("月營收月增率","M");
value2=GetField("營業毛利率","Q");
if value1>value1[1]
and value2>value2[1]
then ret=1;
請問選股條件應該要選月、季(詳附檔圖)? 對執行結果影響為何
謝謝
Hi XQ Charlie,
Q:請問選股條件應該要選月、季(詳附檔圖)? 對執行結果影響為何
A:如果是直接取數值,就不用使用變數去儲存了,直接用以下範例的方式去執行選股即可,範例選股策略檔案一併供您參考,
以下的範例切換任何頻率都會是正確的結果,因為 getfiled 指定頻率是直接取資料庫的數值,使用 getfiled 的序列資料會正確,
但如果你是用 value1 或者 var 宣告去儲存 getfiled 的數值,然後在用 value 序列資料,那就必須要使用最小的頻率,在這個範例就是要用月頻率去跑,如果用季頻率去跑,會取不到月頻率的 [1] 數值,你可以嘗試跑跑看,並搭配 outputField 或者 print 將數值產出,就能了解。
//用 getfiled 取[0]、[1]數值,任何執行頻率跑出來的結果都會是對的。
if GetField("月營收月增率","M")>GetField("月營收月增率","M")[1]
and GetField("營業毛利率","Q")>GetField("營業毛利率","Q")[1]
then ret=1;
outputField1(GetField("月營收月增率","M"),"[0]月營收月增率");
outputField2(GetField("月營收月增率","M")[1],"[1]月營收月增率");
outputField3(GetField("營業毛利率","Q"),"[0]季營業毛利率");
outputField4(GetField("營業毛利率","Q")[1],"[1]季營業毛利率");
1 評論