实战系列5:创建警报
在前面几节,我们学习了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指标,那么,指标报警时光有名称还不足够了,这时可把语句改写如下: