判斷創 N 期新低的腳本要如何改?
這篇文章有提到
https://xshelp.xq.com.tw/XSHelp/?HelpName=GetFieldStartOffset&group=GENERALFUNC
範例選股範例:判斷創 N 期新高,想知道如果要改成創新低的情況要如何去著手?謝謝
input: min_period(12, "最低期別");
value1 = GetFieldStartOffset("月營收", "M");
value2 = GetField("月營收", "M");// 最新一期營收
var: idx(0);
idx = 1;
while idx <= value1 begin
if GetField("月營收", "M")[idx] < value2 then
idx = idx + 1
else
break;
end;
if idx >= min_period then begin
ret=1;
OutputField(1, idx, 0, "創新高期別");
OutputField(2, GetField("月營收", "M")[idx], "創新高的月營收");
OutputField(3, GetFielddate("月營收", "M")[idx], 0, "創新高的月營收資料日期");
end;
判斷創 N 期新低的腳本要如何改?
- 158
- 最後發表 love07050618 2023 九月 26
love07050618
發文於
2023/09/17
XQ小幫手
發文於
2023/09/26
Hello love07050618,
網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。
您只需要把 GetField("月營收", "M")[idx] < value2 改為 GetField("月營收", "M")[idx] > value2 即可。
input: min_period(12, "最低期別");
value1 = GetFieldStartOffset("月營收", "M");
value2 = GetField("月營收", "M");// 最新一期營收
var: idx(0);
idx = 1;
while idx <= value1 begin
if GetField("月營收", "M")[idx] > value2 then
idx = idx + 1
else
break;
end;
if idx >= min_period then begin
ret=1;
OutputField(1, idx, 0, "創新低期別");
OutputField(2, GetField("月營收", "M")[idx], "由此月開始創新低的月營收");
OutputField(3, GetFielddate("月營收", "M")[idx], 0, "由此月開始創新低的月營收資料日期");
end;
love07050618
發文於
2023/09/26
謝謝小幫手,問題已解決 :)
2 評論