目录

MT4挂单类型 - MT4交易记录纸质报表打印操作全流程_先说说这俩词到底啥意思

MT4交易记录纸质报表打印操作全流程_先说说这俩词到底啥意思
做交易的人大概都有过这样的经历,月底要对账的时候,或者需要把一段时间的交易明细提交给合作伙伴、财务部门审核,这时候电子版的MT4交易记录虽然方便,但有时候就是需要一份实实在在的纸质文件。我见过不少交易者在这个环节卡壳,明明MT4软件里能看到完整的交易历史,却不知道怎么把它变成纸上的东西。其实MetaTrader 4本身就内置了报表打印功能,只是藏得稍微有点深,很多人没注意到。

先说说这俩词到底啥意思

成交价这个东西,说白了就是你那笔单子真正落地时候的那个价格,不是你看盘的时候那个跳动不停的报价,而是你的订单被市场接受那一刻的准确数字,你止损止盈最后结算也都是按照这个来的,跟你想的不一样的是,你挂个限价单,可能挂的是1800,但实际成交的时候因为市场剧烈波动或者流动性不够,给你滑了几个点,最后成交价就变成了1801或者1799,这时候你账户里的浮盈浮亏计算都是拿这个实际成交价做基准的,可不是拿你挂单时那个一厢情愿的数字算的。

而价格字段呢,这个就更啰嗦了,MT4里一般显示的是Bid和Ask两个,Bid是买方愿意出的价,也就是你卖单能拿到的价,Ask是卖方要的价,也就是你买单要付的价,中间那个差价就是点差,经纪商赚的就是这个,好多新手一看图表上价格是1800,就以为买入卖出都是1800,结果一操作发现买入成了1800.5,卖出成了1799.5,心里那个别扭啊,其实这就是因为你没搞懂这个字段里藏着的双重含义,图表上的K线收盘价画的是Bid价格,但你开买单的时候看的是Ask价格,这俩不一样才是常态,不是软件出问题了。

我一开始也觉得这完全没必要搞这么复杂,后来做的单子多了慢慢就懂了,因为这俩价它确实不一样,你要是做的是外汇或者黄金这种点差小一点的品种还好说,遇到那些点差大得离谱的交叉盘或者某些冷门股票,来回一进一出你利息还没赚到就先亏掉一截点差钱,所以每次下单前都得瞄一眼那个报价窗口,看看点差到底扩没扩大,不然半夜睡觉的时候挂个单,早上起来发现成交价跟自己预期差了十万八千里,那心情真是没法形容。

说到这我又想起一件事来,就是MT4里那个「市场报价」窗口,你右键点一下有个「卖价」和「买价」的显示切换,很多人压根没注意过这个,默认显示的是卖价也就是Bid,你光看那个做多还好,做空的话心里得有数,你成交时候的价格其实是另一个,这东西就好比你去小卖部买水,墙上贴的价签跟老板实际收你钱的价格可能是两回事,当然这是夸张了,但道理就是这么个道理,不能光看一个数字就以为全明白了。

限制K线计算数量是第一道防线

最直接的办法就是在指标代码里限制参与计算的K线数量。MT4提供了Bars变量来表示当前图表的总K线数,但总K线数并不等于我们需要的计算范围。在OnCalculate函数里,有一个参数叫rates_total,这个代表当前图表加载的所有K线数量。如果你只关心最近500根K线的走势,那就应该用int limit = rates_total - 500这样的方式,把计算范围强制限制住。

实际操作中,我建议在循环开始前先做一个判断,如果当前索引值超出了允许范围就直接跳过。比如for(int i = limit; i >= 0; i--)这种写法,limit的值就是rates_total减去你想保留的历史K线数。这里有个小技巧,先把rates_total赋给一个局部变量,再对局部变量做运算,避免直接修改全局变量导致其他部分出错。

