以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  我晕啊自定义函数只能从左第一根算起  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=1979)

--  作者:volersky
--  发布时间:2010/6/28 19:43:28
--  我晕啊自定义函数只能从左第一根算起
我晕倒,怎么和tradeblazer一样,在自定义函数里面从能从左数第一根向右边最后一根进行循环和取值,如果从中间循环到最右边一个,一循环就关闭!
怎么回事啊!
我要从中间某根算起不知道要怎么办,如果不能,那不是功能太有限了?
--  作者:admin
--  发布时间:2010/6/28 19:56:22
--  

是你的逻辑思维太有限吧,你想只处理中间的位置,那么你可以通过Formula.IndexData判断循环的周期是否到了自己想要处理的位置,到了就用VBA去处理,否则就直接退出掉


--  作者:volersky
--  发布时间:2010/6/28 22:38:42
--  
谢谢
一直没看懂这句话
IndexData 返回当前数据区基于0的数据序列。只有在特定情况下此属性才有效,例如当一个公式自定义函数被调用时。
搞了半天,才知道是当前周期,其实上就是进行操作的这根K线位置,并返回数据的索引值

--  作者:圆周工作室
--  发布时间:2010/6/30 2:25:02
--  

你也可以在代码中判定

 

if barspos>32 then

begin

调用你的vbs代码

end;


--  作者:volersky
--  发布时间:2010/6/30 22:37:22
--  
呵呵,这两天研究了下各种对象,真发现功能很强大,使用相应对象的VBA,确实是只有你想不到,没有你做不到,不错!