|
cgjj
總版主
註冊日期: Oct 2003
來 自:
文章數量: 17600 |
05. 排序函數 SORT, SORTPOS 《適用4.0版》
【語句】SORT
【用途】
|
將數列中的數值依大小次序重新排列(一般以排序稱之) |
【語法】
【參數】
|
NAry
為欲排序的數列
Mode 用於設定排序的方式(
0.由小排到大, 1.由大排到小
)
N1 為排序的起始位置
N2 為排序的終止位置(N2的數值需大於N1,否則無效)
|
【說明】
|
若前頭有指定變數, 例如 XX:=SORT(NAry,
Mode, N1,
N2)
則該變數(XX)取得的運算值為已排序的數據量(即 N2-N1+1 的值) |
|
|
向版主報告此篇 | |
|
2005-03-10 18:59 |
|
|
| |
|
cgjj
總版主
註冊日期: Oct 2003
來 自:
文章數量: 17600 |
【語句】SORTPOS
【用途】
|
取得將數列中的數值依大小次序重新排列,存放排序後該數值原來所在K棒的位置
SORT 是將排序後的數值存放於原數列中
SORTPOS 則是將排序後該數值原來所在K棒的位置(序號)存放於原數列中
|
【語法】
|
SORTPOS(NAry,
Mode, N1,
N2)
|
【參數】
|
NAry
為欲排序的數列
Mode 用於設定排序的方式(
0.由小排到大, 1.由大排到小
)
N1 為排序的起始位置
N2 為排序的終止位置(N2的數值需大於N1,否則無效)
|
【說明】
|
若前頭有指定變數, 例如 XX:=SORTPOS(NAry,
Mode, N1,
N2)
則該變數(XX)取得的運算值為已排序的數據量(即 N2-N1+1 的值) |
|
|
向版主報告此篇 | |
|
2005-03-10 19:01 |
|
|
| |
|
cgjj
總版主
註冊日期: Oct 2003
來 自:
文章數量: 17600 |
【範例4】找出最近50根K棒,高的第一高和第二高
|
N1:=datacount-50+1;
N2:=datacount;
GetHH:=H;
x:=SORT(GetHH, 1, N1, N2);
前一高:GetHH[N1];
前二高:GetHH[N1+1];
PosHH:=H;
x:=SORTPOS(PosHH, 1, N1,
N2);
前一高位置:PosHH[N1] LINETHICK0;
前二高位置:PosHH[N1+1] LINETHICK0;
|
|
|
向版主報告此篇 | |
|
2006-01-03 11:44 |
|
|
| |
|
cgjj
總版主
註冊日期: Oct 2003
來 自:
文章數量: 17600 |
【範例5】找出最大量的價(用於分筆成交週期)
註:此例延續 數列運算(陣列運算)
之 [範例7 求當日那一個價成交量最多]
運算速度大幅提升
|
UseSC:=C;
UseSV:=V;
UseCP:=UseSC;
UseVP:=V;
//以價大小排序
x:=SORT(UseSC,0,1,datacount);
//排序後將結果存入 UseC
x:=SORTPos(UseCP,0,1,datacount);
//排序後將原本位置存入 UseCP
//將量依據前面排序結果位置存放入 UseSV
for i=1 to datacount
do begin
UseSV[i]:=UseVP[UseCP[i]];
end;
//標示每個價的起點(StP=1)
StP:=barpos=1 or ref(UseSC,1)<UseSC;
//加總每個價的量
SVV:=sum(UseSV,barslast(StP)+1);
//找出最大量的價的位置
HVP:=hhvbars(SVV,0);
HVP:=datacount-HVP[datacount];
MaxVolC:UseSC[HVP];
MaxVolV:SVV[HVP]; |
與原範例不同的是若碰到有兩個價都是量最多時, 其是取價位較高的價(而非取離目前時間最近的價)
|
|
向版主報告此篇 | |
|
2006-05-03 12:19 |
|
|
| |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|