目录

MT4正版下载 - MT4定时持仓平仓EA编写实战操作详解_批量录入的变通办法与效率提升

MT4定时持仓平仓EA编写实战操作详解_批量录入的变通办法与效率提升
做交易的人都知道,MT4平台本身不带“持仓超过多久就自动平仓”这个功能。很多人手动盯盘,盯着盯着就过了时间,结果该走的单子没走,利润回吐甚至变成亏损。其实这事完全可以通过写一个简单的EA(智能交易系统)来解决,而且代码量并不大,逻辑也不复杂。今天我就把自己实际编写和测试这个“超时平仓EA”的过程完整写出来,从思路到代码,再到挂载调试,一步不落。

图表数量限制究竟藏在哪个菜单里

很多人拿到MT4第一反应就是去“工具”或者“视图”菜单里翻找,但说实话,这个功能的位置有点反直觉。它不在常规的菜单栏里,而是藏在“工具”菜单下的“选项”对话框内。打开MT4平台,点击顶部菜单栏的“工具”,在下拉列表中选择“选项”,这时会弹出一个多标签的配置窗口。

在这个窗口里,你会看到“服务器”、“交易”、“图表”、“EA交易”等多个选项卡。我们要找的设置就在“图表”这个选项卡里。点击“图表”标签,页面中间偏上的位置有一项叫做“最多图表数”,默认数值通常是128。这个数值代表平台允许同时打开的最大图表窗口数量。当打开的图表达到这个上限时,再想新建图表,系统就会提示无法创建新窗口。

修改的方法很简单,直接用鼠标点击这个数字,把它改成你需要的数值就行。比如你平时只看欧元兑美元、黄金和原油三个品种,那设置成10就完全够用了。改完之后点击“确定”保存设置,平台会立即生效,不需要重启软件。

这里有个容易踩的坑,就是有人以为这个数值代表“当前打开的图表数量”,其实不是。它是“允许打开的最大数量”,是一个上限值。当前打开多少个图表,取决于你实际新建了多少个窗口,而这个上限只是用来约束最大值的。

账户历史才是订单执行的完整记录

点开“终端”窗口下方的“账户历史”选项卡,这里才是查看订单执行情况的“档案馆”。默认情况下,这里显示的是最近一周、最近一个月或者最近三个月的记录,具体时间范围可以在空白处右键,选择“自定义”来设定。我一般习惯把时间范围拉长到半年,这样复盘起来更有全局感。

账户历史里每一行都代表一笔完整的订单记录,里面有开仓时间、平仓时间、订单类型、手数、开仓价、平仓价、手续费、库存费、净利润等信息。但这里有个小陷阱——如果你只是双击某一行,弹出的窗口只显示这笔单子的基本属性,看不到具体的成交时间点和成交价格。真正想看细节,得右键点击这一行,选择“订单详情”,会弹出一个更详细的窗口,里面按时间顺序列出了开仓、平仓以及每一笔相关的费用明细。

还有一个特别实用的功能是“报告”按钮。在账户历史选项卡下方,有个“报告”按钮,点击后可以保存一份HTML格式的账户交易报告。这份报告里包含了所有订单的完整执行数据,甚至还有资金曲线图。我每次月终复盘的时候,都会导出一份这样的报告,用浏览器打开,打印出来或者存成PDF,方便自己慢慢研究。

批量录入的变通办法与效率提升

如果是三五笔单子,手动敲也就几分钟的事,但遇到那种一天交易几十次的场景,一个个填能让人崩溃。我的经验是先用Excel把订单信息整理成表格,然后复制粘贴进MT4的“添加”表单里。虽然不能直接导入文件,但剪贴板的数据粘贴效率比手动打字快不少,尤其是数字字段,复制粘贴基本不会出错。

还有一种更取巧的方式:利用MT4自带的“报表”功能。你可以打开“账户历史”选项卡,右键选择“保存为详细报表”,系统会生成一个HTML文件。把这个文件用Excel打开后,你能看到所有订单的详细字段,然后照着这个格式反推,把自己要录入的数据填进去。说白了就是拿现成的模板当参照物,保证字段顺序不会乱。

如果你经常需要录入某类重复订单,可以自己做一个Excel宏模板。提前设置好品种、手数、止损止盈的默认值,只留时间和价格两个变量,每次录入时改这两个单元格就行。这样操作下来,单笔订单的录入时间能从三分钟压缩到三十秒,效率提升相当明显。

背离判定的条件组合与信号输出

极值都找齐了,接下来就是判定背离。顶背离的条件是:价格的高点比之前的高点更高,但指标的高点比之前的高点更低。底背离则反过来。程序里就是两个if条件嵌套,但实际写的时候会发现,极值点的配对也挺讲究。

我把所有极值点按K线序号排序,然后从最新的极值点往前回溯。比如当前有个价格高点B,往前找最近的价格高点A,如果B的价格大于A,但B对应的指标值小于A对应的指标值,那就触发顶背离信号。这里要注意,指标值必须取极值点所在K线的值,不能取当前值,否则会失真。

信号输出方面,我习惯用注释和箭头在图表上标记。用ObjectCreate画一条垂直线,再在旁边写个文字说明,标出是顶背离还是底背离。这样一眼就能看出来。代码里还可以加个声音报警,但说实话我很少用,因为信号太多会吵死人。

最后提醒一句,背离信号不是百分百准确,程序识别出来的背离只能作为参考。我自己的经验是,结合趋势线和成交量一起看,成功率会高不少。而且不同周期的背离,意义也不一样,周线级别的背离比分钟级别的靠谱多了。
写代码的时候,把周期参数也做成可调的,方便在不同时间框架下测试。

文章目录