MT4周期脚本 - MT4图表显示模式切换三步搞定属性设置_属性菜单里的图表类型选项到底在哪

属性菜单里的图表类型选项到底在哪
打开MT4平台后,你看到的主图表区域默认通常是蜡烛图,也就是K线图。但如果你想换成折线图或者柱状图,很多人会习惯性地右键点击图表,然后找来找去。其实最快捷的方式是直接双击图表的空白区域,或者右键选择“属性”。这个操作听起来简单,但很多人就是不知道属性菜单里藏着图表类型切换的开关。
属性菜单弹出来后,你会看到好几个选项卡,包括“常用”、“颜色”、“显示”等等。别被这些选项吓到,咱们要找的图表类型切换并不在“显示”标签里,而是在“常用”选项卡下。说实话,我第一次用的时候也翻了好几遍才找到,因为“常用”这个名字听起来太普通了,容易让人忽略。
在“常用”选项卡中,第一行就是“图表类型”,旁边有三个小图标:一个是蜡烛图的样子,一个是柱状图的样子,还有一个是折线图的样子。你直接点击对应的图标,图表就会立刻切换。这个设计其实挺人性化的,不用你记什么命令或快捷键,点一下就行。
编写EA代码实现自动止损
好,现在进入正题,我们来写实际的MQL4代码。首先,你需要打开MetaEditor,创建一个新的EA。在EA的开头,我们得定义一些外部参数,这样用户可以在MT4的EA属性窗口里调整止损比例。比如用extern double StopLossPercent = 2.0; 这样用户就能输入2.0代表2%。然后,在OnTick函数里,我们需要检测是否有新的开仓信号,或者更简单点,直接在订单开仓后立即修改止损。
我常用的方法是,在订单开仓后,用OrderSelect函数选中刚刚开的订单,然后获取它的开仓价格。接着,根据订单类型(OP_BUY或OP_SELL)来计算止损价。对于买单,止损价就是开仓价乘以(1 - StopLossPercent/100);对于卖单,止损价就是开仓价乘以(1 + StopLossPercent/100)。这里要注意,百分比要除以100,因为用户输入的是百分比数值,比如2代表2%,实际计算要用0.02。
代码写完后,别忘了处理一些边界情况。比如,如果止损比例设得太大,导致止损价超过了当前价格,那MT4会报错。所以最好加一个判断,确保止损价在合理的范围内。另外,如果你用的是市价单,开仓后立即修改止损可能会遇到订单还没完全成交的情况,这时候加一个短暂的延迟或者循环检查订单状态会更好。我自己测试的时候发现,用Sleep函数或者while循环等待订单状态变成已成交,成功率会高很多。
最后,把编译好的EA放到MT4的Experts文件夹里,然后在图表上拖拽加载。记得在EA属性里勾选“允许自动交易”和“允许实时自动交易”,不然EA不会自动运行。加载后,你可以手动开一笔模拟单试试,metatrader4看看EA是不是自动给你加上了止损。
如果一切正常,那恭喜你,你已经实现了自动固定比例止损的功能。
模板文件导入的详细流程
模板文件的导入比EA文件简单不少。首先,把下载好的.tpl文件复制到MT4的模板文件夹里。还是通过“文件”菜单打开“数据文件夹”,这次找到“templates”文件夹,把.tpl文件放进去就行。这个文件夹位置很好找,就在数据文件夹的根目录下,不像EA文件夹还要钻到MQL4里面去。我刚开始找模板文件夹的时候,还以为是藏在哪个子目录里,其实就在最外层,一眼就能看到。
放好模板文件后,重新启动MT4平台。在任意一个图表上右键点击,选择“模板”,下拉菜单里就会出现你导入的模板名称。点击它,图表就会自动加载模板里保存的所有设置。比如别人用了一个5分钟周期的图表,加了三条均线、一个MACD和一个RSI指标,你导入模板后,图表就会变成一模一样的样子。这个方法特别适合学习别人的交易系统,不用自己一个个去调指标参数,省时省力。
不过有一点要注意,模板文件只保存图表设置,不会改变你的账户类型或者交易品种。比如你用的是标准账户,模板里设置的是迷你手,那实际交易时还是按你的账户规则来。
另外,如果模板里用到了某些自定义指标,而这些指标你没安装,那图表上就会显示空白或者报错。解决办法是,先问对方要那些自定义指标的文件,放到MT4的“Indicators”文件夹里,再导入模板。我吃过这个亏,导入一个别人的模板后,图表上啥都没有,后来才发现是缺了几个指标文件。
MT4有效期设置的隐藏细节
很多人在MT4上设置挂单时,以为选了GTC或者GTD就完事了,其实这里面还有几个隐藏细节需要注意。首先是经纪商的服务器时间,这个直接影响到GTD的到期时间。比如你设置周五到期,但经纪商的服务器时间是美东时间,而你用的是北京时间,那么实际到期时间可能会差十几个小时。所以,在设置GTD时,最好先确认一下经纪商使用的时区,避免因为时差导致单子提前被删除。
其次是挂单的修改和删除操作。当你设置了一个GTC挂单后,如果想修改价格或者手数,通常需要先删除这个挂单,然后重新下一个新的。但有些MT4版本支持直接修改挂单的有效期,比如把GTC改成GTD,或者把GTD的日期往后延。这个功能在手机版上可能不太明显,但在电脑版上右键点击挂单就能看到修改选项,操作起来很方便。
最后一点,也是很多人容易忽略的,就是挂单被触发后的状态。如果你设置了一个GTC挂单,价格到了之后自动成交,那么这个成交单就会变成普通的持仓单,不再受GTC有效期的影响。但如果你设置的是GTD,而价格在有效期内没到,到期后系统会直接删除这个挂单,不会留下任何记录。所以,如果你想知道自己到底挂过哪些单子,最好在交易日志里记录一下,因为MT4的订单历史里可能不会保留那些未触发就被删除的挂单。
说实话,这些细节虽然看起来不起眼,但真正用起来的时候,差一点就可能造成完全不同的结果。比如你忘了时差,结果单子提前被删了,而行情偏偏就在那之后几分钟到了你的目标价,那感觉别提多憋屈了。所以,花几分钟搞清楚这些细节,绝对值得。