在天软中,系统参数的获取跟设置,有以下几种方法:
方式一:使用setsysparam一个个设置:作用于整个函数;
方式二:使用
with * , array(参数1:参数1的值,参数2:参数2的值...) do
begin
...
end
的方法:作用于被begin...end封装起来的代码段
方式三:使用specAll(调用函数,array(设置的系统参数1:参数值,设置的系统参数2:参数值...):仅作用于第一个参数“调用函数”
下面是几种方法的使用案例:
//sysparams获取当前所有系统参数详情
echo '默认系统参数:'$ tostn(sysparams);
//设置指定系统参数 ->setsysparam ->作用范围:全局
setsysparam(pn_rate(),1);
setsysparam(pn_cycle(),cy_week());
//设置用户自定义的全局变量,可用getsysparam('myParam');获取
setsysparam('myParam',12345);
//------------------------------------------
//系统参数的设置 -->with ->作用范围:with语句段
echo 'with前状态:'$tostn(sysparams);
a:=array(pn_stock():"SZ000002",pn_cycle():cy_1m(),pn_date():20170710T+10/24);
//即以变量a中的设置为最新系统参数,其他的保留此前的设置
with *,a do
begin //a的更改只作用于with语句段中
echo 'with中状态:'$tostn(sysparams);
end
//回到with前的系统参数值状态
echo 'with结束后状态:'$tostn(sysparams);
//------------------------------------------
//临时指定系统参数的设置-->spec、specdate、specAll ->作用范围:该语句
//指定股票SH600000的当前时间的收盘价->该票只在该语句中有效
a:=spec(close(),'SH600000');
//当前票在指定日20170505日的收盘价->该当前时间只在该语句中有效
b:=specdate(close(),20170505T);
//指定票、指定周期、指定时间点、指定复权方式后的收盘价
c:=specAll(close(),array(pn_stock():'SZ000001',pn_cycle():cy_10m(),pn_date():20170505.1450T,pn_rate():1));
return array(a,b,c);