A:本页中主要展示开发者用户通过OPI接口调用天软函数的具体实现,即使用URI:/Service/Call/funcName。
下面示例中,主要展示调用天软范例函数(公用函数):GetTimeSeriesSample(BegT,EndT,StockId,cycle)
功能:获取指定个股在时间区间内每日价格,及30日均价
在本地tsl脚本中,执行下面这段代码:
如何执行tsl脚本,具体可参考:FAQ:
Q:在本地电脑中执行一段tsl脚本
//---------------http功能:平台用户call接口调用-------------------------------------
tuser:="xxx";//天软账号
tpw:="***";//密码
url:='https://opi.tinysoft.com.cn/Service/Call/GetTimeSeriesSample'; //平台用户调用函数
header:="Connection: keep-alive\r\nContent-Type: application/json\r\nTS-EVENTNAME: auto\r\nJSON-Encode: gbk";
ps:=array("BegT":20260401T,"EndT":20260415T,"StockId":"SZ000002","cycle":cy_day()); //传入参数
sid:=CreateHttpSession(); //创建会话
PData:=exportjsonstring(ps);//转成json串
r:=InternetRequest(sid,url,"",header,PData,tuser,tpw,0,res,resp,30000);
echo "->r:",r,"->resp:",resp,"->res:",tostn(Importjsonstring(res)),"->",roundto(length(res)/1024/1024,-2),"\r\n";
return ;
运行结果:
注:关于函数传参
1、上述脚本中,若不想通过指定参数名方式传参,还可通过参数顺序传参,即只需将
ps:=array("BegT":20260401T,"EndT":20260415T,"StockId":"SZ000002","cycle":cy_day());
变更为:
ps:=array(20260401T,20260415T,"SZ000002",cy_day());
效果一致。
2、若函数无参数,则ps:=array();即可
3、调用函数方式不支持传入系统参数,因此,需要通过系统参数控制的模型不支持调用,需要先封装成与系统参数不相关后,再调用。