目录

MT4挂单类型 - 休市期间MT4影线生成之谜_用脚本自动提取时间差更省力

休市期间MT4影线生成之谜_用脚本自动提取时间差更省力
很多做外汇交易的朋友应该都遇到过这样的怪事:明明周末休市,平台都关闭交易了,可打开MT4软件一看,图表上居然还挂着长长的影线。第一次发现这个现象的时候,我也挺纳闷的,心想这K线不是应该停在周五收盘的位置吗?怎么还自己长出新的价格轨迹来了?后来跟几个老交易员聊了聊,又自己动手翻了翻盘面数据,才慢慢搞清楚这里面的门道。其实这背后涉及到MT4的数据处理逻辑,还有不同经纪商的服务器设置差异,并不像表面上看起来那么简单。

账户历史那块地儿怎么挖

你先看MT4最底下那排标签页,什么“交易”“持仓”“净值”“历史”这些都排成一溜儿,你要打印的东西就藏在那个叫“历史”的标签页里,点开它你就能看见一串一串的平仓记录,每行都是一笔完成的交易,有开仓时间平仓时间还有盈亏点数手续费啥的,但这些记录默认只显示最近一段时间的,有时候你想看上个月甚至去年的老账,就这么翻根本翻不到,你得在历史标签页上点鼠标右键,弹出来的菜单里找那个“自定义时间范围”的选项,或者有的版本叫法不一样,反正意思就是让你设个起始日期和结束日期,这个操作记住喽,不然你永远只能看到最近那么几笔。

不过话说回来,就算你把时间范围给框好了,屏幕上显示的这些记录也只是一张列表而已,你要真想打印出来或者存成文件,还得想法子把这列表弄成能打印的格式,我头一回搞这个的时候压根没想到这么麻烦,直接在屏幕上按了打印键,结果打出来就一坨密密麻麻的小字,看着都头疼,后来才明白你得先把它导出成文件再想办法打印,导出这事也挺别扭的,它不像别的软件有那种大大的“导出Excel”按钮,你非得在右键菜单里翻半天,找到那个叫“保存为详细账户报表”还是什么“报告”的选项,这名字起得跟做账似的,反正你多右键几次就能看见了。

还有一点就是MT4这种老软件,它其实能导出的格式挺统一的,就给你一个HTML文件算是比较通用的了,有些版本甚至只能导出成它自己那个带格式的报表文件,需要再用浏览器打开看,我那天就是导出来一个奇怪后缀的文件,双击打开还费了好大劲,后来才搞清楚原来它生成的是一个网页文件,你直接用浏览器打开就能看到排版好的一张张报表,上面有你的账户信息、每一笔成交记录、最后的净值汇总什么的,要是你觉得这个网页排版能接受,那就可以直接在浏览器里点打印按钮把它打出来了,总比在MT4窗口里打那种乱糟糟的格式强不少。

图表模板和指标参数预设

MT4的图表自定义功能很强,但如果你每次都临时去调整均线参数、MACD设置或者布林带周期,那不仅效率低,还容易出错。我自己的做法是,把常用的几套技术指标组合保存成模板,比如说日内短线用的5分钟图模板、波段交易用的4小时图模板,每一套模板的指标参数、颜色、线型都固定下来。这样打开任意一个品种,点击右键选择“模板”,就能一键切换到熟悉的分析界面。

说到指标参数,这里有个容易踩的坑:默认参数不一定适合所有品种。比如RSI的默认周期是14,但在某些波动性特别大的货币对上,14周期给出的信号往往滞后或者过于频繁。我以前做英镑兑日元的时候,把RSI改成21周期以后,信号的准确率明显提升。所以建议你在做交易准备时,针对自己常做的几个品种,分别测试不同的指标参数组合,找到最适合的那一组,保存成独立的模板。

还有一点,图表的配色和网格线设置也值得花点时间调好。别小看这个,长时间盯着屏幕看盘,如果背景颜色刺眼、均线颜色和K线颜色混在一起分不清,视觉疲劳会直接影响判断力。我个人习惯用深色背景配浅色K线,均线用亮黄、亮蓝这种对比明显的颜色。设置好以后,同样的,把配色方案也存进模板里,以后每次打开MT4就是熟悉的界面,不用反复折腾。

查看产品属性时的实用技巧

规格窗口打开后,你会发现窗口底部有几个选项卡,分别标记为常规、成交水平、要求、缩放。默认显示的是常规选项卡,里面是基础信息。如果你交易的是期货类产品,建议切到成交水平选项卡,那里能看到交易所规定的涨跌停限制和最后交易日,这些信息对持仓周期较长的人特别重要。

要求选项卡里展示的是开仓挂单、止损单等不同类型的挂单距离限制,以及锁仓保证金、总保证金计算方式等内容。
对于使用EA自动交易的用户来说,这个选项卡里的信息必须看仔细,因为有些经纪商对EA挂单距离有额外限制,如果不提前了解,很容易导致EA下单失败。

还有一个实用小技巧,规格窗口不是只能开一个,你可以同时打开多个不同品种的规格窗口进行对比。操作方法很简单,在某个品种上双击打开规格窗口后,再回到市场报价窗口点击另一个品种,同样双击就能再打开一个窗口。这样并排对比不同品种的合约参数,做品种选择时效率会高很多。

用脚本自动提取时间差更省力

要是你每天都要统计这个指标,手动导出报告再导入Excel的操作还是有点繁琐。其实MT4支持MQL4脚本,可以写一个小工具自动遍历历史订单,直接输出平均持仓时间。这个方案门槛稍微高一点,需要会点编程基础,但对经常做策略评估的人来说,一劳永逸。

脚本的核心逻辑就是用OrderSelect函数逐单读取历史订单,取OrderOpenTime()和OrderCloseTime()两个函数返回的时间戳,相减得到持仓秒数,累加后再除以订单总数。最后用Comment或者Alert函数把结果显示在图表上。整个过程不到五十行代码,MT4的在线文档里也有现成的例子可以参照。

说实话,如果你只是偶尔算一次,用Excel方案就够了。但如果你在优化策略参数,需要频繁对比不同参数下的持仓时长,那写个脚本绝对是值得的。我自己就写了这么个小工具,现在每次回测完直接加载到图表上,一秒出结果,不用再手动折腾那些数据文件了。

另外提醒一点,账户历史里的持仓时间统计的是已平仓的订单,如果策略里还有浮亏的单子挂着没平,那部分是不纳入计算的。所以你在统计的时候,最好确认一下当前没有持仓单,或者明确知道统计范围只包含已平仓交易,否则算出来的数字会有偏差。把这一点搞清楚,你算出来的平均持仓时间才能真正反映策略的实际表现。

文章目录