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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 全局变量是不是每次轮询都给初始值?

   

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


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

主题:全局变量是不是每次轮询都给初始值?

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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 15:36:54 [显示全部帖子]

我的意思是,用variable的全局变量,逐k线刷最后一根且轮询时,每次轮询都会给初始值。

比如轮询时间隔10秒,则10秒后,该全局变量又变回初始值了,丢失了轮训前的值

 

轮询是不是相当于加载一次?所以会给初值?

 

我看论坛里好像说gloable的也是这样


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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 15:48:14 [显示全部帖子]

以下是引用pyd在2017/5/10 15:24:34的发言:

variable全局变量吗?你给它重新初始化才会变为最初的值,不初始化就是根据你的条件累加,例如

VARIABLE:n=0;
if o<c then n:=n+1;
nn:n;

从图表第一根k线开始,第一根阳线是1,第2根阳线n是2一直这样向后累加,初始化后从新计算。

版主你说的是图表阶段的。你进图表交易后,带轮询的实盘\模拟盘,结果就不一样


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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 15:55:53 [显示全部帖子]

间接测到的。

没有走到给初值的代码,进入判断条件时,却总是初值进来判断


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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 16:06:40 [显示全部帖子]

2017-05-10 14:31:54.587     jjpc=0
2017-05-10 14:31:54.603    tbuyholding=1
2017-05-10 14:31:54.603    sp=1
2017-05-10 14:31:54.603    low=3072
2017-05-10 14:31:54.619    cpre=3078.0
2017-05-10 14:31:54.619    cpre-wap=3072.0
2017-05-10 14:31:54.619    CURRBARSCOUNT=1
2017-05-10 14:31:54.619    jjpc赋值:jjpc=1
2017-05-10 14:31:55.150     jjpc=0

 

这是我跟的日志。

第一条到倒数第二条是一个完整轮询,每秒轮询的。

最后一条执行到跟第一条位置相同的地方,发现jjpc=初始值了。我在初值赋值里也加了dbg,日志里没有说明没进到给初值的代码,jjpc却自动还原了.


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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 16:39:07 [显示全部帖子]

随后的日志显示jjpc按照0值走下去

晚上我给一个1000的初值,看看怎样


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


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2017/1/11 17:29:27
  发帖心情 Post By:2017/5/10 21:31:37 [显示全部帖子]

GLOBALVARIABLE:a=0;
VARIABLE:b=0;
if islastbar then
begin
 a:=a+1;
 b:=b+1;
 msgout(1,'a=' & numtostr(a,0) & ' b=' & numtostr(b,0));
end;

上面的代码是网友klc在http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=48570给出的
你们看variable在逐k线轮询模式下,是不是每次轮询就清零

 回到顶部