Quantile Bands Indicator For MT5

Quantile Bands Indicator For MT5

Table Of Contents:

  1. Quantile Bands Indicator For MT5
  2. Instalace Quantile Bands Indicator For MT5
  3. Parametry Quantile Bands Indicator For MT5
  4. Vyrovnávací Quantile Bands Indicator For MT5
  5. Hlavní části Kodexu

Indikátor Quantile Bands Indicator For MT5 je skvěle vytvořený technický obchodní nástroj, který Quantile Bands Indicator For MT5 hlavní obchodní aktivitu aktiva do třívrstvého pásma, které se vypočítává na základě použití tří kvantilových hodnot - tyto kvantilové hodnoty jsou odvozeny pomocí statistického výpočtu, který počítá cutpoints rozdělením rozsahu rozdělení pravděpodobnosti na intervaly, které mají stejné pravděpodobnosti. Tento indikátor kanálu je skvělý zdroj, protože u většiny oscilátorů detekce přeprodaného a překoupeného jsou normálně vykresleny v samostatném okně pod hlavním aktivním grafem - s tímto ukazatelem je to jako mít nástroj analýzy přeprodaného a překoupeného přímo v obchodním grafu. který je položen na samotnou cenovou akci, přičemž cenová akce je stále jasně viditelná pro rozpoznávání vzorů a technickou analýzu. Když obchodníci uvidí, že se cenová akce obchoduje za a nad horním pásmem kanálu, mohou s ní zacházet jako s reverzním signálem k otevření prodejního obchodu s cílovým ziskem stanoveným ve středním pásmu - kdykoli cenová akce klesne pod a za nižší pásmo, pak se obchodník může rozhodnout otevřít kupní obchod v opačném směru se středním pásmem nastaveným jako cíl TP.

FREE Quantile Bands Indicator

Download the FREE Quantile Bands 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

 

Instalace Quantile Bands Indicator For MT5

Po stažení indikátoru pomocí výše uvedeného formuláře je třeba rozbalit zip soubor. Pak musíte zkopírovat soubor Quantile_bands_1.3.mq5 do složky MQL5Indicators vaší instalace MT5 . Poté prosím restartujte MT5 a poté uvidíte indikátor v seznamu indikátorů.

Parametry Quantile Bands Indicator For MT5

Quantile Bands Indicator For MT5 obsahuje parametry 7 lze nakonfigurovat.

input int             Periods           = 35;             // Quantile period input enPrices        PriceUp           = pr_high;        // Price to use for high quantile value input enPrices        PriceMid          = pr_median;      // Price to use for middle quantile value input enPrices        PriceDown         = pr_low;         // Price to use for low quantile value input double          UpperBandPercent  = 90;             // Upper band percent input double          LowerBandPercent  = 10;             // Lower band percent input double          MedianBandPercent = 50;             // Median percent 

Vyrovnávací Quantile Bands Indicator For MT5

Quantile Bands Indicator For MT5 5 Quantile Bands Indicator For MT5 poskytuje vyrovnávací paměti 5 .

SetIndexBuffer(0,fupu,INDICATOR_DATA);      SetIndexBuffer(1,fupd,INDICATOR_DATA); SetIndexBuffer(2,fdnu,INDICATOR_DATA);      SetIndexBuffer(3,fdnd,INDICATOR_DATA); SetIndexBuffer(4,bufferUp ,INDICATOR_DATA); SetIndexBuffer(5,bufferUpc,INDICATOR_COLOR_INDEX); SetIndexBuffer(6,bufferDn ,INDICATOR_DATA); SetIndexBuffer(7,bufferDnc,INDICATOR_COLOR_INDEX); SetIndexBuffer(8,bufferMe ,INDICATOR_DATA); 

