无需增加设备在MT4上实现买卖开仓提示发送手机短信的功能
[color=black][b]前 言[/b][/color][color=dimgray] 对于大多数盯盘的人们来说,除去天天盯盘的工作量以外,仅仅是盘中的振荡起伏就会搞的心力憔悴,在这样的状态下就很难用理性的心态去做出正确的判断。所以就有了类似机械式交易的系统,利用计算机来帮着我们摆脱心理因素的影响,但仍然需要我们盯盘等待信号的出现,如果不在电脑旁边很有可能就会错过好的机会,俗话说“常在河边走哪有不失鞋?”因为总盯盘所以出现“随手棋”的情况也常见,所以总不能保证稳定的赢利。MT4平台提供了Alert函数能够让我们设定弹出窗口提示,这样我们不用总是盯着每个货币对,而只等待开仓信号就可以了。可是有没有更“得寸进尺”的简便方法,把这个提示信号发送到我们的手机上呢?这对于为了提高成功率而使得信号较少的交易系统尤其重要,大大减少了我们盯盘的时间,我们的“三剑合一”交易系统在设计之初就是按照开仓信号宁缺勿滥的一原则考虑,所以一直有实现此功能的想法,昨天晚上最终利用MT4平台提供的SenMail函数和邮件的短信通知功能初步达到了此目的,在此贡献出来与各位共享。好了说了这么多,想必急性子的[/color]
[color=dimgray]朋友有些着急了,到底实现的效果如何,过程复杂与否,别着急我们下面分三个步骤加以说明:[/color]
[size=4][color=black][size=4][color=black][i][b]第一步:[/b][/i][/color][/size][/color][/size]
[color=dimgray] 在交易系统增加外部变量,这样做的目的是可以通过设置改变发送的开关。
extern bool EmailON=true;
在信号出现的同时增加下面的代码:
if (EmailON) SendMail(Symbol()+" 的"+DoubleToStr(Period(),0)+"分钟,开仓提示"," ");
当然可以根据情况设置更为详细的提示信息,SendMail第一个参数是邮件的主题,会呈现在短信中。第二个参数是内容,因为从主题上我们就能得到足够的信息,不需要邮件的内容,所以可以为空。
[/color][size=4][color=black][b]第二步:[/b][/color][/size]
[color=dimgray] 在MT4环境下,选择工具-选项-电邮,并按照下面的图例进行设置,下面是针对126和yahoo两个邮件服务商的,应用选择其一即可:[/color]
[align=center][attach]17151[/attach][/align]
[align=center][attach]17150[/attach][/align]
[color=dimgray] 注意:两者设置的收件人和发件人都是自己,这不是错误而是特意的,这样做的目的就是为了后面的短信发送过滤做的准备,同时别忘了选择“启动”复选框。 [/color]
[color=dimgray][/color]
[color=dimgray][size=4][color=black][b]第三步:[/b][/color][/size]
接下来要申请邮件的短信通知服务,126的邮箱的短信通知的功能名称是随身邮。在此我们测试了126和yahoo两个服务商,申请步骤登录邮箱之后都有详尽的步骤,在此就不在赘述了。需要特别说明的是,申请开通之后需要设定发送短信的规则,这个在相应的短信通知开通后的功能设置中都有向导,设计的规则可以是发件人自己的邮件地址,也就是自己发给自己的信就发短信通知,同时也可以在主题中定义主关键字加以过滤。最终实现的效果图如下:[/color]
[align=center][attach]17152[/attach][/align] [color=dimgray] 如果是发送的开仓信号,126的随身邮则会收到的信息是“你的126邮箱有来自:"xxxxx"的新邮件,主题是:USDJPY的30分钟有开仓提示,回复r阅读邮件内容”,yahoo的短信提示信息要简洁一些“您收到[[email]name@yahoo.com[/email]]的邮件,[EURUSD的30分钟有开仓提示]”。[/color]
[color=dimgray][/color]
[color=dimgray] 由于不是专用的方法,所以这样实现美中不足的是短信有“多余”的头信息,其实我们只关心邮件主题的提示信息,其他的对我们并不重要,这一点上126不如yahoo做的人性化。但在短信的长度限定之内基本也能保证我们获取信息的完整性。另外在收短信的同时你的邮箱也会收到一份同样的信,如果感觉多余可以使用邮箱的“过滤器”功能将这些信转移到“垃圾箱”中,这样这些邮件就会自动定期得到清理了,不必担心邮箱发爆,但却不能转移到“已删除”里面,不然短信也收不到了,这是个优先级别的原因。从测试的效果来看速度还不错,几乎没有等待。既然不增加设备那么就要给服务商付点米了,费用方面都是每月10元,提供3天(72小时)的免费测试,如果你能找到免费的邮箱短信提醒则更好,到时候有这样的服务商别忘了告诉我呀,哈哈[/color]
[color=dimgray][/color]
[color=dimgray] 好了,罗罗嗦嗦这么多,不知道能不能给各位带来帮助,希望以后朋友们能有更好的功能实现手段以共享,让我们共同提高。[/color]
[[i] 本帖最后由 iemzaj 于 2008-1-24 12:49 编辑 [/i]]
回复 1楼 的帖子
这是啥牌子手机啊?与手机无关,只是一个参考
接收短信的都可以的 移动的139手机邮箱不是免费的吗?你试试看:yct63回复 4楼 的帖子
我刚试了一下,很好玩:yct38很想试试 可是看不懂第一步 。。。。哎
第一步:在交易系统增加外部变量,这样做的目的是可以通过设置改变发送的开关。
extern bool EmailON=true;
在信号出现的同时增加下面的代码:
if (EmailON) SendMail(Symbol()+" 的"+DoubleToStr(Period(),0)+"分钟,开仓提示"," ");
当然可以根据情况设置更为详细的提示信息,SendMail第一个参数是邮件的主题,会呈现在短信中。第二个参数是内容,因为从主题上我们就能得到足够的信息,不需要邮件的内容,所以可以为空。 太惨了,一个均线交叉给我发了N多邮件,手机都要爆了,自己程序写得不好,留下这种bug:yct41 [quote]原帖由 [i]sweetsmile0311[/i] 于 2008-1-25 11:58 发表 [url=http://www.onefx.net/bbs/redirect.php?goto=findpost&pid=169198&ptid=37797][img]http://www.onefx.net/bbs/images/common/back.gif[/img][/url]
第一步:
在交易系统增加外部变量,这样做的目的是可以通过设置改变发送的开关。
extern bool EmailON=true;
在信号出现的同时增加下面的代码:
if (EmailON) SendMail(Symbol()+" 的"+Double ... [/quote]
这个是在交易系统内部的代码。并且这个方法对于信号少而不愿意实时盯盘的人特别有用,如果是信号很多则不建议采用 [quote]原帖由 [i]ylcz[/i] 于 2008-1-25 13:57 发表 [url=http://www.onefx.net/bbs/redirect.php?goto=findpost&pid=169240&ptid=37797][img]http://www.onefx.net/bbs/images/common/back.gif[/img][/url]
太惨了,一个均线交叉给我发了N多邮件,手机都要爆了,自己程序写得不好,留下这种bug:yct41 [/quote]
一般象这种的,肯定要先测试,把发邮件的换成alert之类的 mail.139.com邮箱是免费的,而且反应很快 下载的“三剑合一”交易系统是否已存在以下代码?
extern bool EmailON=true;
在信号出现的同时增加下面的代码:
if (EmailON) SendMail(Symbol()+" 的"+DoubleToStr(Period(),0)+"分钟,开仓提示"," ");
当然可以根据情况设置更为详细的提示信息,SendMail第一个参数是邮件的主题,会呈现在短信中。第二个参数是内容,因为从主题上我们就能得到足够的信息,不需要邮件的内容,所以可以为空。 没有加,如果需要我可以给你加上,EMAIL给我,[email]zhuoaijun@126.com[/email] 太好了!楼主太有才了
多谢了,很好
·观摩一下 :yct63 :yct63回复 1楼 的帖子
真的,假的? 试试看页:
[1]
