QQE with Alerts Indicator For MT4

QQE with Alerts Indicator For MT4

Table Of Contents:

  1. QQE with Alerts Indicator For MT4
  2. Installation du QQE with Alerts Indicator For MT4
  3. Paramètres du QQE with Alerts Indicator For MT4
  4. Tampons du QQE with Alerts Indicator For MT4
  5. Parties principales du code

L' QQE with Alerts Indicator For MT4 est une version personnalisée de l'indicateur d'estimation quantitative qualitative (QQE). Il est basé sur l'indice de force relative (RSI) et fournit une jauge de la direction et de la force de la tendance.

FREE QQE with Alerts Indicator

Download the FREE QQE with Alerts Indicator for MT4.

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

My Recommended MT4/MT5 Broker


Installation du QQE with Alerts Indicator For MT4

Après avoir téléchargé l'indicateur via le formulaire ci-dessus, vous devez décompresser le fichier zip. Ensuite, vous devez copier le fichier QQE_with_Alerts.mq4 dans le dossier MQL4Indicators de votre installation MT4 . Ensuite, redémarrez MT4 et vous pourrez voir l’indicateur dans la liste des indicateurs.

Paramètres du QQE with Alerts Indicator For MT4

QQE with Alerts Indicator For MT4 a des paramètres 8 à configurer.

extern string NOTESETTINGS=" --- INDICATOR SETTINGS ---"; extern int SF=5; extern string NOTEALERTS=" --- Alerts ---"; extern int AlertLevel=50; extern bool MsgAlerts=true; extern bool SoundAlerts=true; extern string SoundAlertFile="alert.wav"; extern bool eMailAlerts=false; 

Tampons du QQE with Alerts Indicator For MT4

Le QQE with Alerts Indicator For MT4 5 QQE with Alerts Indicator For MT4 fournit des tampons 5 .

SetIndexBuffer(0,RsiMa); SetIndexBuffer(1,TrLevelSlow); SetIndexBuffer(2,AtrRsi); SetIndexBuffer(3,MaAtrRsi); SetIndexBuffer(4,Rsi); 

Parties principales du code

int start()   {    int counted,i;    double rsi0,rsi1,dar,tr,dv; //----    if(Bars lt =StartBar) return(0); //----             int counted_bars=IndicatorCounted();    if(counted_bars lt 0) return(-1);    if(counted_bars gt 0) counted_bars--;    int limit=Bars-counted_bars;    if(counted_bars==0) limit-=1+1; //----    for(i=limit; i gt =0; i--)       Rsi[i]=iRSI(NULL,0,RSI_Period,PRICE_CLOSE,i);    for(i=limit; i gt =0; i--)      {       RsiMa[i]=iMAOnArray(Rsi,0,SF,0,MODE_EMA,i);       AtrRsi[i]=MathAbs(RsiMa[i+1]-RsiMa[i]);      }    for(i=limit; i gt =0; i--)       MaAtrRsi[i]=iMAOnArray(AtrRsi,0,Wilders_Period,0,MODE_EMA,i); //----    i=limit-1;    tr=TrLevelSlow[i];    rsi1=iMAOnArray(Rsi,0,SF,0,MODE_EMA,i);    while(i gt 0)      {       i--;       rsi0=iMAOnArray(Rsi,0,SF,0,MODE_EMA,i);       dar=iMAOnArray(MaAtrRsi,0,Wilders_Period,0,MODE_EMA,i)*4.236;       dv=tr;       if(rsi0 lt tr)         {          tr=rsi0+dar;          if(rsi1 lt dv)             if(tr gt dv)                tr=dv;         }       else if(rsi0 gt tr)         {          tr=rsi0-dar;          if(rsi1 gt dv)             if(tr lt dv)                tr=dv;         }       TrLevelSlow[i]=tr;       rsi1=rsi0;      }    if((RsiMa[i+1] lt AlertLevel && RsiMa[i] gt AlertLevel) || (RsiMa[i+1] gt AlertLevel && RsiMa[i] lt AlertLevel))      {       string base=Symbol()+ ", TF: " + TF2Str(Period());       string Subj=base + ", " + AlertLevel + " level Cross Up";       if(RsiMa[i+1] gt AlertLevel && RsiMa[i] lt AlertLevel) Subj=base+" "+AlertLevel+" level Cross Down";       string Msg=Subj+" @ "+TimeToStr(TimeLocal(),TIME_SECONDS);       if(Bars gt LastAlertBar)         {          LastAlertBar=Bars;          DoAlerts(Msg,Subj);         }      } //----    return(0);   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void DoAlerts(string msgText,string eMailSub)   {    if(MsgAlerts) Alert(msgText);    if(SoundAlerts) PlaySound(SoundAlertFile);    if(eMailAlerts) SendMail(eMailSub,msgText);   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ string TF2Str(int period)   {    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("MN");      }    return(Period());   } //+------------------------------------------------------------------+ 


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.