小金道为您提供精准的微信消息推送服务
【零基础】MT4/MT5量化交易一条语句让EA发微信消息推送到您的手机(后附EA及源码)
【零门槛】一切需要微信消息推送的场景。。。仅需要一条语句
前几年写过一篇交易建仓平仓的时候推送微信消息报警的文章,最近把它封装起来实现了一个更简便的方案:仅需两步就可以让你的EA发微信提醒消息了,在此分享给大家。一条语句实现了快捷、高效、准确 的推送服务。
【第一步:】推送方法是使用了“小金道”公众号,所以需要测试的小伙伴请自行搜索与关注。
【第二步:】使用浏览器或者在程序代码里发送http请求,拼接格式如下:
https://tb.jad6.com/weixin_php/mt4_template_xiaojindao.php?&templateid=1&openid=用户的微信ID号&first=第一行说明&keyword1=关键字1&keyword2=关键字2&keyword3=关键字3&remark=备注说明
各字段使用说明如下:
templateid:消息模板id序列号,默认1
openid:即要推送给谁,就是谁的微信id号,可以通过扫一扫上面的二维码回复“id”关键字,也可以微信直接访问获取:http://tb.jad6.com/weixin_php/openid_xiaojindao.php
first:提醒副标题,例如:您有一笔交易正在进行...
keyword1:第一行关键词,例如:现货黄金建仓5手
keyword2:第二行关键词,例如:正在报价
keyword3:第三行关键词,可描述交易内容,例如:您有一张100万商业承兑汇票,机构正在保价中,请您点击详情查看具体报价 如果您在使用系统过程中有任何疑问欢迎致电0537-8888889999
remark:第四行关键词,可写备注说明
微信消息接收效果如下:
粘贴EA源码如下:
//+------------------------------------------------------------------+
#property copyright "..."
#property link "http://www.jad6.com"
#property version "V1.00"
#property strict
input string openid="";
input string 第一步微:信ID说明:微信打开="http://tb.jad6.com/weixin_php/openid_xiaojindao.php";
input string 第二步:设置允许webrequest请求URL:="http://tb.jad6.com/";
int 推送次数=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit() {
//--- create timer
EventSetTimer(2);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//--- destroy timer
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
int templateid=1;
string first="尊敬用户!请关注以下交易信息!";
string keyword1="交易类型";
string keyword2="交易状态";
string keyword3="交易内容";
string remark="备注:推送时间-"+TimeCurrent();
if(openid=="")
{Alert("请完善你的微信ID!");}
else
{
bool xiaojindao=SendMessage(templateid,openid, first, keyword1, keyword2, keyword3, remark);
// 播放声音报警
// PlaySound("alert.wav");
Print("推送成功"+推送次数+"次");
推送次数=推送次数+1;
Sleep(10000);
}
}
//+---
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer() {
OnTick();
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam) {
//---
}
bool SendMessage(string mstemplateid,string msopenid, string msfirst, string mskeyword1, string mskeyword2, string mskeyword3, string msremark)
{
string cookie=NULL,headers="UTF-8";
char post[],result[];
int res;
string my_url="http://tb.jad6.com/weixin_php/mt4_template_xiaojindao.php?&templateid="+mstemplateid+"&openid="+msopenid+"&first="+msfirst+"&keyword1="+mskeyword1+"&keyword2="+mskeyword2+"&keyword3="+mskeyword3+"&remark="+msremark;
Print(my_url);
ResetLastError();
int timeout=5000;
res=WebRequest("GET",my_url,cookie,NULL,timeout,post,0,result,headers);
string response=CharArrayToString(result);
Print("response======",response);
//--- Checking errors
if(res==-1)
{
Print("Error in WebRequest. Error code =",GetLastError());
return(false);
}
else
{
response=CharArrayToString(result);
Print("response======",response);
return(true);
}
}
//+------------------------------------------------------------------+