欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教几个问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2851人关注过本帖树形打印复制链接

主题:请教几个问题

帅哥哟,离线,有人找我吗?
分析者
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
请教几个问题  发帖心情 Post By:2016/7/22 14:21:39 [只看该作者]

 

一、 请问,是否VBA公式(或者项目)向PEL返回数据只能返回一个数值或一个数组(序列模式),不能返回多个数值或多个数组,extgbdataSet除外?

之前的帖子中说到有extgbdataSetdocument.getextData,但这个是操作全局变量,我不喜欢用这个方法。

二、 VBS公式(不是指VBA公式或者项目)能否使用所有的VBA内部和外部对象?

三、 VBS公式(不是指VBA公式或者项目)能否能使用框架、窗体。

四、 由于序列模式有一些限制,可否在序列模式中编写复杂的指标策略A,然后在序列模式下再编写交易系统B,在逐K交易系统B中引用序列模式指标A


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/7/22 16:07:09 [只看该作者]

1,不能返回多个数组

2,3,VBS公式已经是很老的东西了,我们平台目前不做更多技术支持,请使用自定义函数

4,可以的



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2016/7/22 16:43:36 [只看该作者]

   其实,正是因为VBA自定义函数的缺陷:不能返回多个数组或多个数据,我才被逼迫无奈用VBS公式,因为VBS公式和PEL互传多个数组很方便,稍微复杂点的计算肯定要用到多个数组,还需要从VBA传回到PEL。

   我想了个如下的折衷的办法,请问可否?

   凡是需要多个数组计算的,我就用VBS公式,用VBS公式做数据计算,凡是涉及到金字塔对象的,例如ORDER,涉及到窗体、框架的,且不需向PEL传递多个数组,或多个数据的就用VBA自定义函数,将VBS公式和VBA自定义函数结合起来使用。

  这样可否?

  


 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2016/7/22 16:50:12 [只看该作者]

我打算从VBA向PEL传递多个数组的目的是:要使用PEL显示指标、画图,VBA好像没有PEL画指标、画图方便,所以只好在VBA中运算数据,然后将计算结果返回PEL,再用PEL画图,画指标。

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2016/7/22 17:09:15 [只看该作者]

如果VBA自定义函数中就可以方便的画图、画指标,那就可以不用向PEL传多个数组了,但VBA的资料没看到这个,请问可以吗?

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2016/7/23 23:07:05 [只看该作者]

麻烦解答一下我上述后续提问吧,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/7/24 11:48:49 [只看该作者]

不需要VBS公式的,用自定义函数照样可以用里面的对象进行数组传递的。

参考

VarData                 取或设置公式线序列数组数据

VarStartIndex           得到指定公式线数组变量有效数值起始位置



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2016/7/25 15:14:44 [只看该作者]

王总:

    您说的在自定义函数中使用VARDATA有个问题,对象formula中的方法VARDATA只能读取公式输出线的序列数据,不能是内部的序列变量,而VBS公式中的FFL.VARDATA可以读取任意数组,那么,当一个数组只有5个元素,并不是公式线的时候,则不能用VARDATA在自定义函数中读取吧?


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/7/25 15:32:32 [只看该作者]

你使用数据线输出就可以了


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部