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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 什么叫做“从头刷新指标数据时”

   

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


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

主题:什么叫做“从头刷新指标数据时”

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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/5/5 22:50:34    Post IP:183.235.249.123[只看该作者]

我再跟你解释下,这段代码的输出吧

globalvariable:mybarpos=0;

mybarpos:=mybarpos+1;

A:barpos;

B:mybarpos;

 

假如一共有3根K线,那么加载上去后,三根K线的A、B值分别是:

 

  K线序号  1    2    3   
   A 1    2    3   
   B 1    2    3   

 

假如这个时候是休市期间,那么正常情况下,K线应该不会刷新了,你用光标在K线上移动,图表上就一直显示上面的值。

然后你可以重新编辑下上面的代码,随便改点,比如加个空行,再保存,那么3个K线都会重新计算,就变成了:

 

  K线序号  1    2    3   
   A 1    2    3   
   B 4    5    6   

 

不用怀疑,再改就一直这么下去,依此类推。

 

如果收到新行情了呢?如果收到新行情,出来个第4根K线,紧接着上面的值,就会变成:

 

  K线序号   1    2    3    4  
   A  1    2    3    4  
   B  7    8    9    10  

 

再收到一个新行情,但仍是4根K线,由于勾选了仅刷新最后K线,所以仅刷新第4根K线,这时,金字塔仅对第4根K线进行计算,计算过程如下,我逐句解释:

globalvariable:mybarpos=0;

在这次刷新中不进行初始化,所以mybarpos不会变成0,但mybarpos也不是上次计算第4根的10,而是取第3根最后保存的值,那就是9

mybarpos:=mybarpos+1; 

9+1等于10,所以计算后结果为10,其实这里相当于mybarpos:=ref(mybarpos,1)+1; 所以你应该明白为什么金字塔说ref在if  then和exit时会不正常了吧

A:barpos;

输出4

B:mybarpos;

输出10

 

所以,不管第4根K线被刷新多少次,在“仅刷新最后一根K”时,你会看到B的结果总是10。直到新的K线产生


版主评定:好评,获得30个金币奖励好评,获得30个金币奖励
(理由:奖励)
 回到顶部