智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 3574|回复: 2

怎么让技术指标每分钟执行运算一次?用Sleep()函数可以实现吗?

[复制链接]
发表于 2014-7-31 15:14:24 | 显示全部楼层 |阅读模式
怎么让技术指标每分钟执行运算一次?用Sleep()函数可以实现吗?

朋友让我帮忙写一个指标,要求达成条件之后报警,每分钟最多只报警一次。

Alert("注意,一大波行情正在靠近!");
PlaySound("news.wav");
Sleep(b*1000);

关于报警的部分我写了以上的语句,但是每次符合条件的时候仍然会不停地报警,也就是价格跳动一次就报警一次,一分钟能报警几十次,Sleep()函数好像都没有起作用。

请问老师,怎么可以实现“每分钟”最多只报警一次这个要求呢?
回复

使用道具 举报

 楼主| 发表于 2014-8-6 13:03:24 | 显示全部楼层
事实证明sleep()函数在技术指标里面不起作用,怎么让指标不要每次价格跳动都执行,或者怎么让指标语句在同一根K线上只执行一次,这个问题仍然没有找到解决方案。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-6 16:38:34 | 显示全部楼层
问题解决了,还是用老师教的经典语句:

datetime alarm=0;
if(alarm!=Time[0])   //datetime格式变量alarm在全局变量中定义,保证同一根K线只执行一遍代码。
                {
                 Alert("注意,"+Symbol()+IntegerToString(Period())+"一大波行情正在靠近!");
                 PlaySound("news.wav");
                 alarm=Time[0];   
                }      

多谢光辉老师的指导!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-11-12 07:07 , Processed in 0.110031 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表