Key_Reversal Indicator For MT5
Key_Reversal Indicator For MT5 preobrata Key_Reversal Indicator For MT5 prikazuje območje Key_Reversal Indicator For MT5 ključa s pomočjo treh palic ali zajetih vzorcev. Zajeten vzorec je močan povratni signal, ki ga uporabljajo elitni vlagatelji.
Kazalniki imajo pet edinstvenih nivojev vnosa. Obdobje zaznavanja trendov se uporablja za obravnavo števila vrstic, ki bodo ocenjene za iskanje smeri trenda. Segment za prilagajanje filtrov je namenjen naprednim trgovcem, ki radi trgujejo s križnimi pari na trgu. Signali se generirajo v obliki rdeče in modre puščice. Rdeča puščica kaže na nov trend navzdol. Nasprotno, modra puščica kaže, da bo na trgu prevladoval nov trend. Ta indikator je opremljen z naprednim sistemom opozoril, ki lahko generira opozorila po e-pošti. Če ste zelo zaposleni, lahko uporabite sistem opozoril SMS tega indikatorja.
Vendar je skok v trgovino z oznako puščice velika napaka. Analizirajte stanje na trgu in ustrezno določite velikost serije.
Namestitev Key_Reversal Indicator For MT5
Ko naložite indikator prek zgornjega obrazca, morate odpreti zip datoteko. Nato morate kopirati datoteko Key_Reversal.mq5 v mapo MQL5Indicators vaše namestitve MT5 . Po tem znova zaženite MT5 in takrat boste lahko videli indikator na seznamu indikatorjev.
Parametri Key_Reversal Indicator For MT5
Key_Reversal Indicator For MT5 ima za nastavitev parametre 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
Odbojniki Key_Reversal Indicator For MT5
Key_Reversal Indicator For MT5 zagotavlja blažilnike 2 .
SetIndexBuffer(0,BufferTKR,INDICATOR_DATA);
SetIndexBuffer(1,BufferBKR,INDICATOR_DATA);
Glavni deli kodeksa
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);
}
//+------------------------------------------------------------------+