以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  pel调用的速度问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=187966)

--  作者:rockyan
--  发布时间:2021/4/20 20:23:11
--  pel调用的速度问题

1 图表程序化,STKINDI(\'\' ,\'DAJ_JK1.hh(BG,SSXS)\',0,2),这种带参数的调用方式,是否比不带参数(即使用默认参数)如STKINDI(\'\' ,\'DAJ_JK1.hh‘,0,2)调用速度方面有明显下降?

2 如果带参数调用,如果有四个参数,如上只输入两个参数,是否PEL会自动传递这两个参数给第一第二个设定参数,而后两个未输入的参数就使用之前设定的参数?


--  作者:FireScript
--  发布时间:2021/4/21 9:06:42
--  
 1.并无什么区别的。处理几个参数不是能产生多大影响的因素。
 2.对的。传入的按照顺序对应上去,后面缺的 自动按照默认参数来。

--  作者:rockyan
--  发布时间:2021/4/21 9:27:20
--  

又发现一个问题,如果事先,给参数赋值,之后,不能得到正确结果

INPUT:BG(2),SSXS(4);

F := STKINDI(\'\' ,\'DAJ_JK1.hh(BG,SSXS)\',0,2);

在回测时,无论BG,SSXS怎么变,F 得到的数据恒定

只能手工输入数字比如

F := STKINDI(\'\' ,\'DAJ_JK1.hh(2,4)\',0,2);

才能正确出数据

 

有办法解决吗?

否则,无法自动优化参数

 

 

[此贴子已经被作者于2021/4/21 9:28:21编辑过]

--  作者:FireScript
--  发布时间:2021/4/21 9:39:38
--  
 要进行转换的。你这样直接放进去不行的

参考这里:

若参数为数字变量,那么需要有个字符串转换的过程
s:=5;
m:=NUMTOSTR(s,0);//NUMTOSTR函数将数字转换到字符串,再带入变量中
vola:stkindi(\'if10\',\'ATR.ATR(\'&m&\')\',0,6,-1);//计算IF10合约的日线周期指标ATR的ATR指标线,传递参数m值为5。
//第2个参数\'\'里的是文本,由三部分组成:\'ATR.ATR(\'和m还有\')\',这三部分由两个连接符号&连接起来,实现对数值参数的文本传输。

--  作者:rockyan
--  发布时间:2021/4/21 9:48:43
--  
试下,明白了,谢谢