欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

RJTX_Matches_Smoothed_Alert - MetaTrader 5脚本

author emer | 266 人阅读 | 0 人评论 |

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

拉斐尔·希门尼斯·托西诺

指标 RJTX_Matches_Smoothed具有针对智能手机的警报、电子邮件和推送通知。

为了实施警报、电子邮件消息和推送通知,对指标代码进行了以下更改:

输入 单位条数=1;                // 激活信号的柱数
输入 布尔值声音开启=真的;          // 启用警报
输入 单位警报数量=2;      // 警报数量
输入 布尔值电子邮件开启=错误的;          // 启用邮寄信号
输入 布尔值按下=错误的;          // 启用向移动设备发送信号


//+------------------------------------------------------------------+
//|购买信号功能                                              |
//+------------------------------------------------------------------+
空白买入信号(细绳信号先生姓名,      // 电子邮件和推送消息的指标名称文本              双倍的购买箭头(&B)[],        // 带有买入信号的指标缓冲区              常量 整数费率_总计,    // 当前柱数              常量 整数前_计算,// 前一个价格变动的柱数              常量 双倍的&关闭[],    // 收盘价              常量 整数&传播[])      // 传播  {//---  静止的 单位计数器=0;
  如果(Rates_total!=Prev_calculated) 计数器=0;

  布尔值买入信号=错误的;
  布尔值系列测试=数组获取系列(购买箭头);
  整数索引,索引1;
  如果(系列测试)
    {
     索引=整数(条数);
     索引1=索引+1;
    }
  别的     {
      索引=Rates_total-整数(条数)-1;
      索引1=索引-1;
     }
  如果(!BuyArrow[index1] && BuyArrow[index]) BuySignal=真的;
  如果(BuySignal && 计数器<=NumberofAlerts)
     {
      计数器++;
      Mql日期时间TM;
      构建时间时间当前(),tm);
      细绳文字=字符串时间时间当前(),TIME_DATE)+” “+细绳(tm.小时)+“:”+细绳(tm.分钟);
      系列测试=数组获取系列关闭);
      如果(系列测试)索引=整数(条数);
      别的索引=Rates_total-整数(条数)-1;
      双倍的 =关闭[指数];
      双倍的 出价=关闭[指数];
      系列测试=数组获取系列(传播);
      如果(系列测试)索引=整数(条数);
      别的索引=Rates_total-整数(条数)-1;
      出价+=传播[索引]*_观点;
      细绳问=双精度转字符串,_数字);
      细绳出价=双精度转字符串出价,_数字);
      细绳sPeriod=GetStringTimeframe(图表周期());
      如果(声音打开)警报"买入信号 \n 询问=",,“\n 出价=”,出价,“\n 当前时间=”,文本,“\n 符号=”,象征(),“句号=”,s 期间);
      如果(电子邮件)发送邮件(信号先生姓名+“:买入信号提醒”,“在询问处买入信号=”+问+“,出价=”+出价+“,日期=”+文字+“符号=”+象征()+“句号=”+s句点);
      如果(推开)发送通知(信号先生姓名+": 在 Ask=" 处买入信号+问+“,出价=”+出价+“,日期=”+文字+“符号=”+象征()+“句号=”+s句点);
     }//---  }//+------------------------------------------------------------------+
//|卖出信号函数                                            |
//+------------------------------------------------------------------+
空白卖出信号(细绳信号先生姓名,      // 电子邮件和推送消息的指标名称文本                双倍的销售箭头(&S)[],      // 带有卖出信号的指标缓冲区                常量 整数费率_总计,    // 当前柱数                常量 整数前_计算,// 前一个价格变动的柱数                常量 双倍的&关闭[],    // 收盘价                常量 整数&传播[])      // 传播  {//---  静止的 单位计数器=0;
  如果(Rates_total!=Prev_calculated) 计数器=0;

  布尔值卖出信号=错误的;
  布尔值系列测试=数组获取系列(卖出箭头);
  整数索引,索引1;
  如果(系列测试)
    {
     索引=整数(条数);
     索引1=索引+1;
    }
  别的     {
      索引=Rates_total-整数(条数)-1;
      索引1=索引-1;
     }
  如果(!SellArrow[index1] && SellArrow[index]) 销售信号=真的;
  如果(SellSignal && 计数器<=NumberofAlerts)
     {
      计数器++;
      Mql日期时间TM;
      构建时间时间当前(),tm);
      细绳文字=字符串时间时间当前(),TIME_DATE)+” “+细绳(tm.小时)+“:”+细绳(tm.分钟);
      系列测试=数组获取系列关闭);
      如果(系列测试)索引=整数(条数);
      别的索引=Rates_total-整数(条数)-1;
      双倍的 =关闭[指数];
      双倍的 出价=关闭[指数];
      系列测试=数组获取系列(传播);
      如果(系列测试)索引=整数(条数);
      别的索引=Rates_total-整数(条数)-1;
      出价+=传播[指数]*_观点;
      细绳问=双精度转字符串,_数字);
      细绳出价=双精度转字符串出价,_数字);
      细绳sPeriod=GetStringTimeframe(图表周期());
      如果(声音打开)警报"卖出信号 \n 询问=",,“\n 出价=”,出价,“\n 当前时间=”,文本,“\n 符号=”,象征(),“句号=”,s 期间);
      如果(电子邮件)发送邮件(信号先生姓名+“:卖出信号警报”,“卖出信号在询问=”+问+“,出价=”+出价+“,日期=”+文字+“符号=”+象征()+“句号=”+s句点);
      如果(推开)发送通知(信号先生姓名+": 在 Ask=" 时卖出信号+问+“,出价=”+出价+“,日期=”+文字+“符号=”+象征()+“句号=”+s句点);
     }//---  }//+------------------------------------------------------------------+
//|  获取字符串形式的时间范围 |
//+------------------------------------------------------------------+
细绳获取字符串时间范围(ENUM_TIMEFRAMES大体时间)
  {//----  返回字符串子串枚举转字符串(大体时间),7,-1));//----  }


//---       买入信号(“RJTX_Matches_Smoothed_Alert”,BuyBuffer,rates_total,prev_calculated,close,spread);
   卖出信号(“RJTX_Matches_Smoothed_Alert”,SellBuffer,rates_total,prev_calculated,close,spread);//---


其中 BuyBuffer 和 SellBuffer 是用于存储买入和卖出信号的指标缓冲区的名称。必须将零或 EMPTY_VALUE 作为空值添加到指标缓冲区。

假定 OnCalculate() 块中的指标代码中仅使用一次对函数 BuySignal() 和 SellSignal() 的调用。

该指标使用库 SmoothAlgorithms.mqh 的类(将复制到 \MQL5\Include 文件夹)。文章中详细描述了这些类的使用在不使用额外缓冲区的情况下平均价格系列进行中间计算

该指标首先在 MQL4 中实现并发布在代码库2015 年 12 月 23 日。

RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

图1.图表上的 RJTX_Matches_Smoothed_Alert 指标


RJTX_Matches_Smoothed_Alert - indicator for MetaTrader 5

图 2. 指标 RJTX_Matches_Smoothed_Alert。警报


附件下载

📎 SmoothAlgorithms.mqh (130.2 KB)

📎 RJTX_Matches_Smoothed_Alert.mq5 (33.09 KB)

Source: MQL5 #22712

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录