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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 以下这种情况,仅刷新最后一根K线图的情况下变量在最后一根K线会一直累加

   

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


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

主题:以下这种情况,仅刷新最后一根K线图的情况下变量在最后一根K线会一直累加

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
以下这种情况,仅刷新最后一根K线图的情况下变量在最后一根K线会一直累加  发帖心情 Post By:2012/4/18 9:30:15 [只看该作者]

//仅刷新最后一根K线图,相关代码如下:
if time=091600 then x:=0;
x:=x+1;
aa:x;
//这种情况,x在最后一根K线图会一直累加。建议改进一下

 

也就说,勾选仅刷新最后一根K线和不勾选会有2种不同效果。

 

当然,如果把X声明一下就没问题

variable:x=0;

if time=091600 then x:=0;
x:=x+1;
aa:x;

 

 

如果声明 超全局变量,反而不会累加了

//仅刷新最后一根K线图
globalvariable:x=0;
if islastbar then begin
 x:=x+1;
end
//这种情况,x却不会累加

[此贴子已经被作者于2012-4-18 9:36:30编辑过]

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2012/4/18 10:54:52 [只看该作者]

//仅刷新最后一根K线图,相关代码如下:
if time=091600 then x:=0;
x:=x+1;
aa:x;
//这种情况,x在最后一根K线图会一直累加。建议改进一下


这个确实变成了全局变量了 ,反映给开发查查!







金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2012/4/18 11:00:10 [只看该作者]

其他两个全局变量 我倒是觉得是正常的,没问题


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:43 积分:179 威望:0 精华:0 注册:2011/10/27 20:06:17
  发帖心情 Post By:2012/4/18 11:53:33 [只看该作者]

我认为,从程序角度来讲:

第一个是正确的。

第2,3才是错误的。要改进的是第2,3


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


加好友 发短信
等级:论坛游侠 帖子:273 积分:365 威望:0 精华:1 注册:2011/4/13 11:57:13
  发帖心情 Post By:2012/4/18 14:57:57 [只看该作者]

同意楼上的观点。我感觉第一种情况不是想要的,但是是合理的。

 

这里使用全局变量和超级全局变量效果一样,都达到了控制X在最后一周期不继续累计的问题,但是好像没有道理。

 

比如第二种情况,用全局变量。如果在最后一个周期,每次刷新,variable:x=0;发挥了作用(按理如此),那么最后X应该恒定等于1.

如果最后一周期,每次刷新,variable:x=0;没有发挥作用,那么X应该一如既往继续累加才对。因此,不管哪种情况,都不应该得到“正常”的结果。

 

 


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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2012/4/18 16:08:21 [只看该作者]

问题已经在随后发布的2.87版得到了修正


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


加好友 发短信
等级:论坛游侠 帖子:273 积分:365 威望:0 精华:1 注册:2011/4/13 11:57:13
还有个小错  发帖心情 Post By:2012/4/19 0:35:53 [只看该作者]

A:=CLOSE;

B:=0;

 

CC:A/B;

 

结果:CC=CLOSE.

[此贴子已经被作者于2012-4-19 0:38:46编辑过]

 回到顶部