A:
与系统参数Pn_rateday()有关,与Pn_rate()结合使用;
当Setsysparam(Pn_rate(),0)时,Setsysparam(Pn_rateday(),endt);无效。
只有当Setsysparam(Pn_rate(),1)或者Setsysparam(Pn_rate(),2)时,此时为复权状态。
Setsysparam(pn_rateday(),firstday()); 设置上市日为复权基准日(或设置为-1),则所有的数据后复权;
Setsysparam(pn_rateday(),today()); 设置当前日期为复权基准日(或设置为0),则所有的数据前复权;系统默认为当前日期。
Setsysparam(pn_rateday(),EndT); 当上市日<EndT<当前日期,则小于EndT的数据前复权,大于EndT的数据后复权。
范例如下:
setsysparam(Pn_stock(),'SZ000002');
setsysparam(Pn_rate(),1);
setsysparam(Pn_rateday(),firstday()); //设置上市日为复权基准日
begt:=inttodate(20080601);
endt:=inttodate(20081231);
setsysparam(pn_date(),endt);
n:=tradedays(begt,endt);
return nday(n,'date',datetostr(sp_time()),'close',close());