以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问在自定义函数里,时间的判断是“time>093000”--如果时间大于早上九点半?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9307)

--  作者:leechoe
--  发布时间:2011/12/9 16:33:39
--  请问在自定义函数里,时间的判断是“time>093000”--如果时间大于早上九点半?
请问在自定义函数里,时间的判断是“time>093000”--如果时间大于早上九点半?  我试了一下不行哦
--  作者:26327756l
--  发布时间:2011/12/9 16:48:46
--  

时间的判断是 if time>093000 then 执行语句;

在自定义里要返回数据的,你请说明,你的问题

[此贴子已经被作者于2011-12-9 16:56:29编辑过]

--  作者:leechoe
--  发布时间:2011/12/9 16:59:21
--  

我知道要返回数据,我只是想表达:在9点半后才开始执行语句

请问是“if time>093000 then **** end if” 这样表达吗?


--  作者:26327756l
--  发布时间:2011/12/9 17:19:46
--  

那就是 if time>093000 then 

           begin

              9点半后才开始执行语句 放在这里 就可以了

           end


--  作者:leechoe
--  发布时间:2011/12/9 17:57:01
--  

还是不行啊。我是这样做的,以下是自定义函数里的代码:(为了实现,在9:30之前返回0,9:30之后返回1)

 

Function shijian(Formula,close,num)

            DataCount = UBound(close)   
            Dim ResultMa   
            Redim ResultMa(DataCount)   
            For i = num-1 To Formula.DataSize-1       
            Count = 0
     
            if time>093000 then  \'如果时间大于9点半Count =1
            Count =1
            end if
           
           ResultMa(i) = Count  
           Next   
           shijian = ResultMa 
           
   End Function

 

 

 

技术指标处调为:

abc:shijian(close,1);

 

 

 

结果图像画出来是一条值为0的直线。我预期的结果是:在9:30取得的值为0,在9:30之后取得的值为1


--  作者:fly
--  发布时间:2011/12/12 10:54:49
--  

您使用的TIME...这是金字塔PEL语言里定义好的时间函数,是不能直接在VBS中使用的.

 

在VBS语言里,看能否找到本地计算机时间对应的---时间对象,或者类似的时间方法.做为自定义函数的时间判断.


--  作者:26327756l
--  发布时间:2011/12/12 11:18:36
--  

VBA中的time函数 返回的数据格式是这样的(11:14:12

不是pel中的111412

所以使用的时候要去 转换一下,second(time)获取秒

                                         Minute(time)获取分钟

                                         hour(time)获取小时