Key_Reversal Indicator For MT5

Key_Reversal Indicator For MT5

Key_Reversal Indicator For MT5Key_Reversal Indicator For MT5借助三个条形或吞噬图案显示关键反转区域。吞没模式是精英投资者使用的强烈反转信号。

指标具有五个独特的输入级别。趋势检测时段用于处理将被评估以找到趋势方向的柱线数量。过滤器调整部分适用于喜欢在市场上交易交叉对的高级交易者。信号以红色和蓝色箭头的形式生成。红色箭头表示将出现新的下降趋势。相反,蓝色箭头表示新的上升趋势将主导市场。该指示器配备了高级警报系统,可以生成电子邮件警报。如果您非常忙,可以使用此指示器的SMS警报系统。

但是,跳入带有箭头标记的行业是一个大错误。分析市场状况并据此确定手数。

FREE Key_Reversal Indicator

Download the FREE Key_Reversal Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

安装Key_Reversal Indicator For MT5

通过上面的表格下载指标后,您需要解压缩zip文件。然后,您需要将文件Key_Reversal.mq5复制到MT5安装的文件夹MQL5Indicators中。之后,请重启MT5,然后您将能够在指标列表中看到该指标。

Key_Reversal Indicator For MT5参数

Key_Reversal Indicator For MT5具有要配置的5 参数。

input uint              InpPeriod      =  2;          // Trend detection period
input ENUM_INPUT_YES_NO InpUseFilter   =  INPUT_YES;  // Use trend detection filter
input ENUM_INPUT_YES_NO InpUseAlert    =  INPUT_YES;  // Show alerts
input ENUM_INPUT_YES_NO InpSendMail    =  INPUT_NO;   // Send mails
input ENUM_INPUT_YES_NO InpSendPush    =  INPUT_YES;  // Send push-notifications

Key_Reversal Indicator For MT5缓冲区

Key_Reversal Indicator For MT5提供2 缓冲区。

SetIndexBuffer(0,BufferTKR,INDICATOR_DATA);
SetIndexBuffer(1,BufferBKR,INDICATOR_DATA);

守则主要部分

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//--- #AB0= gt 2:0  lt 0AA82 gt 2 1CD5@ gt 2 :0: B09 lt A5@89
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);
   ArraySetAsSeries(time,true);
//--- @ gt 25@:0 : gt ;8G5AB20 4 gt ABC?=KE 10@ gt 2
   if(rates_total lt fmax(period,4)) return 0;
//--- @ gt 25@:0 8 @0AGQB : gt ;8G5AB20 ?@ gt AG8BK205 lt KE 10@ gt 2
   int limit=rates_total-prev_calculated;
   if(limit gt 1)
     {
      limit=rates_total-period-2;
      ArrayInitialize(BufferTKR,EMPTY_VALUE);
      ArrayInitialize(BufferBKR,EMPTY_VALUE);
     }

//---  0AGQB 8=48:0B gt @0
   static datetime last_time=0;
   for(int i=limit; i gt =0 && !IsStopped(); i--)
     {
      BufferBKR[i]=(Verification(i,open,high,low,close)== 1 ? low[i]  : EMPTY_VALUE);
      BufferTKR[i]=(Verification(i,open,high,low,close)==-1 ? high[i] : EMPTY_VALUE);
     }
     
//--- !83=0;K
   string Alerts="";
   if(time[0] gt last_time && (BufferTKR[1]!=EMPTY_VALUE || BufferBKR[1]!=EMPTY_VALUE))
     {
      string dir=(BufferBKR[1]!=EMPTY_VALUE ? "Up" : BufferTKR[1]!=EMPTY_VALUE ? "Down" : "");
      string message=Symbol()+", "+TimeframeToString(Period())+": Key Reversal "+dir+" Signal.";
      if(InpUseAlert) Alert(message);
      if(InpSendMail  && TerminalInfoInteger(TERMINAL_EMAIL_ENABLED)) SendMail("Key Reversal indicator Signal",message);
      if(InpSendPush && TerminalInfoInteger(TERMINAL_NOTIFICATIONS_ENABLED)) SendNotification(message);
      last_time=TimeCurrent();
     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|  gt 8A: ?0BB5@= gt 2                                                  |
//+------------------------------------------------------------------+
int Verification(const int shift,const double &open[],const double &high[],const double &low[],const double &close[])
  {
   int signal=(close[shift] gt high[shift+1] ? 1 : close[shift] lt low[shift+1] ? -1 : 0);
   if(!InpUseFilter)
      return signal;
   for(int i=1; i lt =period; i++)
     {
      int check=(close[shift+i] gt open[shift+i] ? 1 : close[shift+i] lt open[shift+i] ? -1 : 0);
      if((signal==1 && check==1) || (signal==-1 && check==-1))
         return 0;
     }
   return signal;
  }
//+------------------------------------------------------------------+
//| Timeframe to string                                              |
//+------------------------------------------------------------------+
string TimeframeToString(const ENUM_TIMEFRAMES timeframe)
  { 
   return StringSubstr(EnumToString(timeframe),7);
  }
//+------------------------------------------------------------------+

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.