还有一个容易被忽略的点,就是指标在图表上重新初始化的时候,rates_total可能发生变化。比如切换周期或者刷新数据,这时候如果代码里没做好保护,计算范围就会突然变大。我的做法是在OnCalculate开头加一行注释,标明当前计算的起始位置,方便排查问题。

还有一茬事,关于那个历史数据和实时图表

我身边不少朋友跟我说,MT4图表上那些个K线怎么看也不像实时的,感觉总慢半拍,这个感觉还真没错,图表数据刷新频率和报价窗口不完全同步,你切回图表,有时候要等它自己加载个几秒钟,特别是你把图表上的时间周期换大一点,比如从五分钟切到小时图的时候,它要重新请求服务器数据,这个过程在行情平静的时候还好,行情一乱,它还要缓冲,就有那么一两秒的卡顿,有些性子急的人就开骂了,其实不用着急,这个状态不代表你电脑性能不行,就是服务器之间的交互问题,你想用MT4看出准确到毫秒的实时市场状态那是不可能的,它不是那种专业交易的直连工具,但你要是看个大概趋势,画画支撑压力,那它是够用的。

我试着总结一下我自己检查市场状态的老办法(1)先把那两个打开的报价窗口和图表窗口最小化到并排,这样你看价格变动不用换来换去,(2)打开Ctrl+T看交易列表,瞄一眼有没有什么单子是处于“挂单”状态却又忘了设止损的,(3)观察右下角的连接状态条,如果那个地方不是显示“交易服务器已连接”而是什么“连接丢失”或者“重连中”,那看啥都没用,数据都是断的,(4)再按一下F5或者右键点刷新报价,重新拉一次数据,(5)看那个单子旁边的成交颜色,(6)最后就是根据自己账户的净值变化结合图表判断一下市场方向,反正这些都是土办法,也不保证百分百管用。这个里头(3)是最多人忽略的,你们要记住服务器连接那行字,有时候看着图表还在动,但其实已经断线五分钟了,那图表动的都是历史残留,这对你判断市场状态是致命的,好多人吃大亏就吃在这上边,我也差点出过事,后来每次下单前都要瞟一眼右下角那行字才安心。

反正说了这么多,你估计也听烦了,我唠唠叨叨的都是这几年跟这套软件纠缠下来的经验,有些办法可能在老手看来挺笨的,但对我来说能用就行,MT4这套东西你说它功能强吧确实也不弱,可它的界面设计一直都是一副老派风骨,非得让你绕不少弯路才能找到门道,我能告诉你的也就是靠笨办法慢慢试出来的一些心得,你顺路就试试,不顺路就当听个笑话吧,也不知道最后咋样了。反正我是这么干的,你看着办。

彻底解决显示不全的另类思路

除了用指标,还有个更简单的思路:把品种名称缩短。这个想法听起来有点蠢,但实际操作中很有效。比如你交易的是“GER30”这个德国指数,标题显示不全,你可以直接在MT4的符号列表里看看有没有简称,或者干脆在图表属性里把品种显示改成自己习惯的缩写。不过这个方法只适用于那些本身有多个代码的品种,大部分品种只有唯一代码,没法改。 还有一个思路是调整图表窗口的布局,把左侧的“市场报价”窗口和下方的“数据窗口”都关掉,这样图表区域会变大,标题区域也会跟着变宽一些。具体操作是右键点击图表,选择“模板”里的“保存模板”,然后新建一个模板,将各个窗口都隐藏起来,再打开图表时标题会比之前多显示几个字符。这个方法不彻底,但能改善一部分问题,尤其是那些只差一两个字符的情况。 说实话,MT4这个标题显示问题,从2010年到现在都十几年了,官方一直没修复,大概率是觉得不影响核心交易功能。如果你实在看不惯,又不想折腾指标,那就接受现实吧,毕竟交易看的是图表走势,不是标题栏那串文字。我个人是把字体调小了一点,然后用自定义指标覆盖,现在看着清爽多了,你也可以试试。
文章目录