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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 怎样提高效率?

   

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


  共有3702人关注过本帖平板打印复制链接

主题:怎样提高效率?

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


加好友 发短信
等级:论坛游侠 帖子:273 积分:365 威望:0 精华:1 注册:2011/4/13 11:57:13
怎样提高效率?  发帖心情 Post By:2013/11/12 0:53:50    Post IP:175.9.10.242[只看该作者]

在引用其它公式指标的时候,速度很慢,需要想办法提高运行效率,有几个问题。

 

比如某个需要引用的公式指标'ABC.A',这个公式本身是组K线运行模式,

 

当前代码

A:=STKINDI('RU00','ABC.A',0,DATAPERIOD);  //引用公式'ABC’的A值

 

问题在于,假设当前图表有N根K,为了得到'ABC’的A值,每根K线都有要运行一次上述代码,都会去调用并运行ABC,

而公式ABC在计算时也是逐K线的执行到当前图表相对应的周期,于是当前图表从第一根K到第N根K,

ABC运行了1+2+3+4+......+N=(1+N)*N/2次,这将是一个天文数字,而在静态测试情况下,当前代码只运行了N次,

关键是ABC被大量重复运行了。

 

如果是动态行情下运行,只刷最后一根K,每秒刷新两次,则每秒ABC要运行2*(N+1)次,在换K线时当前代码还

是会从头到尾运行一次,则ABC会被运行1+2+3+4+.....N+N+1次,电脑基本动不了了。

 

不知上述推断是否为真。我的想法是,如果能实现在调用ABC时只运行一次,把A值形成数组,再运行当前代码时直接根据数组下标引用就可以了。可否实现?

 

 

 


 回到顶部