小弟剛學習xs,實在摸不出來,請小編幫忙
請問我在週頻率下如何抓取上週五 & 上上週五的法人買賣超?
如果上週五剛好休市,則數據用0代入
謝謝指導
小弟剛學習xs,實在摸不出來,請小編幫忙
請問我在週頻率下如何抓取上週五 & 上上週五的法人買賣超?
如果上週五剛好休市,則數據用0代入
謝謝指導
若只是抓取每週最後的法人買賣超,可用GetField("法人買賣超張數", "W")。
GetField("法人買賣超張數", "W")代表本週最後的買賣超,若週五收盤後,代表本週五的買賣超。
GetField("法人買賣超張數", "W")[1]代表上週五的買賣超。若週五休市,要設為零,就比較麻煩。
可在主頻率為日的情況下,使用xf_GetDTValue處理:
value1=GetField("法人買賣超張數", "W")[1];
value2=xf_GetDTValue("W", date);
if value2<>value2[1] and DayOfWeek(value2[1])<>5 then value1=0;
謝謝許教授,小弟再來研究一下
的確如小編說的,我是想在大頻率去抓小頻率的值
我主要目的是想要取三大法人從『上週五 ~ 本週四』的持股增減總和當作每一期的基數
但週頻率是用本週一~本週五的總和
所以小弟才想手動調整成自己想要的數值:『週頻率法人增減』-『本週五法人增減』+『上週五法人增減』
無奈不知道該怎麼寫,所以上聊天區找找大家的討論&求救
再次感謝許教授&小編的指導
謝謝
週頻率的法人買賣超張數也是累加的,你一樣可以用日頻率抓每天的買賣超並累加。
Hello 發達的彼得,
若要加總上週五到週四的某個數值的話,小編會建議您使用日頻率比較方便,舉例來說:
if dayofweek(date) = 5 then value1 = 0;
value1 += GetField("法人買賣超", "D");
這樣value1就會是週五開始累積的法人買賣超。(不過還會需要處理週五放假的情況)
若要在週頻率上執行的話,就是要用迴圈向前抓取,舉例來說:
value1 = 0;
if dayofweek(GetField("Date", "D")) = 5 then value2 = 1 else value2 = 0;
for value3 = value2 to 5 begin
value1 += GetField("法人買賣超", "D")[value3];
if value3 > 0 and dayofweek(GetField("Date", "D")[value3]) > dayofweek(GetField("Date", "D")[value3 - 1]) then break;
end;
這樣value1就會向前累加,直到加滿5天或是換週後的該週最後一天。
5 評論