给你的ea或指标添加短信提醒功能

 

利用移动的飞信写了个库,可以指标或ea中调用函数发送短息。目前不限制数量,如果使用人多了可能会显示数量。基本是免费的。用的我的手机号,千万不要骚扰我,如果你看到我的手机号的话。

下面写了个账户余额通知指标,大家可以用此扩展更多功能。我们也会慢慢添加一些其他功能的指标如突破某个均线等功能,经常到我的网站上去看看有没有新指标,你也可以自己写一些功能指标,希望你也贴到我的网站上去。

我的网址 www.tradesignal.com.cn, 模仿国外网站也做那个分享交易报告的网站 www.mt4status.com

下面是 范例指标的代码

//+------------------------------------------------------------------+
//|                                              BanlanceChanged.mq4 |
//|                                    Copyright ?2009, flourishing. |
//|                                    http://www.tradesignal.com.cn |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2009, flourishing."
#property link      "http://www.tradesignal.com.cn"
#import "TradeSignalSms.dll"
string TradeSignalSms(string phonenumber,string msg);
#import

#property indicator_chart_window
//---- input parameters
extern string    MobilePhone;

double lastbanlance;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
      lastbanlance = AccountBalance();
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(StringLen(MobilePhone)!=11)
   {
   Comment("检查手机号是否填写或填写错误");
   return;
   }
   if(lastbanlance!= AccountBalance())
   {
      
      string msg = "账户余额变为"+AccountBalance();
      Comment("发送短信 "+msg+ " "+"到手机"+MobilePhone+ " "+TradeSignalSms(MobilePhone,msg));
      lastbanlance = AccountBanlance();//这里少了一句,加上这句,一个big bug
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

函数用法很简单,返回值为 success 或者 failed 可以在程序中加入判断是否成功及重发功能

链接库在附件上

欢迎大家交流 我的联系方式网站上都有

使用注意点:

第一发送短信时,会邀请你启用飞信,按照移动提示就可以了,接着会收到一条要求加你为好友的,也需要你同意,以后就会正常收到短信了。

目前飞信的内容长度为70个字,所以尽量发送一天为70字之内的信息,超过70会分拆成多条,不过我想我们ea或指标提醒都不会超过70字吧。呵呵。

 
某些非xp的机器可能不能正常运行,下载此静态编译的dll解决此问题
 
//+------------------------------------------------------------------+
//|                                              BanlanceChanged.mq4 |
//|                                    Copyright ?2009, flourishing. |
//|                                    http://www.tradesignal.com.cn |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2009, flourishing."
#property link      "http://www.tradesignal.com.cn"
#import "TradeSignalSms.dll"
string TradeSignalSms(string phonenumber,string msg);
#import

#property indicator_chart_window
//---- input parameters
extern string    MobilePhone;

double lastbanlance;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
      lastbanlance = AccountBalance();
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(StringLen(MobilePhone)!=11)
   {
   Comment("检查手机号是否填写或填写错误");
   return;
   }
   if(lastbanlance!= AccountBalance())
   {
      
      string msg = "账户余额变为"+AccountBalance();
      Comment("发送短信 "+msg+ " "+"到手机"+MobilePhone+ " "+TradeSignalSms(MobilePhone,msg));
      lastbanlance = AccountBanlance();//这里少了一句,加上这句,一个big bug
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

不错,建议给楼主颁发一个超级贡献奖!!

 

在来一个

当账户净值变化超过设定值,就发短信提示。

//+------------------------------------------------------------------+
//|                                              BanlanceChanged.mq4 |
//|                                    Copyright ?2009, flourishing. |
//|                                    http://www.tradesignal.com.cn |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2009, flourishing."
#property link      "http://www.tradesignal.com.cn"
#import "TradeSignalSms.dll"
string TradeSignalSms(string phonenumber,string msg);
#import

#property indicator_chart_window
//---- input parameters
extern string    MobilePhone;
extern double    AlertStep$=50;
double lastequity;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
      lastequity = AccountEquity();
      
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(StringLen(MobilePhone)!=11)
   {
   Comment("检查手机号是否填写或填写错误");
   return;
   }
   if(MathAbs(lastequity - AccountEquity())>AlertStep$)
   {
      
      string msg = "账户余额变为"+AccountEquity();
      Comment("发送短信 "+msg+ " "+"到手机"+MobilePhone+ " "+TradeSignalSms(MobilePhone,msg));
      lastequity = AccountEquity();
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
超级,超级,超超级贡献奖!很佩服楼主,要佩服就佩服楼主这样的人。
 
牛逼叉叉的!
 
学习学习
原因: