MT4正版下载 - MT4重装后账户登录与交易记录完整保留方法_MT4重装后账户登录与交易记录完整保留方法

MarketInfo函数的基本用法
MarketInfo函数是MQL4内置的一个通用市场信息查询函数,它的原型是MarketInfo(symbol, type),第一个参数是交易品种名称,第二个参数是你要查询的信息类型。要获取点差,type参数要用MODE_SPREAD,返回的值是以点数为单位计算的。举个例子,如果你想获取EURUSD的当前点差,可以这样写:double spread = MarketInfo("EURUSD", MODE_SPREAD); 这一行代码就能把当前点差赋值给spread变量。
不过这里有个细节值得注意,MODE_SPREAD返回的是整数类型,但MarketInfo函数的返回值是double类型。这意味着你拿到的点差数值其实是个整数,比如15或者20,代表15个点或20个点。有些新手会疑惑为什么不是小数,这是因为MT4内置的点差计算方式就是按点数来的,而不是按价格的小数点位数。
在实际使用中,很多人会把MarketInfo函数放在OnTick()或者自定义函数里,这样每次价格变动时都能刷新点差数据。我自己写EA的时候,习惯在每次开仓前先调用一次这个函数,确保用的是最新的点差值,避免因为点差变化导致止损止盈设置不合理。
另外,MarketInfo函数不仅支持当前图表品种,也支持其他品种。比如你在看EURUSD的图表,但想知道GBPUSD的点差,完全可以把"GBPUSD"作为第一个参数传进去。这个灵活性在写多品种策略时特别有用。
金属与能源品种:XAU与XAG的特殊前缀
贵金属在MT4中的命名同样有规律可循。黄金的标准代码是XAU,白银是XAG,它们与美元配对时形成XAUUSD和XAGUSD。这里的X前缀源自国际标准中的“非货币资产”分类,代表该品种并非主权货币,而是一种独立的贵金属单位。XAUUSD的报价含义是“一盎司黄金值多少美元”,XAGUSD则是一盎司白银的美元价格。这种命名方式与外汇货币对保持了一致性,基准资产在前,计价货币在后。
原油及其他能源品种的命名则稍显复杂。常见的有USOil(美国原油)、UKOil(布伦特原油),或者直接使用WTI和BRENT这类行业术语。部分经纪商还会使用CL(纽约商品交易所原油期货代码)作为品种名称。与外汇不同,能源品种的后缀往往包含交割月份信息,比如USOIL_MAY25,这表示该合约对应的是2025年5月交割的原油。如果你在MT4中看到带日期后缀的能源品种,务必留意交割时间,避免持仓跨越到期日导致强制平仓。
其他大宗商品如铜(COPPER)、天然气(NGAS)的命名也遵循类似逻辑。COPPER通常指铜的现货或期货价格,NGAS是天然气的缩写。这些品种的报价单位多为“每磅美元”或“每百万英热单位美元”,与外汇的“每单位货币”存在差异。理解这些命名规则后,你就能在交易前快速判断该品种的标的物究竟是大宗商品还是金融衍生品,从而合理评估其波动特性和交易风险。
画线工具的实用技巧与常见问题
画好的线怎么移动?选中线后,鼠标变成四个方向的箭头,按住左键拖拽就行。但如果只想微调,可以用键盘的方向键,每按一下移动1个像素。
按住Shift再按方向键,每次移动10个像素,这个技巧在精确调整时特别高效。很多老交易员都不知道键盘微调这个功能,还在用鼠标一点一点拖。
线的删除有两种方式,最简单的是选中后按Delete键,或者在线上右键选择“删除”。如果想一次性清空所有画线,在图表空白处右键,选择“删除所有对象”里的“删除全部”。不过这个操作不可撤销,我建议在删除前先确认一下,免得误删了重要的分析线。
多个画线工具叠在一起时,选中会变得很困难。这时候可以用右键菜单里的“对象列表”,打开后能看到当前图表上所有画线对象,按名称排序,点击任意一个就能快速选中。对象列表还有一个隐藏功能,就是可以批量修改属性,比如同时把10条线的颜色都改成黄色,在列表里全选后右键设置就行。
画线工具默认是手动模式,画完一条线后自动回到光标状态。如果你需要连续画多条趋势线,可以在画线工具的属性设置里勾选“连续画线模式”,这样画完一条线后不会退出画线状态,可以继续画下一条。这个模式在做通道分析时特别省事,不用反复点击工具图标。
如何安全地运行脚本并避免数据丢失
既然弄清楚了脚本对图表的依赖关系,我们就能采取一些措施来确保脚本能安全跑完。
首先,在运行重要脚本之前,确认一下图表上没有其他正在运行的EA或者脚本,避免资源冲突。虽然MT4支持同一图表挂多个程序,但互相干扰的情况偶尔还是会发生,特别是在使用全局变量的时候。
其次,如果你想在脚本运行期间去处理别的事情,最稳妥的办法不是最小化MT4,而是新建一个图表窗口来查看其他品种。这样既不会影响原脚本的运行,又能保持MT4在前台活跃状态。如果你用的是多显示器,那就更简单了,把MT4主窗口放在一个屏幕上,其他工作放在另一个屏幕,互不打扰。
再者,脚本里最好加入关键节点日志输出功能。用Print函数或者FileWrite函数,在每一步关键操作后记录状态。这样一旦脚本中途意外终止,你可以通过查看日志文件来定位问题出在哪一步,而不是两眼一抹黑。我习惯在脚本开头先写入一条“脚本启动”记录,在每处理完100根K线后追加一条进度记录,这样即使脚本挂了,我也知道它跑到哪了。
最后,也是最重要的一点,永远不要依赖脚本运行期间手动操作MT4界面。比如你正在跑一个需要五分钟才能完成的脚本,这时候千万别去用鼠标拖动图表、缩放K线或者右键调出菜单。这些界面操作会触发图表重绘,虽然不一定会终止脚本,但有可能导致脚本读取数据时出现瞬时错误,产生异常结果。我见过不少朋友因为手痒在脚本运行期间碰了图表,最后算出来的数据偏差很大,还以为是脚本写错了。