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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教各位自定义函数算法优化的问题

   

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


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

主题:请教各位自定义函数算法优化的问题

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:764 威望:0 精华:0 注册:2010/6/27 14:04:16
请教各位自定义函数算法优化的问题  发帖心情 Post By:2010/6/29 21:58:38 [只看该作者]

因backset函数不能嵌套,所以我自写函数,但我写的自定义函数太慢了,实盘无法用,哪个大侠能不能帮我优化下,咸激不尽
我在公式里这么调用的:
yy:HPPOS();
drawline(yy,h,yy,h,2),linethick3,colorgreen;



以下为自定义函数部分:
Function HpPos(Formula)

Set History = Formula.ParentGrid.GetHistoryData()

DataCount = 0
rTime=0
lTime=0
i=history.Count-4
    do
        boolH=history.high(i)>history.high(i-1) and history.high(i)>=history.high(i-2) and history.high(i)>=history.high(i-3) _
        and history.high(i)>=history.high(i+1) and history.high(i)>=history.high(i+2) and history.high(i)>=history.high(i+3)

        boolL=history.Low(i)         and history.Low(i)<=history.Low(i+1) and history.Low(i)<=history.Low(i+2) and history.Low(i)<=history.Low(i+3)

        if boolH and (not boolL) then
          DataCount=DataCount+1
          if DataCount=1 then
               RTime=i
          end if
          if DataCount=2 then
               LTime=i
               exit do
          end if
        end if

        i=i-1

    loop

        if Formula.IndexData=rTime then
          HpPos=history.high(rTime)
          exit function
        end if

        if Formula.IndexData=lTime then
          HpPos=history.high(lTime)
          exit function
       end if
End Function
补充一下,我用的是多图组合,一个图上可以看好几个品种的
[此贴子已经被作者于2010-6-29 22:04:47编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:764 威望:0 精华:0 注册:2010/6/27 14:04:16
  发帖心情 Post By:2010/6/30 17:35:29 [只看该作者]

自已顶一下
已解决了,通过frame与grid对象解决了!

 回到顶部