MT4正版下载 - MT4价格触及昨日高低点自动弹出提醒设置法

先搞懂MT4提醒功能的基本逻辑
MT4的提醒功能其实分成两块,一块是图表上直接挂的报警线,另一块是交易终端里的事件提醒。我们要实现昨日高低点提醒,最核心的其实是利用MT4的“Alert”功能配合自定义指标或者脚本。不过对于大多数普通用户来说,最省事的方法是用MT4自带的“斐波那契通道”或者直接手动画水平线,再给水平线挂上报警。但手动画线每次都要重新弄,太麻烦了。
其实MT4里有个隐藏技巧,就是利用“对象”属性里的“提醒”选项。你随便画一条水平线,右键点击这条线,选择“对象属性”,在弹出窗口的“参数”选项卡里能看到一个“报警”输入框。只要在这里填上价格条件,比如“Bid<=1.2050”,价格一到这个位置就会触发报警。但问题是,昨日高低点每天都不一样,你总不能每天开盘都去手动算一遍再改报警值吧。
所以真正的解决方案是写一个简单的脚本或者用现成的指标。国外论坛上有个叫“DailyHighLow”的免费指标,装上之后会自动画出昨日高低点两条线,并且能设置报警。但这个指标有个毛病,就是报警触发一次就失效了,价格第二次再碰到就不响了。后来我研究了一下,其实可以配合MT4的“市场报价”窗口里的“Alert”标签页,把条件设置成“价格穿过昨日高点”这种动态条件,就能反复触发。
说白了,MT4的提醒机制本质上就是一个“条件判断器”,你给它一个条件,它满足就触发。关键在于这个条件能不能自动更新。手动画线加报警适合临时用,但要想每天都自动跟踪昨日高低点,必须借助指标或者脚本把昨日数据算出来。
用自带的MQL4语言编写自动报警脚本
如果你对代码稍微有点基础,最靠谱的办法就是自己写一个几行的MQL4脚本。其实逻辑特别简单,昨天的高点就是前天最高价到昨天收盘之间的那个最高值,但MT4里有个现成的函数叫iHigh(Symbol(), PERIOD_D1, 1),这个“1”代表昨天那根日K线,直接就能取到最高价。同理,iLow(Symbol(), PERIOD_D1, 1)取到最低价。
脚本的核心逻辑就是每隔几秒检查一次当前价格是否突破了这两个值。如果突破了,就用Alert()函数弹窗,再配个PlaySound()播放声音。这里有个小细节,很多人直接写“如果价格大于昨日高点就报警”,但这样价格一直在高点上方就会一直报警,吵死了。需要加个标志位,只有当价格从下方穿越到上方时才报警一次,等价格跌破后再穿上来才再次报警。
我把自己写的这个脚本编译成.ex4文件后放在MT4的“Scripts”文件夹里,然后拖到图表上就能运行。脚本启动后会自己画两条水平线,一条红色代表昨日高点,一条绿色代表昨日低点,颜色透明度还能调。
报警触发后,屏幕右下角会弹出一个黄色的提示条,同时电脑会发出“叮咚”的声音,就算最小化了MT4也能听到。
说实话,第一次写这个脚本的时候我也踩了不少坑,比如忘了处理周末数据,导致周一的“昨日”其实是周五的。后来我用iTime函数判断了一下日期,如果是周一就用周五的数据,这样就完美了。这个脚本我现在用了大半年,稳定得很,从来没有漏报过。
不写代码用现成工具也能实现提醒
如果你完全不想碰代码,其实也有纯鼠标操作的笨办法,虽然麻烦点但胜在直观。每天开盘后,你先按一下F2键呼出“数据窗口”,找到昨日的最高价和最低价数值。然后在图表左侧工具栏选择“水平线”工具,在对应价格位置画两条线。画完之后右键每条线,设置“报警”条件为“价格从下方穿过”或者“从上方穿过”。
这个方法的问题在于每天都要手动操作,而且如果你一天要盯好几个品种,每个品种画两条线,画完还得改报警值,确实挺累的。但好处是零基础也能上手,而且MT4自带的报警功能支持弹窗和声音同时触发,还能在“工具箱”的“报警”标签页里看到历史触发记录。
另外还有一个取巧的办法,就是利用MT4的“报价”窗口右键菜单里的“Tick报价”功能。在报价窗口找到你的交易品种,右键选择“点差”下面的“报警”,然后输入价格条件。不过这个方式只能设置一个固定价格,不能直接引用昨日高低点,所以每次还得自己算好了填进去。
我个人的建议是,如果你每天盯的品种不超过三个,手动画线加报警完全够用。但如果你像我一样同时监控七八个货币对,那还是老老实实花半小时学一下脚本怎么写,一劳永逸。
报警触发后的常见问题与调试技巧
有朋友跟我反馈说报警不响,排查了半天发现是MT4的“选项”里“通知”那个选项卡没勾选“允许弹出通知”。在MT4的“工具”菜单下找到“选项”,点开“通知”选项卡,把“允许”后面的复选框打上勾,同时还要在下方选择声音文件,默认是“alert.
wav”。如果你用的是Windows系统,记得检查一下系统音量是不是被静音了。
还有一个容易忽略的地方是时区问题。MT4服务器大多用的是UTC+2或者UTC+3时区,而你的电脑本地时间可能跟它不一样。这就导致“昨日”那根日K线在你本地看来可能是前天。解决方法是直接在脚本里用服务器时区的0点作为日线分割点,不要依赖本地时间。我一开始没注意这个,结果报警总是差一天,后来把脚本改成用iTime函数判断服务器时间才搞定。
另外,MT4电脑版止盈止损设置实操三步走_移动端MT4查看报价的差异与技巧如果你在报警条件里写的是“Bid <= 昨日低点”,但有些平台的点差很大,价格实际还没碰到低点时,Bid就已经低于它了。这种情况下建议用“Bid <= 昨日低点 + 点差”来过滤假信号。或者干脆用“Ask”价格来判断。我自己一般用中间价(Mid)计算,比较准确。
最后提醒一句,报警弹窗虽然方便,但别太依赖它。有时候价格瞬间穿越昨日高低点又马上拉回来,这种假突破在震荡市里特别多。我的习惯是报警响了之后,先看一眼K线形态和成交量,确认是真突破再入场。毕竟工具只是辅助,最终决策还得靠自己的判断力。