註冊日期: May 2012 來 自: 文章數量: 10
我要寫固定天數內 以收盤價排序 想要知道在從最後一筆收盤起這幾天內每天對應的排序是第幾名? 比如四天的收盤價 : 12, 11, 13,14 排名因該是 : 3, 4, 2, 1 可是我用HOD(close,4)寫只能吐回 最後一天的排名 是"1" , 前3天的排名要怎麼寫?
註冊日期: Oct 2003 來 自: 文章數量: 18192
引用:最初由 dcg7520 發表 我要寫固定天數內 以收盤價排序 想要知道在從最後一筆收盤起這幾天內每天對應的排序是第幾名? 比如四天的收盤價 : 12, 11, 13,14 排名因該是 : 3, 4, 2, 1 可是我用HOD(close,4)寫只能吐回 最後一天的排名 是"1" , 前3天的排名要怎麼寫? 看看這樣是否為您要的: ref(HOD(close,4),3)
引用:最初由 dcg7520 發表 我要寫固定天數內 以收盤價排序 想要知道在從最後一筆收盤起這幾天內每天對應的排序是第幾名? 比如四天的收盤價 : 12, 11, 13,14 排名因該是 : 3, 4, 2, 1 可是我用HOD(close,4)寫只能吐回 最後一天的排名 是"1" , 前3天的排名要怎麼寫?
謝謝版大的回覆 剛剛試了一下 如果 是連續下跌(創新低) 這樣回頭看 每個看到的都會變成第4名 如果是連續上漲(創新高)的話 又每一天看到的都是第1名 所以因該不是 囧!!!
引用:最初由 dcg7520 發表 謝謝版大的回覆 剛剛試了一下 如果 是連續下跌(創新低) 這樣回頭看 每個看到的都會變成第4名 如果是連續上漲(創新高)的話 又每一天看到的都是第1名 所以因該不是 囧!!! 了解您意思了, 修正如下: N:=4; SS:=C; StNo:=datacount-N+1; x:=SETLBOUND(SS,StNo); No:SS; //名次 x:=sortpos(SS,0,StNo,datacount); for i=1 to N do begin No[SS[datacount-i+1]]:=i; end; 前三天排名:ref(No,3);
引用:最初由 dcg7520 發表 謝謝版大的回覆 剛剛試了一下 如果 是連續下跌(創新低) 這樣回頭看 每個看到的都會變成第4名 如果是連續上漲(創新高)的話 又每一天看到的都是第1名 所以因該不是 囧!!!