目录

MT4斐波那契线 - MT4平仓后持仓注释仍完整留存于历史记录_编写脚本核心代码的步骤

MT4平仓后持仓注释仍完整留存于历史记录_编写脚本核心代码的步骤
很多做交易的朋友在MT4上操作时,都会习惯性地在持仓订单里加上一些注释,比如“突破追单”“非农前避险”“手动止损调整”这类标记。说实话,这些注释在持仓过程中看得很清楚,但一旦订单平仓,不少人就开始犯嘀咕:这些注释到底会不会跟着消失?会不会在历史记录里变成空白?其实这个问题我一开始也困惑过,后来专门做了几次测试,才彻底搞明白MT4的存储逻辑。

为什么优化结果容易让人误判

参数优化的本质,其实是在历史数据里找一个“最合适”的组合,让回测报告看起来完美无缺。但问题恰恰出在这里,历史数据是固定的,你反复调整参数去适配它,就像做一套量身定制的西装,裁缝量了你的三围,做出来当然合身。可市场不会永远穿同一件衣服,换个时间段,那些参数可能立马失效。我见过有人把布林带参数优化成(10, 1.5),回测五年年化收益翻倍,结果实盘三个月就亏掉一半,原因很简单,那套参数只对过去那五年的行情有效。

另一个容易被忽略的问题是过拟合。优化次数越多,参数组合越复杂,过拟合的风险就越大。比如你同时优化MACD的快线、慢线、信号线三个参数,加上移动止损的比例,再加一个时间过滤条件,那么多变量叠在一起,总能在历史数据里找到一个“完美”的角落。但这个角落可能只是一个噪声的巧合,根本没有统计意义。说白了,你把数据揉得越碎,就越容易看到自己想看的东西。

还有一点,MT4自带的优化功能用的是逐笔报价或者控制点模式,但默认的模型精度往往不够高。我试过用同样的参数组合,分别用“每个报价”和“控制点”模式跑回测,结果最大回撤差了将近三倍。这说明什么?说明优化结果本身就对回测精度极其敏感,你用的数据颗粒度不一样,结论就完全不一样。这种情况下,你还能说那个“最优参数”是可信的吗?

所以,当你看到优化报告里那个亮眼的盈利因子和低回撤数字时,先别高兴太早。那不是胜利的号角,更像是警钟。真正需要做的,是把那些参数拿到样本外数据上去检验,看看它是不是还能活下来。

编写脚本核心代码的步骤

打开MetaEditor编辑器,点击新建,选择脚本模板,然后开始写代码。第一步要定义输入参数,比如设置默认的止损点数。这里我建议用双精度浮点数来表示价格,因为价格有小数位。输入参数的好处是,每次运行脚本前可以灵活调整,不用每次都改代码。

核心循环部分其实不复杂,就是先获取订单总数,然后从0开始循环到总数减1。每次循环都用OrderSelect选中一个订单,然后检查这个订单是否满足条件。条件包括:订单是否属于当前货币对,订单类型是否是市价单,订单的止损是否已经设置过。只有满足所有条件,才执行修改操作。

修改止损的函数是OrderModify(),这个函数需要传入订单号、开仓价、新止损价、获利价、过期时间和箭头颜色。这里要注意,开仓价和获利价必须从订单中读取原值,不能自己随便填,否则会报错。我写代码时习惯先把原值存到变量里,然后再传入修改函数,这样比较安全。

代码写完后,点击编译按钮,检查有没有语法错误。如果有红色报错信息,就根据提示修改代码。编译通过后,脚本文件会出现在MT4的导航器窗口里,展开脚本文件夹就能看到。这时候把脚本拖到图表上,就会弹出一个参数设置窗口,确认参数没问题,点击确定就开始执行了。

修改配置文件指向新路径

数据复制好之后,接下来最关键的一步就是让MT4知道数据已经搬家了。MT4的配置文件是一个名为config的文本文件,通常位于安装目录下。用记事本打开这个文件,找到与数据路径相关的设置项。

在配置文件中搜索"DataFolder"或者"Portable"这样的关键词,不同版本的MT4可能略有差异。如果是便携版,你会看到Portable=true这样的设置,这意味着MT4使用相对路径,也就是数据存放在安装目录下。我们需要把这个设置改掉,指定一个绝对路径。

具体操作方法是,将Portable的值改为false,然后添加一行DataFolder=D:\MT4Data,保存文件后重新启动MT4。启动时软件会读取这个配置文件,按照新的路径去加载数据。如果一切正常,你会发现之前所有的图表、指标、EA都完好无损地加载出来,说明路径修改成功了。

保存修改并验证效果

所有参数都调整完毕后,记得点“确定”按钮保存修改。这时候你会回到警报列表窗口,能看到刚才修改的那条记录已经更新了。如果条件前有个小勾号,说明提醒功能处于启用状态,如果没有勾,需要手动勾选或者点“启用”按钮。很多人改完条件忘了重新启用,结果价格到了位置也没收到提醒,这种情况我见过不少次。

保存之后最好做个简单测试,确认修改生效了。测试方法不复杂,把触发价格设成当前市价附近,比如现价是1800,你设成1800.5,只要价格稍微波动一下就会触发提醒。如果收到了提示,说明一切正常,再把价格改回你真正想要的位置就行。这个验证步骤花不了半分钟,但能避免很多麻烦。

最后多说一句,MT4的警报功能支持多条件同时设置,你可以针对同一个品种设好几个不同价位的提醒,也可以在不同图表上分别设置。
修改提醒条件这个操作本身并不复杂,关键是要熟悉各个参数的含义。平时多琢磨琢磨,把每个选项都试一遍,自然而然就记住了。下次行情有变动,你就能第一时间收到通知,不用再傻傻地盯着屏幕看了。

文章目录