上个月在动车上盯着一波行情,EA明明触发了信号,我到家一看,早就走完了。那时候就下定决心,必须让那玩意儿能给我手机发消息。
MT5手机版支持推送通知——简单说就是一条短消息,直接弹到你手机锁屏上,不管MT5的App有没有开着。唯一的要求就是手机有网。弄完之后,EA那边一有动静,我手机上两三秒就响。
第一步:找到你的MetaQuotes ID
MT5装到手机上之后,会自动分配一个叫MetaQuotes ID的东西。官方文档管它叫"接收通知的唯一标识符",用大白话讲就是你的"交易短信接收号码"。
怎么找:
但在搞这些之前,先去手机系统设置里把通知权限打开:设置 > 通知 > MetaTrader 5,把"允许通知"打开。不然啥都收不到。
第二步:桌面终端这边怎么配
桌面端MT5的配置位置有点隐蔽——菜单栏里找工具 > 选项 > 通知选项卡。进去之后三步走:
- 本地程序端通知:桌面MT5来发。缺点是电脑得开着才能收到。
- 交易服务器通知:这个是真心推荐——直接从交易商服务器发出来。就算你电脑关机了,止损被触发或者订单成交了,手机照样能收到提醒。
第三步:用EA发警报——SendNotification函数怎么用
光有手动通知还不够,核心是把EA的警报也推过来。MQL5官方文档里有
SendNotification()这个函数,专门干这个事的。我在自己的EA里塞了这么一段,开仓的时候自动弹消息到手机:
``
mql5
void SendOpenAlert(string symbol, double price, string orderType)
{
string message = StringFormat(
"开仓通知: %s %s 价格 %.5f",
symbol, orderType, price
);
bool sent = SendNotification(message);
if(!sent)
Print("通知发送失败,错误码: ", GetLastError());
}
`
这个函数成功了就返回true。但有件事得注意——官方文档明明白白写着:每0.5秒不能超过1条,每分钟不能超过10条。如果你的EA疯狂发消息,后面的会被直接拦截。我之前有个EA测试的时候忘了加条件过滤,结果手机被消息轰炸了,后面全被限流。
还有个官方文档没细说的小技巧
如果你在用MQL5社区的功能,比如发布信号、卖EA什么的,可以把你的MetaQuotes ID填到MQL5个人资料的安全设置里。这样别人给你的文章评论、有人给你发私信、或者你在市场上卖的东西有更新了,手机都会收到提醒。我一开始也不知道,后来有次看到同行在论坛里说才知道这功能,省了不少来回刷网页的功夫。
参考来源:MetaTrader 5帮助中心 - 推送通知(metatrader5.com)。
本文首发于FXEAR.com,原创内容,未经授权禁止转载。
``