以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 请教几个问题 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=136583) |
-- 作者:分析者 -- 发布时间:2016/7/22 14:21:39 -- 请教几个问题 一、 请问,是否VBA公式(或者项目)向PEL返回数据只能返回一个数值或一个数组(序列模式),不能返回多个数值或多个数组,extgbdataSet除外? 之前的帖子中说到有extgbdataSet、document.getextData,但这个是操作全局变量,我不喜欢用这个方法。 二、 VBS公式(不是指VBA公式或者项目)能否使用所有的VBA内部和外部对象? 三、 VBS公式(不是指VBA公式或者项目)能否能使用框架、窗体。 四、 由于序列模式有一些限制,可否在序列模式中编写复杂的指标策略A,然后在序列模式下再编写交易系统B,在逐K交易系统B中引用序列模式指标A。 |
-- 作者:王锋 -- 发布时间:2016/7/22 16:07:09 -- 1,不能返回多个数组 2,3,VBS公式已经是很老的东西了,我们平台目前不做更多技术支持,请使用自定义函数 4,可以的 |
-- 作者:分析者 -- 发布时间:2016/7/22 16:43:36 -- 其实,正是因为VBA自定义函数的缺陷:不能返回多个数组或多个数据,我才被逼迫无奈用VBS公式,因为VBS公式和PEL互传多个数组很方便,稍微复杂点的计算肯定要用到多个数组,还需要从VBA传回到PEL。 我想了个如下的折衷的办法,请问可否? 凡是需要多个数组计算的,我就用VBS公式,用VBS公式做数据计算,凡是涉及到金字塔对象的,例如ORDER,涉及到窗体、框架的,且不需向PEL传递多个数组,或多个数据的就用VBA自定义函数,将VBS公式和VBA自定义函数结合起来使用。 这样可否?
|
-- 作者:分析者 -- 发布时间:2016/7/22 16:50:12 -- 我打算从VBA向PEL传递多个数组的目的是:要使用PEL显示指标、画图,VBA好像没有PEL画指标、画图方便,所以只好在VBA中运算数据,然后将计算结果返回PEL,再用PEL画图,画指标。 |
-- 作者:分析者 -- 发布时间:2016/7/22 17:09:15 -- 如果VBA自定义函数中就可以方便的画图、画指标,那就可以不用向PEL传多个数组了,但VBA的资料没看到这个,请问可以吗? |
-- 作者:分析者 -- 发布时间:2016/7/23 23:07:05 -- 麻烦解答一下我上述后续提问吧,谢谢! |
-- 作者:王锋 -- 发布时间:2016/7/24 11:48:49 -- 不需要VBS公式的,用自定义函数照样可以用里面的对象进行数组传递的。 参考 VarData 取或设置公式线序列数组数据 VarStartIndex 得到指定公式线数组变量有效数值起始位置 |
-- 作者:分析者 -- 发布时间:2016/7/25 15:14:44 -- 王总: 您说的在自定义函数中使用VARDATA有个问题,对象formula中的方法VARDATA只能读取公式输出线的序列数据,不能是内部的序列变量,而VBS公式中的FFL.VARDATA可以读取任意数组,那么,当一个数组只有5个元素,并不是公式线的时候,则不能用VARDATA在自定义函数中读取吧? |
-- 作者:王锋 -- 发布时间:2016/7/25 15:32:32 -- 你使用数据线输出就可以了 |