BB_OutsideCandle_Alert Indicator For MT5

BB_OutsideCandle_Alert Indicator For MT5

Der BB_OutsideCandle_Alert Indicator For MT5 ist ein Signalindikator, der BB_OutsideCandle_Alert Indicator For MT5 platziert und Signalkerzen malt, wenn der Preis die Bollinger-Bänder durchbricht. Der Indikator bietet Händlern die Möglichkeit, zwischen zwei Bollinger-Band-Aufschlüsselungsmethoden zu wählen:

1. Preisöffnung innerhalb der Bollinger-Bänder und Schließung außerhalb;

2. Preisöffnung und -schließung außerhalb der Bollinger-Bänder.

Wenn der Indikatorparameter Signalkerzen anzeigen auf Ja gesetzt ist, wird eine bullische Kerze außerhalb des unteren Bollinger-Bandes grün gefärbt, während eine bärische Kerze außerhalb des oberen Bollinger-Bandes orange gestrichen wird.

Die vom BB_OutsideCandle_Alert-Indikator für MT5 generierten Handelssignale scheinen sich relativ besser zu entwickeln, wenn sie dem dominierenden Markttrend entsprechen.

FREE BB_OutsideCandle_Alert Indicator

Download the FREE BB_OutsideCandle_Alert 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

 

Installation des BB_OutsideCandle_Alert Indicator For MT5

Nachdem Sie den Indikator über das obige Formular heruntergeladen haben, müssen Sie die Zip-Datei entpacken. Anschließend müssen Sie die Datei BB_OutsideCandle_Alert.mq5 in den Ordner MQL5Indicators Ihrer MT5 Installation kopieren. Starten Sie danach MT5 neu und Sie können den Indikator in der Liste der Indikatoren sehen.

Parameter des BB_OutsideCandle_Alert Indicator For MT5

Der BB_OutsideCandle_Alert Indicator For MT5 verfügt über 6 zu konfigurierende Parameter.

input uint              InpPeriodBB    =  12;                  // BB period
input double            InpDeviation   =  2.2;                 // BB deviation
input ENUM_MODE_OP_CL   InpModeCandle  =  MODE_CANDLE_OUTSIDE; // BB line breakdown method
input ENUM_INPUT_YES_NO InpShowBands   =  INPUT_YES;           // Show bands
input ENUM_INPUT_YES_NO InpShowCandles =  INPUT_YES;           // Show signal candles
input ENUM_INPUT_YES_NO InpShowAlerts  =  INPUT_YES;           // Use alerts

Puffer des BB_OutsideCandle_Alert Indicator For MT5

Der BB_OutsideCandle_Alert Indicator For MT5 stellt 10 Puffer bereit.

SetIndexBuffer(0,BufferSigB,INDICATOR_DATA);
SetIndexBuffer(1,BufferSigS,INDICATOR_DATA);
SetIndexBuffer(2,BufferBandUP,INDICATOR_DATA);
SetIndexBuffer(3,BufferBandDN,INDICATOR_DATA);
SetIndexBuffer(4,BufferCandleO,INDICATOR_DATA);
SetIndexBuffer(5,BufferCandleH,INDICATOR_DATA);
SetIndexBuffer(6,BufferCandleL,INDICATOR_DATA);
SetIndexBuffer(7,BufferCandleC,INDICATOR_DATA);
SetIndexBuffer(8,BufferColors,INDICATOR_COLOR_INDEX);
SetIndexBuffer(9,BufferBB,INDICATOR_CALCULATIONS);

Hauptteile des Codes

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 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-2;
      ArrayInitialize(BufferSigB,EMPTY_VALUE);
      ArrayInitialize(BufferSigS,EMPTY_VALUE);
      ArrayInitialize(BufferBandUP,EMPTY_VALUE);
      ArrayInitialize(BufferBandDN,EMPTY_VALUE);
      ArrayInitialize(BufferCandleO,EMPTY_VALUE);
      ArrayInitialize(BufferCandleH,EMPTY_VALUE);
      ArrayInitialize(BufferCandleL,EMPTY_VALUE);
      ArrayInitialize(BufferCandleC,EMPTY_VALUE);
      ArrayInitialize(BufferColors,2);
      ArrayInitialize(BufferBB,0);
     }
