|
需求:ea或者指标发送的提醒即时到达用户的安卓手机
背景:一方面google部分服务无法连接,导致MT安卓版无法获取MetaQuotes ID,进而MT的通知功能无法推送到手机;另一方面即使架梯子得到ID,由于google的FCM在大陆不稳定,也不能满足要求。
解决方案: 1、换苹果手机。(本人没测试,需要苹果用户帮忙验证) 2、使用MT的邮件通知功能。
关于解决方案2的两种操作: 操作一:也是最简洁的常规思路。MT电脑版设置好SMTP服务后,手机通过Android内置的exchang服务或者各大邮箱的独立app接受推送。但是事实证明,可能因为使用国内邮箱推送的用户太少,这个最简洁的路径大厂疏于维护,少数情况下延迟很严重。
操作二:也是我今天发帖的主要目的。通过QQ信箱和微信里的QQ邮件提醒,来曲线获得MT的推送。事实证明,推送的稳定性和及时性大为改善。 具体操作方法: 1、登录QQ信箱,开启SMTP服务,并且获得授权码(授权码很关键)。 2、在MT电脑版的邮件设置里,按照QQ邮件的帮助文件设置SMTP,密码一栏不要填写自己的密码,要填写授权码! 3、打开手机微信,设置-通用-辅助功能,开启QQ邮箱提醒。(我的QQ号就是微信号所以直接连接上了,其它情况需要看官自己找资料解决) 4、在自己的MQL程序中使用SendMail()函数(如下方框示意代码)
|
void doAlert(datetime current, string txt) { static datetime pastt; static string pasttxt; //--- 超过参数指定的间隔,就复位一次,也就是说同样的提醒内容在指定间隔外可以重复提醒。 if(TimeCurrent() > pastt) pasttxt=""; if(pasttxt != StringSubstr(txt,0,6)) { //--- 硬约束,遇到第一声警报后,同样的提醒在5分钟内保持静默。 pastt=TimeCurrent()+300; pasttxt=StringSubstr(txt,0,6); Print(txt); PlaySound("request.wav"); //SendNotification(txt); //Alert(txt); SendMail(txt,txt); } }
|
5、如果一切无误,在MT的设置界面点击测试后,微信上应该立刻受到推送的提醒了。
|