BB_OutsideCandle_Alert Indicator For MT5
BB_OutsideCandle_Alert Indicator For MT5 लिए एक सिग्नल इंडिकेटर है जो सिग्नल लेबल को जगह देता है और बोलिंजर बैंड के माध्यम से जब और जैसे मूल्य सिग्नल को तोड़ता है। संकेतक व्यापारियों को दो बोलिंगर बैंड टूटने के तरीकों से चुनने का विकल्प प्रदान करता है:
1. बोलिंगर बैंड के अंदर खोलने और बाहर बंद होने की कीमत;
2. बोलिंगर बैंड के बाहर मूल्य खोलने और समापन।
यदि संकेतक पैरामीटर, शो सिग्नल मोमबत्तियाँ, हां में सेट है, निचले बोलिंगर बैंड के बाहर एक तेज मोमबत्ती का रंग हरा है, जबकि ऊपरी बोलिंगर बैंड के बाहर एक मंदी मोमबत्ती ऑरेंज चित्रित है।
BB_OutsideCandle_Alert Indicator for MT5 द्वारा उत्पन्न ट्रेडिंग सिग्नल अपेक्षाकृत बेहतर प्रदर्शन करते प्रतीत होते हैं यदि वे प्रमुख बाजार के रुझान के अनुरूप हैं।
BB_OutsideCandle_Alert Indicator For MT5 स्थापित करना
आपके द्वारा उपर्युक्त फ़ॉर्म के माध्यम से संकेतक डाउनलोड करने के बाद आपको ज़िप-फ़ाइल को अनज़िप करना होगा। तो फिर तुम फाइल कॉपी करने की जरूरत है BB_OutsideCandle_Alert.mq5 फ़ोल्डर में MQL5Indicators अपने की MT5 स्थापना। उसके बाद कृपया MT5 को पुनः आरंभ करें और फिर आप संकेतक की सूची में संकेतक देख पाएंगे।
BB_OutsideCandle_Alert Indicator For MT5 पैरामीटर
BB_OutsideCandle_Alert Indicator For MT5 पास कॉन्फ़िगर करने के लिए 6 पैरामीटर हैं।
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
BB_OutsideCandle_Alert Indicator For MT5 के BB_OutsideCandle_Alert Indicator For MT5
BB_OutsideCandle_Alert Indicator For MT5 10 बफ़र्स प्रदान करता है।
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);
संहिता के मुख्य भाग
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);
}
//+------------------------------------------------------------------+