目录

MT4警报推送到手机 - MT4多时间框架分析功能开启与设置技巧_利用自定义指标直接生成买卖文字

MT4多时间框架分析功能开启与设置技巧_利用自定义指标直接生成买卖文字
很多外汇交易者在使用MetaTrader 4时,都会遇到一个很实际的问题:如何在同一个指标上看到不同时间周期的信号?比如我想在1小时图上用布林带,但希望这个布林带引用的是4小时周期的数据,而不是它自带的1小时数据。其实这个功能就藏在MT4的指标属性里,只是很多人没注意到那个小小的“时间周期”选项。今天我就手把手教你怎么开启这个多时间框架模式,让你做技术分析时能站在更高维度看市场。

指标属性中隐藏的时间周期选项

打开MT4平台,随便找个货币对图表,比如EURUSD,然后从左侧导航栏拖一个技术指标到图表上,比如常见的移动平均线。这时候会弹出一个指标设置窗口,很多人直接就点确定了,根本没仔细看里面的选项。其实在“参数”选项卡里,有一个下拉菜单叫“时间周期”,默认显示的是“当前图表周期”。

这个“当前图表周期”意味着指标会跟随你图表的时间框架变化。比如你切换到15分钟图,指标就按15分钟数据计算;切换到4小时图,指标就按4小时数据计算。但如果我们想要的是固定引用某个周期,比如不管图表是什么周期,这个移动平均线都按日线数据来画,那就需要手动修改这个选项。

具体操作很简单:双击图表上的指标线,或者右键点击图表选择“属性列表”再双击指标名称,就能重新打开设置窗口。在“时间周期”下拉菜单里,你可以选择M1、M5、M15、M30、H1、H4、D1、W1、MN1这些周期。选好后点击确定,指标就会立即按照你选定的时间周期重新计算并显示在图表上。

说实话,这个功能很多老手都在用,但新手往往不知道。它最大的好处就是能在低周期图表上看到高周期的趋势方向,比如在5分钟图上叠加一个按1小时计算的移动平均线,这样短线交易时还能参考中期的趋势支撑阻力位。

编写EA代码实现价格监控

MT4的EA是用MQL4语言写的,听起来好像很复杂,但其实报警EA的代码非常短,也就几十行。你不需要成为编程高手,只要会复制粘贴和修改参数就行。首先打开MT4的MetaEditor,新建一个EA文件,名称可以叫“ChannelAlert”。然后开始写核心代码:获取当前价格、获取通道上下轨数值、比较它们的大小关系。

代码的核心部分其实就几个函数。用iClose获取当前收盘价,用iBands获取布林带上下轨数值。比如上轨就是iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0),下轨就是MODE_LOWER。然后写一个条件判断:如果收盘价大于上轨,就触发报警;如果收盘价小于下轨,也触发报警。报警函数用Alert或者PlaySound,前者弹出提示框,后者播放声音文件。

这里有个坑需要注意:EA默认在每个价格跳动时都会执行代码,如果你不加限制,它会在价格突破通道的那一瞬间连续报警几百次。所以必须加一个标志位,比如用一个布尔变量“alerted”来控制。当价格突破时,先检查这个变量是不是false,如果是就报警并设为true;当价格回到通道内时,再把变量重置为false。这样就能做到只报警一次,而不是一直响个不停。

实际写代码时,我建议把通道周期和偏差值做成外部输入参数。这样你不需要每次修改代码,直接在EA属性窗口里调整就行。比如周期设成20,偏差设成2,这些参数和布林带默认值一致。如果你想用肯特纳通道,那就换成iKeltner函数,原理一模一样,只是指标名称不同。代码写完后编译一下,没有错误就可以挂到图表上了。

通过脚本实现单次动态调整

如果你不想用EA一直运行,也可以写一个脚本,在需要时手动触发一次动态调整。脚本和EA的区别在于,脚本只会执行一次,然后自动停止。比如你设置了一个挂单,想把止损价调整到当前价格下方20个点,就可以写一个脚本,MT4官网点击运行后自动完成修改。这种方式适合那些不需要持续跟踪的场景,比如你只在特定时间调整一次。

写脚本的代码逻辑和EA类似,也是用OrderModify函数。不过脚本不需要循环,直接获取当前订单和价格,计算出新价格后修改就行。我常用的一种做法是,在脚本里加入参数输入框,让用户自定义移动点数或价格水平。这样每次运行前都可以灵活调整,不用改代码。比如输入“20”,脚本就把止损价上移20个点,输入“-10”就下移10个点。

脚本的优点是简单轻量,不会占用系统资源。但它需要你手动触发,没法做到全自动。我一般把脚本绑定到快捷键上,这样一键就能完成调整。还有一点要注意,脚本只能修改当前选中的订单,所以如果你有多个挂单,需要逐个运行。不过对于大多数交易者来说,同时管理的订单数量有限,手动触发几次也不会太麻烦。

利用自定义指标直接生成买卖文字

除了EA,自定义指标也是显示买卖建议文字的好办法。指标和EA的区别在于,指标只负责画线和输出文字,不会执行交易动作。你可以在MQL4里写一个指标,让它计算买卖条件,然后用“Comment”函数或者“TextSet”函数把结果写在图表上。

具体来说,你可以在指标的“OnCalculate”函数里,当满足买入条件时,用“Comment”函数显示“Buy Signal”。这个函数会在图表左上角显示一段文字,你可以调整字体大小和颜色。不过要注意,“Comment”显示的文字会覆盖其他信息,所以最好用“ObjectCreate”来创建独立的文本对象,这样更干净。

我觉得这个方法特别适合那些喜欢自定义分析逻辑的人。比如,你可以把多个指标的条件组合起来,当所有条件都满足时才显示买卖文字,这样能减少假信号。我见过有人用均线加MACD加布林带,三个条件同时满足才出信号,虽然次数少了,但准确率确实高。

文章目录