背景/使用动机
在使用自动化交易系统时,有时我们需要查询账户余额、已开仓位等信息,但此时可能远离交易终端。只要有互联网连接,并且在任何电脑或设备上能够使用ICQ,就能方便地获取这些信息。没有时间或者不想安装和登录MetaTrader来查看这些常见数据,因此我想到了通过ICQ获取交易账户信息的方法。
实现方案
我选择了保存信息到txt-文件,以及根据请求发送信息的方式来实现这个想法。
- 我开发了一个通用的mt-顾问exp_statusbot来保存信息。它会将账户余额信息保存在status.txt中,同时记录已开仓位的变化情况到notify.txt文件。
- 为了发送来自txt-文件的信息,我制作了一个简单的icqbot mustwatcher。它会分析请求并将答案发送给请求者。
安装说明
- 下载并编译exp_statusbot.mq4。
- 启动MT并将顾问添加到任意图表。
- 下载icqbot mustwatcher_v1.16.zip。
- 启动该机器人(请确保您计算机上已安装“Microsoft .NET Framework 3.5”)
- 使用Add按钮添加所需的status.txt和notify.txt文件(位于<metatrader_dir>\experts\files\statusbot)到列表中。
- 为机器人注册UIN(统一识别号,或者直接说就是可以在官网获得的ICQ号码)https://www.icq.com/register
- 输入机器人的UIN和密码。
- 输入您的姓名作为管理员。
- 点击Connect
然后从您的UIN发送命令!status(与文件名status.txt相同)来获取需要的信息。
要启用自动通知文件变化(此处为notify.txt),我们可以输入!spamon。之后,在对应的修改发生时,我们将收到所订阅的信息 =)
管理员可以将其他用户添加到注册表中,以便他们也能访问这些信息。
这只是一个示例。无需多言,您可以根据需要创建任意数量的txt文件,并在对应的请求下获取这些内容。
所有可用命令的列表可以通过!help得到,或者在文件<mustwatcher_dir>\data\help_admin.txt中查看。机器人的界面包含几个按钮,因此您不会感到困惑。
简而言之,想要了解的人都能掌握。
完结。
更新
MustWatcher v1.05 增加了程序启动时自动连接功能。
MustWatcher v1.06 增加了程序启动时自动启动的复选框。可以最小化到系统托盘。
MustWatcher v1.07 1) 更改了需要查看的文件列表方案,现在在获取文本文件内容之前,您需要使用Add按钮将其添加到列表(Watcher标签)中。2) 反馈系统已更改,现在您可以在任何文本文件中添加自己的命令(Feedback标签)。
exp_statusbot.mq4 增加了记录数据文件的功能,该文件将通过电子邮件发送。
exp_statusbot.mq5 增加了记录必要的邮件报告数据文件的功能。
MustWatcher v1.08 增加了生成详细报告并发送到指定电子邮件的功能。要接收报告,您需要将数据文件添加到相应的列表(Watcher标签)。文件名不带后缀也是请求命令(例如,如果您发送命令!report,机器人将根据report.txt中的数据生成报告)。
MustWatcher v1.10 修复了错误。
MustWatcher v1.13 优化,修复了错误。
MustWatcher v1.16 优化,修复了错误。