土地资源现状:实战系列5:创建警报 - 阿狼的MT4编程外汇博客

来源:百度文库 编辑:中财网 时间:2024/04/19 18:36:17

实战系列5:创建警报

2008年5月12日  |  21:49分类:MT4编程, MT4编程开发实战系列  |  1,313 views

在前面几节,我们学习了MT4编程开发中画图方面的一些基础知识,这次我们来学习一下如何在MT4编程中应用报警功能。
大家都知道,外汇市场是24小时不间断的,而人的精力是有限的,那么,在休息的时候如果价位到达了自己的目标价位,这时候该怎么办呢?答案是利用MT4的警报功能。在MT4平台上如何设置警报这里就不详述了,具体可参考帮助文档,这里说一下如何通过编程来实现。
首先,我们来实现一个最简单的指标:当价格到达指定价位时,进行报警。新创建一个指标文件,命名为:Lesson5_Alert_1。在程序头部加入如下一句:

其中红色部分为我们添加的语句。Extern的意思是Price为一个外部变量,可以在指标运行期间动态进行修改。
然后在start函数中加入如下语句:

编译后运行,然后把Lesson5_Alert_1指标添加到图表上,并设置好Price变量,当当前的卖出价等于设定的Price价格时,则会弹出如下的报警窗口:

Alert函数的意思是当满足if内设定的条件时,弹出一个警报窗口,把Alert函数内设定的内容显示出来,同时会发出警报声。
如果我把Lesson5_Alert_1指标同时添加到很多个货币对上,那么当指标弹出报警窗口时,我怎么才能知道是哪个货币对在报警呢?这时就必须为报警内容添上货币对的名称了。现在我们把刚才的语句改写如下:

重新编译并添加到图表上,当当前卖出价格等于Price指定的价格时,将会弹出如下的报警窗口:

可以看到报警窗口内已经显示出是哪个货币对在报警了,这都是Symbol()函数的功劳,Symbol函数的作用是获得当前指标所在图表的货币对的名称。与Alert函数类似的还有MessageBox函数,有兴趣的朋友可以自己查看帮助文档。
现在设想一下,假如同样是EURUSD货币对,同时打开了5分钟图、30分钟图、1小时图,并在每张图上都添加了Lesson5_Alert_1指标,那么,指标报警时光有名称还不足够了,这时可把语句改写如下:

此时,当卖出价到达指定价位后,弹出的报警窗口如下图所示:

Period函数的作用是获取指标所在图表的时间周期。http://www.dqyau.net/46.html