//---  gt 43 gt B gt 2:0 40==KE
   int count=(limit gt 1 ? rates_total : 1),copied=0;
   copied=CopyBuffer(handle_bb,UPPER_BAND,0,count,BufferBandUP);
   if(copied!=count) return 0;
   copied=CopyBuffer(handle_bb,LOWER_BAND,0,count,BufferBandDN);
   if(copied!=count) return 0;

//---  0AGQB 8=48:0B gt @0
   static datetime last_time=0;
   string alert="";
   for(int i=limit; i gt =0 && !IsStopped(); i--)
     {
      BufferCandleO[i]=BufferCandleH[i]=BufferCandleL[i]=BufferCandleC[i]=EMPTY_VALUE;
      if(InpModeCandle==MODE_CANDLE_INSIDE_OUT)
        {
         //--- Bearish. Candle opening inside the bands and closing above the upper bollinger band
         if(open[i+1] lt BufferBandUP[i+1] && close[i+1] gt BufferBandUP[i+1])
           {
            BufferSigS[i]=high[i];//fmax(open[i+1],fmax(open[i],BufferBandUP[i]));
            if(InpShowCandles)
              DrawColorCandle(i+1,open,high,low,close);
            //--- Alert after the last Close of a candle
            if(i==0 && InpShowAlerts && time[0] gt last_time)
              {
               Alert(Symbol()+" "+TimeframeToString(Period())+": Bollinger Bands Outside Candle SHORT Signal");
               last_time=TimeCurrent();
              }
           }
         //--- Bullish. Candle opening inside the bands and closing below the lower bollinger band
         if(open[i+1] gt BufferBandDN[i+1] && close[i+1] lt BufferBandDN[i+1])
           {
            BufferSigB[i]=low[i];//fmin(open[i+1],fmin(open[i],BufferBandDN[i]));
            if(InpShowCandles)
              DrawColorCandle(i+1,open,high,low,close);
            //--- Alert after the last Close of a candle
            if(i==0 && InpShowAlerts && time[0] gt last_time)
              {
               Alert(Symbol()+" "+TimeframeToString(Period())+": Bollinger Bands Outside Candle LONG Signal");
               last_time=TimeCurrent();
              }
           }
        }
      else
        {
         //--- Bearish. Candle opening and closing above the upper bollinger band
         if(open[i+1] gt close[i+1] && close[i+1] gt BufferBandUP[i+1])
           {
            BufferSigS[i]=high[i];//fmax(open[i+1],fmax(open[i],BufferBandUP[i]));
            if(InpShowCandles)
              DrawColorCandle(i+1,open,high,low,close);
            //--- Alert after the last Close of a candle
            if(i==0 && InpShowAlerts && time[0] gt last_time)
              {
               Alert(Symbol()+" "+TimeframeToString(Period())+": Bollinger Bands Outside Candle SHORT Signal");
               last_time=TimeCurrent();
              }
           }
         //--- Bullish. Candle opening and closing below the lower bollinger band
         if(open[i+1] lt close[i+1] && close[i+1] lt BufferBandDN[i+1])
           {
            BufferSigB[i]=low[i];//fmin(open[i+1],fmin(open[i],BufferBandDN[i]));
            if(InpShowCandles)
              DrawColorCandle(i+1,open,high,low,close);
            //--- Alert after the last Close of a candle
            if(i==0 && InpShowAlerts && time[0] gt last_time)
              {
               Alert(Symbol()+" "+TimeframeToString(Period())+": Bollinger Bands Outside Candle LONG Signal");
               last_time=TimeCurrent();
              }
           }
        }
     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Timeframe to string                                              |
//+------------------------------------------------------------------+
string TimeframeToString(const ENUM_TIMEFRAMES timeframe)
  { 
   return StringSubstr(EnumToString(timeframe),7);
  }
//+------------------------------------------------------------------+
//| Draw Color Candle                                                |
//+------------------------------------------------------------------+
void DrawColorCandle(const int shift,const double &open[],const double &high[],const double &low[],const double &close[])
  {
   BufferCandleO[shift]=open[shift];
   BufferCandleH[shift]=high[shift];
   BufferCandleL[shift]=low[shift];
   BufferCandleC[shift]=close[shift];
   BufferColors[shift]=(open[shift] lt close[shift] ? 0 : open[shift] gt close[shift] ? 1 : 2);
  }
//+------------------------------------------------------------------+

 

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.