Navigation:Home > Content >

2_candles__BW_Alert.mq4

Time: 2018-12-05 | Download file:2_candles__BW_Alert.mq4

//|------------------------------------------------------------------|
//|                                               Indicator Arrow.mq4|
//|                                    Copyright © 2013, Mr.SilverKZ |
//|                                                 [email protected] |
//|                                                                  |
//| 
//|                                                                  |
//|                                                                  |
//|  свечи в коде идут  3-2-1-0                                        |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "SilverKZ"

#property description " * * * * * * "
#property description " Ищет разворотный бар по Вильямсу "
#property description "  "
#property description " * poruchik * 27.11.16"

#property indicator_chart_window
#property indicator_buffers 4

#property indicator_color1 clrRed
#property indicator_color2 clrBlue
#property indicator_color3 clrRed
#property indicator_color4 clrBlue

#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_width4 1

extern bool AlertsMessage = true; 
extern bool AlertsSound   = false;
extern bool AlertsEmail   = false;
extern bool AlertsMobile  = false;

int  SignalBar = 0;
datetime TimeBar;
double buf_1[];
double buf_2[];
double buf_3[];
double buf_4[];


//+------------------------------------------------------------------+
//| Функция инициализации, запускается один раз                      |
//+------------------------------------------------------------------+
int init() 
  {
   SetIndexBuffer(0,buf_1);
   SetIndexBuffer(1,buf_2);
   SetIndexBuffer(2,buf_3);
   SetIndexBuffer(3,buf_4);
   
   SetIndexStyle (0,DRAW_ARROW);
   SetIndexStyle (1,DRAW_ARROW);
   SetIndexArrow (0,233);
   SetIndexArrow (1,234);
   
   SetIndexStyle (2,DRAW_ARROW);
   SetIndexStyle (3,DRAW_ARROW);
   SetIndexArrow (2,171);
   SetIndexArrow (3,171);
   
   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0);
   SetIndexEmptyValue(2,0.0);
   SetIndexEmptyValue(3,0.0);

   return(0);
  }
//+------------------------------------------------------------------+
//| Основная Функция, запускается на каждом тике                     |
//+------------------------------------------------------------------+
int start() 
  {
   if (Bars <= 100) return(0);
   int ExtCountedBars = IndicatorCounted();
   if (ExtCountedBars < 0) return(-1);
   if (ExtCountedBars > 0) ExtCountedBars--;
   for (int i=Bars-ExtCountedBars-1; i>=0; i--)
     { 
      bool DOWN  = Close[i+0] < Open[i+0] && Close[i+1] > Open[i+1] && High[i+0]> High[i+1]&& Close[i+0] < ((High[i+0]+Low[i+0])/2);                           
      bool UP =   Close[i+0] > Open[i+0] && Close[i+1] < Open[i+1] && Low[i+0]< Low[i+1] && Close[i+0] > ((High[i+0]+Low[i+0])/2);  
  
      if (UP)       buf_1[i+0] = Low[i+0]-3*Point;
      if (UP)       buf_3[i+1] = Low[i+1]-2*Point ; 
      //if (UP)       buf_3[i+3] = High[i+3]+2*Point;
      
      if (DOWN)     buf_2[i+0] = High[i+0]+3*Point;
      if (DOWN)     buf_4[i+1] = High[i+1]+2*Point ; 
     // if (DOWN)     buf_4[i+3] = High[i+3]+2*Point;
     }
//-------------------------------------------------------------------+   
 if(AlertsMessage || AlertsSound || AlertsEmail || AlertsMobile)
  { 
   string message1 = (WindowExpertName()+" - "+Symbol()+"  "+PeriodString()+" - Signal Up");
   string message2 = (WindowExpertName()+" - "+Symbol()+"  "+PeriodString()+" - Signal Dn");
       
    if(TimeBar!=Time[0] && buf_1[SignalBar]!=0 && buf_1[SignalBar]!=EMPTY_VALUE)
     { 
        if (AlertsMessage) Alert(message1);
        if (AlertsSound)   PlaySound("alert2.wav");
        if (AlertsEmail)   SendMail(Symbol()+" - "+WindowExpertName()+" - ",message1);
        if (AlertsMobile)  SendNotification(message1);
        TimeBar=Time[0];
     }
    if(TimeBar!=Time[0] && buf_2[SignalBar]!=0 && buf_2[SignalBar]!=EMPTY_VALUE)
     { 
        if (AlertsMessage) Alert(message2);
        if (AlertsSound)   PlaySound("alert2.wav");
        if (AlertsEmail)   SendMail(Symbol()+" - "+WindowExpertName()+" - ",message2);
        if (AlertsMobile)  SendNotification(message2);
        TimeBar=Time[0];
    }
  }
//-------------------------------------------------------------------+ 
   return(0);
 }
//-------------------------------------------------------------------+ 
string PeriodString()
{
    switch (_Period) 
     {
        case PERIOD_M1:  return("M1");
        case PERIOD_M5:  return("M5");
        case PERIOD_M15: return("M15");
        case PERIOD_M30: return("M30");
        case PERIOD_H1:  return("H1");
        case PERIOD_H4:  return("H4");
        case PERIOD_D1:  return("D1");
        case PERIOD_W1:  return("W1");
        case PERIOD_MN1: return("MN1");
     }    
   return("M" + string(_Period));
}
//-------------------------------------------------------------------+
  //  ---- end

//Бар бычьего разворота показывает более низкий минимум относительно предыдущего бара и закрывается выше своей середины. Это говорит о том, что в начале формирования бара силы были на стороне медведей, но затем власть перешла к быкам.

//В противоположность бычьему бару, также существует бар медвежьего разворота. Данный бар показывает новый максимум и закрывается в своей нижней половине. То есть, вначале правили быки, но под конец медведи одержали победу

//http://tradelikeapro.ru/torgovyiy-haos-profitunity/

Recommend