condition1 = C > GetField("參考價","D") * 1.07;
countif(condition1[13], 55) <= 3
意思是過去55天, 每13天一個區間去統計是否有漲過7% 所以是55天內漲7%要次數<=3嘛
每13天區間是指 : 第1天 ~ 第13天 , 第2天~ 第14天, 第3天~第15天 ?
謝謝
condition1 = C > GetField("參考價","D") * 1.07;
countif(condition1[13], 55) <= 3
意思是過去55天, 每13天一個區間去統計是否有漲過7% 所以是55天內漲7%要次數<=3嘛
每13天區間是指 : 第1天 ~ 第13天 , 第2天~ 第14天, 第3天~第15天 ?
謝謝
Hi MattLI,
Q:以下語法,意思是過去55天, 每13天一個區間去統計是否有漲過7%,所以是55天內漲7%要次數<=3嘛?
condition1 = C > GetField("參考價","D") * 1.07;
countif(condition1[13], 55) <= 3
A:不是,您所撰寫的語法,只是單純往前偏移 13 期去統計是否有漲過 7 %,
若您想要「過去 55 天,每 13 天一個區間去統計是否有漲過 7%,所以是 55 天內漲 7% 要次數 <= 3」語法範例,
可以使用 TrueAny 來代表「每 13 天一個區間去統計是否有漲過 7%」例如以下範例語法,提供給您參考,謝謝:
P.S. 如果您是使用選股腳本,資料讀取筆數記得設定充足唷
//condition1為「每 13 天一個區間去統計是否有漲過 7%」
condition1 = trueAny(C > GetField("參考價","D") * 1.07,13);
//意思是過去 55 天,每 13 天一個區間去統計是否有漲過 7%,所以是 55 天內漲 7% 要次數 <= 3
//每13天區間是指 : 第1天 ~ 第13天 , 第2天~ 第14天, 第3天~第15天 ... 第 43天 ~ 第55天
if countIf(condition1,55) <= 3 then ret = 1;
outputField1(condition1);
outputField2(countIf(condition1,55));
1 評論