以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5)
---- 为何公式调用VB自定义函数会报错呢? (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=163157)
|
-- 作者:qq代人发帖
-- 发布时间:2018/5/3 9:07:51
-- 为何公式调用VB自定义函数会报错呢?
为何公式调用VB自定义函数会报错呢?
Function daxiao(Formula,x,y) \'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码 daxiao=0 if x>y then daxiao=x else daxiao=y end if End Function
此主题相关图片如下:1.png
此主题相关图片如下:2.png
|
-- 作者:yukizzc
-- 发布时间:2018/5/3 9:24:14
--
公式运行在逐k模式下不要在序列模式下
|
-- 作者:dhp
-- 发布时间:2018/5/3 10:19:31
--
公式改为在逐K模式下运行,这次是没有报错,可运行结果是“0”
|
-- 作者:yukizzc
-- 发布时间:2018/5/3 10:33:48
--
vba引擎要启动 此主题相关图片如下:v3un_9eej5squ~p$pgtfw.png
|
-- 作者:dhp
-- 发布时间:2018/5/3 10:54:15
--
谢谢!上文所提问题已解决。有一个自定义biggest函数,以起点和终点日期为参数设定一个查询时间段,函数的目的是获取这个时间段的股价最高值
现在公式里逐K模式调用这个自定义函数 tt:biggest("2017/12/05","2018/03/05"),结果公式编译显示错误:函数biggest所调用的参数与预定义参数不符 请问是不是自定义函数的参数不能为时间?
[此贴子已经被作者于2018/5/3 10:56:13编辑过]
|
-- 作者:yukizzc
-- 发布时间:2018/5/3 11:02:33
--
是的不行
|
-- 作者:dhp
-- 发布时间:2018/5/3 11:14:09
--
老师,那请问如果想通过调用自定义函数形式查询某时间段股价高点该咋办呢?有好的办法没?还是说非得通过VBA过程得出高点值之后进行传导?
[此贴子已经被作者于2018/5/3 11:15:38编辑过]
|
-- 作者:yukizzc
-- 发布时间:2018/5/3 13:08:19
--
我比较认同一句话,如无必要使用最简单最容易理解的那一组方案
你这个做法用pel好做,不是很清楚你一定要用自定义函数的道理
如果按照你这个做法需要把时间当成字符串传入,然后你还要去研究下面这个数据对象然后在这个对象下根据日期去获取id序号然后再写
我认为如果学习自己可以考虑,如果是为了达到某个效果实在不必要
HistoryData 对象
[此贴子已经被作者于2018/5/3 13:11:32编辑过]
|
-- 作者:dhp
-- 发布时间:2018/5/3 13:19:02
--
谢谢老师点拨!大道至简至易!懂了
|