A:
方法一:类SQL
setsysparam(pn_stock(),'SZ000002');
endt:=inttodate(20101231);
begt:=inttodate(20100101);
n:=tradedays(begt,endt);
setsysparam(pn_date(),endt);
//取行情数据
hqdata:=nday(n,'time',datetostr(sp_time()),'close',close(),'vol',vol(),'amount',amount(),1,amount()/vol());
//按照收盘价倒序排列
tmp1:=select * from hqdata order by ['close'] desc end;
//按照列名为1的正序排列
tmp2:=select * from hqdata order by [1] end;
return array(tmp1,tmp2);
方法二:SortTableByField(Value,Field,StorDir);
Value:待排序的数组
Field:排序字段
StorDir:该字段为False时,倒序;该字段为true时,正序。
setsysparam(pn_stock(),'SZ000002');
endt:=inttodate(20101231);
begt:=inttodate(20100101);
n:=tradedays(begt,endt);
setsysparam(pn_date(),endt);
hqdata:=nday(n,'time',datetostr(sp_time()),'close',close(),'vol',vol(),'amount',amount(),1,amount()/vol());
SortTableByField(hqdata,'close',false); //按照收盘价从大到小排列
return hqdata;