MT4开发技巧 -- 发送通知的N种方法

在开发过程中,经常会有发出通知的需求。不管是发出声音提醒交易者还是不在电脑前甚至是户外的时候提示,这些需求始终是对于我们来说非常重要的。

那么如何才能及时的提示用户出现的交易信号呢?

今天就给大家介绍几种方式,这些方式各有各的优缺点,只适合在特定的需求环境中使用。

1,发出声音。

MT4内置的函数中,有一个可以播放wav格式音频的函数(PlaySound),它的作用就是播放声音,参数是声音的文件名,示例代码如下:

if(达到发出信号的条件){ PlaySound('alert.wav');}

alert.wav是MT4系统自带的声音文件,我们利用这个函数来实现播放声音,剩下的只需要电脑接上音箱并且把声音开大。该方法最为简单,但是只适合人在一个房间中这样的环境中使用。

2,发送邮件。

第二个介绍给大家的方法是利用MT4的发邮件功能来当通知。首先我们要配置下邮件设置,在MT4菜单中,选择工具->选项

在打开的对话框中,选择电邮选项卡

勾选启用复选框,并输入下面的内容:

(1)SMTP服务器。SMTP就是简单邮件传输协议(Simple Mail Transfer Protocol)的英文缩写,我们现在发电子邮件都是通过SMTP服务器来发邮件的,所以我们如果要发送邮件就需要指定SMTP服务器的地址和端口号(中间用冒号分隔),以163邮箱为例,则应该填写:smtp.163.com:465。

(2)电邮登陆账号。此项就是填写发送方的邮箱地址。

(3)电邮密码。发送方邮箱的密码。

(4)发件人。此项可以填写一个名字或者直接填写发送方的邮箱地址即可。

(5)收件人。填写接收方的邮箱地址。

填写完后,点击测试看看能不能收到一封邮件,如果没有问题点击确定,配置完成。

第二步我们在代码中调用MT4自带的发邮件的函数来发送邮件,示例代码如下:

    if(达到发出信号的条件){   SendMail('要发送的邮件标题','邮件内容');}

最后一步,我们在手机上装一个接收邮件的APP,当有新邮件时,手机就会有提示,这样即使我们在外面也可以收到交易信号的通知了。

3,发短信。

此方法需要一定的程序开发能力,适合专业的开发人员来使用。大体思路是开发一个发送短信的程序并部署到一个网站上,当出现交易信号时,发送一个HTTP请求到该服务器上,这样就发送了一个短信到我们的手机上来实现通知。

第一步我们需要在MT4中配置下发送网络请求的域名。出于安全的考虑,MT4发送网络请求时必须要在软件中配置好域名信息,这样才能发送成功。具体操作如下:

还是在菜单中选择工具->选项,然后选择EA交易选项卡:

勾选允许WebRequest用于所列URL,并在下面添加自己的网络域名。

第二步访问自己的网站来发送短信:

if(达到发出信号的条件){ char post[],result[]; string headers; int ret = WebRequest('GET','您的服务器地址',NULL,NULL,5000,post,0,result,headers); if(ret == -1) { //访问出现错误 } else { string response = CharArrayToString(result);//response中是服务器返回的信息 }}

本篇文章是介绍MT4的开发,至于如何发送短信则不在本篇的讨论范围内。目前短信平台可以购买阿里云等相关的服务。

该方法是最复杂一种的发送通知方法,但是它比较灵活,可以实现一套针对多个客户的信号服务,如果您的公司面向交易客户提供各种交易辅助服务,那么这种方法无疑是最好的解决方案。

4,MT4的APP通知。

利用MT4的通知函数(SendNotification)把消息发送给手机端。相信大多数的开发者都对这个功能很陌生,其实它就是利用了MT4的社区功能实现的消息发送。此功能首先需要在社区(MQL5.community)里注册一个账号,并在MT4软件中做相应的设置,设置方法如下,

在菜单中选择工具->选项,然后选择社区选项卡:

填写自己的社区账号并登录。

在代码中编写如下代码:

if(达到发出信号的条件){   SendNotification('要发送的内容');}

同时,在手机上安装MT4的软件并登录(MT4的PC端和APP端必须是同一个平台)即可实现接收信号的推送通知。

以上这四种方法对应不同的情况,如果在家或办公室盯盘,则可以使用播放声音的方法来提醒有新的交易信号。如果外出则需要使用后面的几种方法。

在这里推荐使用最后一种方法,这种方法开发,设置都比较简单,即使是普通的交易者也可以轻松设置。

(0)

相关推荐