NotifyMe for MT4
- 实用工具
- Denis Zyatkevich
- 版本: 1.1
- 更新: 27 九月 2018
- 激活: 5
概览
本 EA 在检测到交易账户的任何变化时,发送通知到移动终端,通过邮件或激活声音警报: 开仓/平仓,改变订单参数,余额或杠杆。此外,EA 在交易账户的净值跌至低于指定值或可用保证金相比保证金很小的时候发送通知。本 EA 不进行交易, 它仅监控您的账户。
启动 EA
为了 EA 的工作,将文件 NotifyMe.ex4 放置 终端文件夹/experts (可能它会自动放在那里)。NotifyMe 应该会出现在导航窗口的 EA 区域。如果没有, 重启 MetaTrader 4 终端。
为了让 EA 工作,在 MetaTrader 4 的设置中允许使用 EA。为此,进入工具菜单,之后选项,之后选择 EA 选栏。启用允许 EA 选项 (接受定制指标和脚本)。
要启动 EA,在导航器窗口鼠标右键点击其名称,然后选择 "挂载到图表",或者用鼠标拖放到图表上。EA 的参数窗口将会出现:设置所需的参数,然后点击确定。
此 EA 可以挂载到任意金融工具的图表上,因为 EA 在每次即时报价来到时分析交易账户状态,为了降低通知的延迟,建议在报价比较活跃的品种里运行此 EA (例如, 以下货币对之一: EURUSD, GBPUSD, USDCHF 或 USDJPY)。时间帧任意。
EA 的输入参数
- Push_Notify_Events - 选择您希望通过移动终端通知的事件 (0 - 通知禁用, 1 - 仅通知开/平仓, 2 - 通知所有事件);
- Push_Notify_Critical_Equity - 交易账户 (净值) 的临界值 (入金货币)。当达到该值时,通知被发送到移动终端;
- Push_Notify_Critical_Margin - 可用保证金相比保证金的临界百分比。当达到该值时,通知被发送到移动终端;
- Push_Repeat_Interval - 到达临界值时发送推送通知的最小间隔时间 (秒);
- Push_Notify_Interval - 发送通知到移动终端的最小时间间隔 (单位秒);
- Push_Length_Limit - 发送到移动终端的最大消息长度;
- Mail_Notify_Events - 选择您希望通过移动终端通知的事件 (0 - 通知禁用, 1 - 仅通知开/平仓, 2 - 通知所有事件);
- Mail_Notify_Critical_Equity - 交易账户 (净值) 的临界值 (入金货币)。当达到该值时,通知通过邮件发送;
- Mail_Notify_Critical_Margin - 可用保证金相比保证金的临界百分比。当达到该值时,通知通过邮件发送;
- Mail_Repeat_Interval - 到达临界值时发送邮件通知的最小间隔时间 (秒);
- Mail_Notify_Interval - 通过邮件发送通知的最小时间间隔 (单位秒);
- Sound_Notify_Events - 选择您希望通过声音通知的事件 (0 - 通知禁用, 1 - 仅通知开/平仓, 2 - 通知所有事件);
- Sound_Notify_Critical_Equity -交易账户 (净值) 的临界值 (入金货币)。当达到该值时,播放通知声音;
- Sound_Notify_Critical_Margin - 可用保证金相比保证金的临界百分比。当达到该值时,播放通知声音;
- Sound_Repeat_Interval -到达临界值时播放声音通知的最小间隔时间 (秒);
- Sound_Notify_Interval - 通过声音提示通知的最小时间间隔 (单位秒);
- Sound_File_Name - 当事件发生时激活提示声音的文件名;
- Use_Local_Time - 指定发送消息至移动终端或邮件的时间 (false - 服务器时间, true - 运行 EA 的 PC 本地时间);
- Show_Information -显示 (true) 或隐藏 (false) 有关服务器的时间信息, 本地时间并设置触发通知的条件。
计算可用保证金级别
正如前面提到的,EA 可以通知可用保证金相比保证金百分比的减少。让我们来看看计算可用保证金水平的更多细节。在大多数情况下 (包括 MetaTrader 4 交易终端),保证金数值的定义要考虑经纪商提供的杠杆。但经纪商可以随时更改杠杆,保证金价值也随后改变。大多数情况下,杠杆值对于交易不是那么关键 (除非使用最大可能的开仓量进行风险交易)。因此,该 EA 计算保证金数值,而不考虑杠杆。可用保证金水平定义为可用保证金与保证金的百分比数值。
我们来研究以下例子。假设 1 手等于 10 万基本货币单位。EURUSD 的开仓位在 1.3,手数为 0.10 手。对于买入或卖出 0.10 * 100000 = 10000 EUR,我们需要 13000 美元。此数值被认作 EA 的保证金 (虽然许多情况这个数值会有杠杆作用, 例如, 如果杠杆为 1:100, 则我们需要 130 美元保证金)。如果本金等于 1000 美元, 在开仓之后可用保证金为 1000 - 130 = 870 美元, 此刻保证金级别的计算将按照 870 / 13000 = 0.0669 或 6.69 %。如果我们设置保证金限制, 在到达 5% 时发送, 则可用保证金等于 0.05 * 13 000 = 650 美元或净值比较 650 + 130 = 780 美元。
尽管定义可用保证金级别明显很复杂,这种方法提供了在实践中最有意义的结果。
发送通知至移动终端。
首先,您应该有 MetaTrader 4 或 MetaTrader 5 的移动版本终端安装在您的安卓或 iOS 的智能设备上,以便接收通知。您可以下载 MetaTrader 4 或 MetaTrader 5 移动终端,安卓版和 iOS 版都是免费的。
您也应该在启动 EA 的 MetaTrader 4 交易终端上允许推送通知。为此, 进入工具 – 选项 – 通知选栏, 选中 "启用推送通知" 参数,并指定您的移动终端上消息栏里面的 MetaQuotes_ID。
"Push_Notify_Events" 参数允许您指定发送到移动终端的事件类型。如果设为 2, 您将接收以下事件通知: 开仓和平仓, 持仓的止损和止盈改变, 挂单参数改变 (开仓价, 止损或止盈), 账户余额和杠杆的变化。数值 1 意味着通知仅在开仓和平仓时发送。数值 0 意即禁用发送通知到移动终端 (此参数不影响可用保证金和净值通知)。
"Push_Notify_Critical_Equity" 参数允许定义临界值 (最小) 净值 (按照入金货币)。当到达此值, 发送通知到移动终端。如果设为 0, 不会发送净值降低通知到移动终端。
"Push_Notify_Critical_Margin" 参数允许定义临界值 (最小) 可用保证金级别 (百分比数值)。当到达此值, 发送通知到移动终端。如果设为 0, 不会发送可用保证金级别通知到移动终端。
有关交易账户事件, 还有净值或可用保证金触及临界级别的信息, 在一定条件下都会加入发送到移动终端的消息里。
"Push_Repeat_Interval" 参数允许您设置时间间隔 (秒), 净值或可用保证金临界级别的信息加入到推送消息准备发送。
"Push_Notify_Interva" 输入参数允许您设置发送通知到移动终端的最小时间间隔 (单位秒)。如果当前与之前发送的消息时间间隔小于指定时间,EA 不会发送新的通知。它将以保存通知替代。若当前时间距之前发送的时间大于 "Push_Notify_Interval" 参数中指定的时间,EA 会发送间隔期间累积的所有事件的描述信息。这有一个限制 (由 MetaQuotes 开发的推送通知服务),即单位时间内发送消息的数量: 每秒不超过 2 条,或每分钟不超过 10 条消息 (如果违反此限制,发送推送通知可被 MetaQuotes 阻止)。因此,不建议设置非常小的数值 (特别是那些会产生高频事件的交易帐户)。
" Push_Length_Limit" 参数允许您设置发送到移动终端的消息所含最大字符数量。如果消息太长,按照参数中指定的长度截尾。最大允许推送消息的长度为 255 个字符。一条消息包括两部分: 账户号码和拥有者的名字 (自动生成) 和由 EA 生成的事件描述 (它的长度由 "Push_Length_Limit" 参数限制)。在某些情况下,如果一条消息的长度超过 255 个字符,则可能在移动终端中变得不可见。"Push_Length_Limit" 参数值的选择应该基于自动添加的消息部分 (账户号码和拥有者名字)。
通过邮件发送通知
要通过邮件接收通知,您应当在运行 NotifyMe 免费版的 MetaTrader 4 交易终端的设置里允许发送邮件。为此,进入工具 – 选项 – 邮件选栏, 选中启用参数并指定您的邮件账户以及 SMTP 邮件服务器参数。
由 EA 通过邮件发送的消息标题为 "Account account_number notification"。
"Mail_Notify_Events" 参数定义邮件通知的事件类型 (类似于 "Push_Notify_Level" 发送到移动终端的参数)。如果设为 2, 您将接收以下事件通知: 开仓和平仓, 持仓的止损和止盈改变, 挂单参数改变 (开仓价, 止损或止盈), 账户余额和杠杆的变化。数值 1 意味着通知仅在开仓和平仓时发送。数值 0 意即禁用发送邮件通知 (此参数不影响可用保证金和净值通知)。
"Mail_Notify_Critical_Equity" 参数允许定义临界值 (最小) 净值 (按照入金货币)。当达到该值时,通知通过邮件发送。如果设为 0, 不会发送净值降低通知邮件。
"Mail_Notify_Critical_Margin" 参数允许定义临界值 (最小) 可用保证金级别 (百分比数值)。当达到该值时,通知通过邮件发送。如果设为 0, 不会发送保证金降低通知邮件。
有关交易账户事件, 还有净值或可用保证金触及临界级别的信息, 在一定条件下都会加入发送到邮件的消息里。
"Mail_Repeat_Interval" 参数允许您设置时间间隔 (秒), 净值或可用保证金临界级别的信息加入到邮件消息准备发送。
"Mail_Notify_Interval" 输入参数允许您设置通过邮件发送通知的最小时间间隔 (单位秒)。如果当前与之前发送的消息时间间隔小于指定时间,EA 不会发送新的通知。它将以保存通知替代。若当前时间距之前发送的时间大于 "Mail_Notify_Interval" 参数中指定的时间,EA 会发送间隔期间累积的所有事件的描述邮件。一些邮件服务器将频繁的邮件视为不良行为。因此,不建议在 "Mail_Notify_Interval" 参数里设置过小的数值。
音频提示通知
"Sound_Notify_Events" 参数定义声音提示的事件类型 (类似于 "Push_Notify_Level" 发送到移动终端的参数)。如果设为 2, 您将接收以下事件通知: 开仓和平仓, 持仓的止损和止盈改变, 挂单参数改变 (开仓价, 止损或止盈), 账户余额和杠杆的变化。数值 1 意味着通知仅在开仓和平仓时发送。数值 0 意即禁用声音提示 (此参数不影响可用保证金和净值通知)。
"Sound_Notify_Critical_Equity" 输入参数允许您设置发送声音提示的最小时间间隔 (单位秒)。如果设为 0, 不会发送净值降低声音提示。
"Sound_Notify_Critical_Margin" 参数允许定义声音提示的临界值 (最小) 可用保证金级别 (百分比数值)。如果设为 0, 不会发送保证金降低声音提示。
" Sound_Repeat_Interval" 参数允许您设置净值或可用保证金临界级别的声音提示时间间隔 (秒)。
"Sound_Notify_Interval" 输入参数允许您设置发送通知的最小时间间隔 (单位秒)。
"Sound_File_Name" 允许您设置通知到达时激活的声音文件名。文件以 .wav 格式保存在 终端文件夹/sounds 或它的子目录里。
屏幕上显示数据
如果 Show_Information 参数设为 true,则服务器和本地时间的信息将显示在图表的左上角,以及每个通知类型触发的条件和设置。
通过程序发送的消息例子
- Placing a pending order: 2013.08.12 14:56:13 EURUSD Place Sell Limit 0.10 at 1.32920, SL: 1.33000, TP: 1.32820, Comment: Test order;
- Changing pending order parameters: 2013.08.12 14:56:28 EURUSD Modify Sell Limit 0.10, Open: 1.32920 -> 1.32900, SL: 1.33000 -> 1.32980, TP: 1.32820 -> 1.32800;
- Deleting a pending order: 2013.08.12 14:56:34 EURUSD Delete Sell Limit 0.10 at 1.32900;
- Opening pending order: 2013.08.12 14.56.49 Sell Limit -> Sell at 1.32900, SL: 1.32980, TP: 1.32800, Comment: Test order;
- Opening market position: 2013.08.12 14:56:52 EURUSD Sell 0.10 at 1.32900, SL: 1.32980, TP: 1.32800, Magic: 17;
- Closing position: 2013.08.12 15:13:20 EURUSD Close Sell 0.10 at 1.32800, Magic: 17, (Profit: 10.00 USD), Balance: 1010.00 USD (Equity: 1010.00 USD);
- Reaching critical equity or free margin: 2013.08.12 15.32.16 Equity: 1004.30 USD, Free Margin: 868.47 USD;
免费版本和 MetaTrader 5 版本
NotifyMe 免费版用于 MT4 - 免费版与完整版的不同之处在于, 它只允许发送开、平仓通知。同样, 用于 MetaTrader 5 终端上的完整版和免费版应用程序功能类似。
警告
对于 MT4 的 NotifyMe 免费版,开发者不负责由于 MT4 交易终端或 MQL4 语言升级带来的程序修改或终止 - MetaQuotes 公司。对于 MT4 的 NotifyMe,开发者不负责因使用该程序工作,或其故障,而导致的任何亏损,破坏或错失利润。
联系信息
如果您对应用程序有任何问题,它的操作评论,或未来的改进建议,请通过 邮件 发送它们或通过本网站的个人消息留言。让我知道您希望看到什么样的产品 (EA,指标,脚本)。
Works correctly. Please don't write directly to me about my review, I'll not answer.