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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 轮询中条件语句不起作用?

   

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


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

主题:轮询中条件语句不起作用?

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


加好友 发短信
等级:论坛游侠 帖子:472 积分:0 威望:0 精华:0 注册:2014/10/27 16:51:49
轮询中条件语句不起作用?  发帖心情 Post By:2016/5/12 16:31:43 [显示全部帖子]

我想控制轮询中某些语句的执行次数,试验中碰到条件语句在轮询中不起作用的奇怪现象。公式如下:

variable:exe=0;
tb:todaybar,nodraw,colorwhite;
aa:=numtostr(tb,0);
if islastbar and exe=0 then 
begin
msgout(1,aa);
exe:=1;
end;

check_exe:exe,nodraw,colorwhite;

设计意图是msgout只执行一次,下一次就不再执行了,但实际执行结果是回测正常,但实盘就不对,msgout不断执行。详见附件截图。请问msgout语句在轮询中为何会反复执行?
图片点击可在新窗口打开查看此主题相关图片如下:未命名图片1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:未命名图片2.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:472 积分:0 威望:0 精华:0 注册:2014/10/27 16:51:49
  发帖心情 Post By:2016/5/12 16:39:07 [显示全部帖子]

你里面的i是什么?

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


加好友 发短信
等级:论坛游侠 帖子:472 积分:0 威望:0 精华:0 注册:2014/10/27 16:51:49
  发帖心情 Post By:2016/5/12 17:23:11 [显示全部帖子]

我猜i是islastbar吧。我明白你意思,判断语句在赋值语句之前,那时exe值还是0,因此条件判断通过。但我不理解的也是这里,exe已被声明为全局变量,轮询第一次的时候exe应该已被赋值为1,那么第二次轮询的时候exe值为什么又变回0呢?

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


加好友 发短信
等级:论坛游侠 帖子:472 积分:0 威望:0 精华:0 注册:2014/10/27 16:51:49
  发帖心情 Post By:2016/5/12 18:14:55 [显示全部帖子]

嗯,现在明白了,换成globalvariable使刷新不会重置exe值就可以了。谢谢。

 回到顶部