Mac运行MT4 - MT4资金变动明细查看方法全程拆解_模板保存让设置一劳永逸

MT4交易记录的存储机制与保存期限
MT4这款软件在设计的时候,其实并没有给交易记录设定一个硬性的保存期限。我翻过MetaQuotes官方的技术文档,也跟一些资深的平台管理员交流过,大家的一致看法是,交易记录理论上是可以永久保存的。关键就在于这些数据存在哪里,以及你的平台商有没有做过清理操作。
具体来说,MT4的交易记录分为两种存储方式。一种是保存在你本地电脑上的,路径通常是在安装目录下的history文件夹里,文件名以你的账户数字命名,后缀是.hst和.dat。这种本地存储的记录,只要你电脑不坏、文件不删,放个十年八年都没问题。另一种是保存在交易服务器上的,服务器端会记录你账户的所有历史交易数据,这个就更不用担心了,正规平台的服务器数据保存时间通常都在五年以上,有些大型平台甚至是永久保存。
不过这里有个容易被忽视的细节,MT4客户端默认显示的记录范围是有限的。你打开账户历史窗口,默认可能只能看到最近三个月的数据,但这不代表更早的数据丢了,只是软件默认不显示而已。
很多新手一看历史记录里没有几个月前的单子,就以为被删了,其实完全不是这么回事。
实盘与回测中参数生效的差异
在实盘交易中,修改参数后点击确定,EA会在下一个tick到来时使用新参数运行。不过这里有个细节要注意:如果EA正在处理某个订单或者处于某个函数执行过程中,参数变更不会中断当前操作,要等当前代码块执行完毕,下一次调用主函数时才会读到新值。大多数情况下,这个延迟可以忽略不计,因为MT4的tick频率很快。
但在策略测试器里,情况就完全不同了。回测时MT4会重新加载EA,读取你设置好的参数,然后从头开始模拟。所以回测前改参数,必须保证参数已经保存,而且测试器每次运行都是"冷启动",不存在实盘中那种内存里旧值残留的问题。如果你在回测中途改了参数再按开始,测试器会先重新初始化EA,所以参数肯定是新的。
还有一种特殊情况:如果你修改的是EA的输入参数,但EA内部有全局变量或者静态变量,这些变量在EA生命周期内会保留状态。比如某个EA用静态变量记录上次开仓时间,你改了参数后,这个静态变量不会自动重置。这意味着新参数可能要等这个状态变量自然更新后才完全生效。遇到这种EA,最稳妥的办法是删掉图表上的EA,重新拖一次,让所有变量归零。
实现弹窗提醒和声音提示功能
判断出交叉之后,接下来就是怎么提醒用户的问题了。最简单的办法是用Alert函数,这个函数会弹出一个对话框,同时电脑会发出提示音。不过Alert有个小毛病,就是弹出的对话框必须手动点确定才能关掉,如果你正在看别的图表,可能会有点烦人。所以我建议用Alert加上SendNotification结合的方式,这样手机上的MT4也能收到推送消息,就算人没坐在电脑前也不会错过信号。
还有个小细节容易被忽略,就是重复提醒的问题。假如一根K线上反复出现交叉,那程序就会一直弹窗,这显然不是我们想要的。解决办法是设置一个全局变量,记录上一次提醒的K线时间,如果当前K线时间跟上次提醒的时间相同,就跳过提醒。我常用的做法是用Time[0]来获取当前K线的开盘时间,把它存到一个静态变量里,每次判断前先比较一下,时间不同才执行提醒动作。
另外,我还喜欢在提醒的时候顺便输出一些附加信息,比如当前两条均线的具体数值,这样不用切回图表就能看到关键数据。用StringFormat函数把文本格式化好,然后放在Alert的参数里就行。说实话,这个功能虽然简单,但用起来真的很方便,尤其是做多品种监控的时候,一眼就能看出是哪个品种、什么周期、哪两条均线发生了交叉。
模板保存让设置一劳永逸
费了半天劲调好的深色主题,如果因为切换图表周期或者重新打开软件就变回白色,那也太让人崩溃了。MT4其实提供了保存模板的功能,可以把你调好的所有颜色设置固化下来。在图表上右键,选择“模板”,然后点“保存模板”,给模板起个名字,比如就叫“DarkTheme”,保存完事。
以后打开任何新图表,哪怕是新开一个交易品种,只需要在图表上右键,选择“模板”,再点你保存的那个深色模板,所有颜色设置就会自动应用上去。这个操作比每次按F8去手动调整快得多,几秒钟就能搞定。如果你经常同时看多个图表窗口,可以先把所有窗口都应用一遍模板,然后保存为“默认模板”,这样MT4每次启动新图表时都会自动使用深色配置。
还有一个细节值得注意,如果你用了多个交易账户,不同账户之间的模板是通用的,保存在MT4的安装目录下,不用每个账户重复设置。但如果你重装了MT4或者换了电脑,记得把安装目录下的“Profiles”和“Templates”文件夹备份一下,里面存的就是你的布局和模板设置,拷到新电脑的同名目录下就能无缝迁移。