MT4挂单类型 - MT4历史订单数量显示不全原因与核查方法_窗口列表拖拽法的核心技巧


窗口列表拖拽法的核心技巧
MT4最基础的图表排序方式就是直接拖动窗口顶部的标题标签。每个打开的图表在顶部都有一个显示货币对名称的标签页,用鼠标左键按住这个标签,然后左右移动,就能看到其他标签自动让开位置。这个方法看起来简单,但有几个细节需要注意。首先是鼠标按下的位置一定要在标签的文字区域,如果点在标签边缘的关闭按钮附近,很容易误触。
其次是拖动时不要急着松手,要等出现一条竖直的插入指示线再释放鼠标。这条线通常显示为半透明的蓝色或灰色,位置决定了图表最终插入的槽位。很多新手以为拖到目标位置就松手,结果图表只是覆盖在其他窗口上,而不是插入到指定顺序,导致后续还要重新调整。另外,如果同时打开了多个图表,建议先通过“窗口”菜单查看所有已打开的图表列表,理清当前顺序再做调整。
还有一个实用技巧是按住Ctrl键再拖动标签,这样可以直接复制图表窗口而不是移动它。这在需要对比同一货币对不同时间周期时特别有用。比如你正在看EURUSD的H1图,想同时参考M15走势,按住Ctrl拖动标签就能生成一个独立的新窗口,而不影响原有布局。这个方法虽然不算严格意义上的排序,但能有效扩展工作区容量,间接简化排序过程。
图表上看变化才是正经功夫
窗口那块看完了其实只能给你个初步印象,真正的市场变化还得在图表上看,但是这里头有个特别坑的地方,就是你双击任何一个品种,它弹出来的图表默认是M15周期,而且上面就一条光溜溜的收盘价线,你要拿这个去看市场变化那纯属自己骗自己,首先你得把周期调整到你自己交易习惯的那个级别,比如我看的是M30,那我就右键图表,找到“周期”,选好之后你会发现整个画面完全变了,然后指标这玩意你也得自己加,但千万别贪多,我见过一个朋友把一堆乱七八糟的指标都堆上去,画面跟蜘蛛网似的,结果问他哪个指标管用他支支吾吾说不出来,我觉得刚开始就看一个均线加一个成交量就差不多了,等你能从这俩里面读出点东西了再添别的也不迟。
关于那个图表上的变化,我自己的经验是分几个层面来看的,第一层就是看价格和均线的位置关系,价格在均线上方贴着走,那就说明是偏强的走势,反过来就是弱,第二层是看K线的实体长短和影线长度,实体长说明那根K线实实在在走了一大段,影子长说明上方或者下方有阻力在顶你,第三层是看成交量跟价格走势是不是一个方向,比如价格涨了成交量也放大,那这个涨就有底气,要是价格涨了成交量萎缩,那这个涨就有点虚,我常常说这叫“干打雷不下雨”,第四层才是结合消息面去猜市场情绪,比如非农数据出来前后的价格变动,这个全靠平时积累经验,没法速成,我说的这几层你一层层看下去,其实比盯着任何指标都管用。
还有一个麻烦事就是怎么保持图表一直刷新到最新状态,有时候挂了半天回来看图表还是那个老样子,价格都停在那不动了,其实那多半是你图表上的自动滚动没开,右键图表,找到“自动滚动”和“图表平移”这两个选项,都打上勾,图表就会老老实实跟着最新价格走,不然的话你看到的永远是半天前的“僵尸行情”,我还记得我第一次碰到这个情况的时候还以为自己断网了,把路由器都重启了一遍,后来才搞清楚就是那个勾没打上,你说这算不算一个新手的“图表陷阱”,所以你们要是发现图表半天不跳了,先检查这个设置,别急着把电脑关机。
手写实现指标代码的关键细节与调试技巧
真要动手写这个指标,我建议你先在纸上把流程捋一遍,别急着打开MetaEditor就开始敲代码。你要明确这个指标画在哪个窗口里,是单独开一个副图窗口还是叠加在主图上。相关系数指标一般画在副图里,数值范围固定从负一到正一,所以设置IndicatorMinimumValue为负一,IndicatorMaximumValue为正一,这样画出来的线不会超出边界。另外要决定是用线型图还是直方图来表示,线型图看着流畅,直方图能更明显看出数值的波动幅度,这个看个人喜好。 代码框架方面,标准的MT4自定义指标结构包含三个函数:init函数负责初始化和创建指标缓冲区,start函数或者OnCalculate函数负责逐根K线计算数值,deinit函数负责清理资源。你要建两个缓冲区,一个存相关系数的值,另一个存中间计算的辅助值。在start函数里,用循环从第一个有效K线开始,一直算到当前K线,每个K线位置上重新计算一次窗口内的相关系数。注意窗口大小就是你在输入参数里定义的,比如设成二十,那就是用最近二十根K线的收盘价来算。 调试的时候有几个坑你一定会遇到。第一个坑是数组越界,当你设置的窗口比较大而历史数据不足时,循环会访问到不存在的索引,解决办法是判断一下当前K线的位置是否大于等于窗口大小,不够的话就跳过计算,输出空值。第二个坑是计算效率,如果你在每根K线上都重新循环一遍整个窗口,那在图表上加载几千根K线的时候会比较卡,优化方法是只在最新K线上重新计算,历史值直接沿用上一次的结果,或者用增量更新的方式,把旧数据移出去新数据加进来,这样速度快很多。我用五千根K线测试过,不做优化的版本加载要三四秒,优化之后基本秒开。交易服务器重启或迁移引发的排序重置
还有一类比较少人注意到的情况,就是交易服务器本身的重启或者迁移会导致交易记录的排序发生变化。MT4的服务器端在维护或者升级的时候,有可能会对数据库进行压缩或者重新索引操作,这个过程中如果某些交易的记录没有被正确同步,那么在客户端显示的时候,排序就会出现异常。
举个例子,有一次一个经纪商因为机房迁移,把整个交易服务器搬到了另一个城市。迁移过程中,部分交易数据在传输时出现了延迟,导致某些订单的时间戳被重新标记。结果就是,那些受影响的客户在查看交易记录时,发现某些订单的排序完全乱了,有的甚至出现了平仓时间早于开仓时间的荒谬情况。
这种服务器端的操作咱们普通交易者是没办法控制的,但你可以通过一个简单的方法来确认是不是这个原因导致的排序问题。打开MT4的“日志”选项卡,看看里面有没有关于“server time adjustment”或者“historical data synchronization”之类的提示信息。如果有,那就说明服务器端确实进行了时间或者数据的调整。
说实话,面对这种服务器端问题,你再怎么折腾客户端设置都是白费力气。唯一能做的就是把交易记录导出成CSV或者HTML格式,用Excel打开重新排序,凑合着看。或者干脆等经纪商那边把数据修复好了,再重新刷新一下记录就行。