Hlavní části Kodexu

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[]) {    for (int i=(int)MathMax(prev_calculated-1,0); i lt rates_total && !IsStopped(); i++)    {       bufferUp[i] = iQuantile(getPrice(PriceUp  ,open,close,high,low,i,rates_total,0),Periods,UpperBandPercent ,i,rates_total,0);       bufferDn[i] = iQuantile(getPrice(PriceDown,open,close,high,low,i,rates_total,1),Periods,LowerBandPercent ,i,rates_total,1);       bufferMe[i] = iQuantile(getPrice(PriceMid ,open,close,high,low,i,rates_total,2),Periods,MedianBandPercent,i,rates_total,2);       fupd[i]     = bufferMe[i]; fupu[i] = bufferUp[i];        fdnu[i]     = bufferMe[i]; fdnd[i] = bufferDn[i];        if (i gt 0)       {          bufferUpc[i] = bufferUpc[i-1];          bufferDnc[i] = bufferDnc[i-1];           //          //          //          //          //                                      if (bufferUp[i] gt bufferUp[i-1]) bufferUpc[i] = 0;          if (bufferUp[i] lt bufferUp[i-1]) bufferUpc[i] = 1;          if (bufferDn[i] gt bufferDn[i-1]) bufferDnc[i] = 0;          if (bufferDn[i] lt bufferDn[i-1]) bufferDnc[i] = 1;       }                         }             return(rates_total);          }  //------------------------------------------------------------------ // //------------------------------------------------------------------ // // // // //  #define quantileInstances 3 double quantileValues[][quantileInstances]; double quantileArray[]; double iQuantile(double value, int period, double qp, int i, int bars, int instanceNo=0) {    if (ArrayRange(quantileArray ,0)!=period) ArrayResize(quantileArray ,period);    if (ArrayRange(quantileValues,0)!=bars)   ArrayResize(quantileValues,bars);                   quantileValues[i][instanceNo] = value;                         for(int k=0; k lt period && (i-k) gt =0; k++) quantileArray[k] = quantileValues[i-k][instanceNo];        ArraySort(quantileArray);     //    //    //    //    //        double index = (period-1)*qp/100.00;    int    ind   = (int)index;    double delta = index - ind;    if (ind == NormalizeDouble(index,5))          return(            quantileArray[ind]);    else  return((1.0-delta)*quantileArray[ind]+delta*quantileArray[ind+1]); }  //------------------------------------------------------------------ // //------------------------------------------------------------------ // // // // // //  #define priceInstances 3 double workHa[][priceInstances*4]; double getPrice(int tprice, const double& open[], const double& close[], const double& high[], const double& low[], int i,int bars, int instanceNo=0) {   if (tprice gt =pr_haclose)    {       if (ArrayRange(workHa,0)!= bars) ArrayResize(workHa,bars); instanceNo*=4; int r = i;                    //          //          //          //          //                    double haOpen;          if (r gt 0)                 haOpen  = (workHa[r-1][instanceNo+2] + workHa[r-1][instanceNo+3])/2.0;          else   haOpen  = (open[i]+close[i])/2;          double haClose = (open[i] + high[i] + low[i] + close[i]) / 4.0;          double haHigh  = MathMax(high[i], MathMax(haOpen,haClose));          double haLow   = MathMin(low[i] , MathMin(haOpen,haClose));           if(haOpen   lt haClose) { workHa[r][instanceNo+0] = haLow;  workHa[r][instanceNo+1] = haHigh; }           else                 { workHa[r][instanceNo+0] = haHigh; workHa[r][instanceNo+1] = haLow;  }                                  workHa[r][instanceNo+2] = haOpen;                                 workHa[r][instanceNo+3] = haClose;          //          //          //          //          //                    switch (tprice)          {             case pr_haclose:     return(haClose);             case pr_haopen:      return(haOpen);             case pr_hahigh:      return(haHigh);             case pr_halow:       return(haLow);             case pr_hamedian:    return((haHigh+haLow)/2.0);             case pr_hamedianb:   return((haOpen+haClose)/2.0);             case pr_hatypical:   return((haHigh+haLow+haClose)/3.0);             case pr_haweighted:  return((haHigh+haLow+haClose+haClose)/4.0);             case pr_haaverage:   return((haHigh+haLow+haClose+haOpen)/4.0);             case pr_hatbiased:                if (haClose gt haOpen)                      return((haHigh+haClose)/2.0);                else  return((haLow+haClose)/2.0);                  }    }        //    //    //    //    //        switch (tprice)    {       case pr_close:     return(close[i]);       case pr_open:      return(open[i]);       case pr_high:      return(high[i]);       case pr_low:       return(low[i]);       case pr_median:    return((high[i]+low[i])/2.0);       case pr_medianb:   return((open[i]+close[i])/2.0);       case pr_typical:   return((high[i]+low[i]+close[i])/3.0);       case pr_weighted:  return((high[i]+low[i]+close[i]+close[i])/4.0);       case pr_average:   return((high[i]+low[i]+close[i]+open[i])/4.0);       case pr_tbiased:                   if (close[i] gt open[i])                      return((high[i]+close[i])/2.0);                else  return((low[i]+close[i])/2.0);            }    return(0); }    

 

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.