MT4买价线卖价线 - MT4窗口消失不见找回隐藏功能有办法_多窗口同时打开不同账号

先搞懂窗口为什么会消失
MT4的界面由多个独立的小窗口拼合而成,这些窗口的位置和状态信息都保存在配置文件中。当你双屏交易时把窗口拖到副屏,或者不小心点到了窗口右上角的折叠箭头,甚至系统分辨率突然变化,都可能导致窗口跑到屏幕外。最典型的情况是,窗口还在运行,但它被定位到了负坐标区域,人的肉眼根本看不见它。
还有种常见情况是窗口被收成了标签形式,缩在界面底部或侧边的一条细缝里。很多新手不知道MT4有自动隐藏功能,鼠标移开窗口就自动缩成一条线,找起来特别费劲。另外,如果你装过不同的MT4皮肤或者用过自定义布局,窗口位置信息也可能被改动得乱七八糟。
说句实话,MT4这软件在窗口管理上做得确实不够智能,它不会自动检测窗口是否在可视范围内。所以搞清楚原因之后,你就能对症下药,用下面这些方法把窗口重新拉回来。
EA中如何获取入场价并触发自动止损
获取入场价其实比你想的要简单,因为MT4的OrderSend函数在执行成功后,会返回一个订单号,然后你可以用OrderSelect选中这个订单,再用OrderOpenPrice()读取开仓价格。但这里有个顺序问题:你必须先设置止损价,再发送订单,因为OrderSend里的参数就包含止损价,而不是等订单成交后再去修改。所以正确的流程是:先根据你预期的入场价(比如市价单就用当前Bid或Ask价格)计算出止损价,然后把这个止损价直接传给OrderSend函数。
对于市价单来说,做多时入场价就是Ask价格,做空时就是Bid价格。因为MT4里点差的存在,买入用Ask,卖出用Bid。所以计算止损的时候也要用对应的价格,不然算出来的止损价会有点偏差。举个实际例子,如果EURUSD当前Ask是1.1000,你设置2%止损,那么做多的止损价就是1.1000减去1.1000乘以0.02等于1.0780。而做空的止损价则是用Bid价格来算,比如Bid是1.0998,那止损就是1.
0998加上1.0998乘以0.02等于1.1218。
还有一种情况是挂单交易,比如你设置了一个buy stop挂单在1.1050,那么开仓价就是1.1050,止损价也是基于这个价格计算的。这时候EA不能直接用当前市场价,而要用你挂单的价格来计算。好在挂单的OrderSend函数里有个price参数,你直接拿这个price去算止损就行,不用额外读取什么数据。
说实话,很多新手写这个EA的时候最容易出错的地方就是忽略了OrderSend函数中参数的顺序。止损价在参数列表里排第四位,前面是订单类型、手数和价格,后面才是止盈价和注释。位置一旦写错,轻则止损设错,重则订单直接报错。我建议写完后用MT4自带的策略测试器跑一遍历史数据,看每笔订单的止损值是不是符合预期,这样比实盘测试安全得多。
多窗口同时打开不同账号
如果你不想频繁切换账号,而是希望同时监控多个账号的行情和持仓,那么可以尝试在同一台电脑上运行多个MT4实例。具体做法是复制MT4安装目录下的终端程序(terminal.exe),创建一个快捷方式,然后在快捷方式属性中加上启动参数“/portable”。这样启动的就是一个便携模式的新实例,可以独立登录另一个账号。
使用这种方式,你可以同时打开两个甚至三个MT4窗口,每个窗口登录不同的账号,互不干扰。每个实例有自己独立的图表布局和指标设置,相当于同时运行了多套独立的交易终端。这个方法对于需要同时盯盘多个策略的交易者来说非常实用。
不过这里有一个容易踩的坑,就是多个实例同时运行时,要注意每个实例使用的数据文件夹不能冲突。默认情况下,加了“/portable”参数的实例会把数据存放在程序目录下,而不是公共的AppData目录,所以不会互相干扰。但如果你手动修改过数据路径,就要小心处理了。
多窗口模式的缺点是占用系统资源较多,每个实例都会有独立的内存和CPU开销。如果你的电脑配置比较旧,同时开两个实例可能会感觉到卡顿。这种情况下,建议还是回到单个实例的账号切换方式,毕竟流畅的操作体验比同时看多个窗口更重要。
第三方插件辅助显示双时区时间更直观
如果你的MT4版本比较老,改配置文件也嫌麻烦,那还可以考虑用第三方开发的免费插件来实现双时间显示。这类插件其实就是一个小的脚本或者指标,加载到图表上之后,会在图表左上角或者右下角同时显示服务器时间和当前的北京时间,一眼就能看明白。市面上有不少这类工具,搜索“MT4 双时间显示 指标”或者“MT4 Beijing time indicator”就能找到,下载之后放到MT4的“MQL4”目录下的“Indicators”文件夹里,然后在图表上右键加载就行。
用插件的最大好处是直观,不用改任何系统设置,也不用动配置文件,加载上就能用。而且这类插件通常还会显示日期,方便你判断交易日的切换点。不过用第三方的东西也有风险,下载的时候要小心,尽量从靠谱的论坛或者GitHub上拿源码,别随便装来路不明的exe文件,防止电脑中毒。最好下载那种开源代码的指标,用MT4自带的MetaEditor编译器自己编译一遍,这样最安全。
说实话,我自己的经验是,如果你经常做亚洲盘或者欧洲盘,时差影响其实不大,因为那些时段本来就在北京时间的下午和晚上。但如果你做美盘,尤其做黄金和原油的夜盘,那时间显示就特别重要了。凌晨两点半的原油EIA数据行情,要是图表上显示的是晚上八点半,你很容易搞混是哪个交易时段,所以把时间调成北京时间真的很有必要。
其实不管用哪种方法,核心目的都是让图表时间跟你的实际作息对得上号。选哪个办法完全看个人习惯,喜欢折腾的就改配置文件,追求省事的就用本地时间选项,想要直观点的就挂个双时间指标。弄好之后,你会发现MT4用起来顺手多了,再也不用盯着时间栏痛苦地心算了。