16 indicators in 1 Indicator For MT4

16 indicators in 1 Indicator For MT4

The 16 indicators in 1 Indicator For MT4 allows traders to simultaneously overlay the following indicators on a price chart: 1. Four Different Moving Averages 2. Bollinger Bands 3. Parabolic SAR In addition, 16 other popular technical indicators can be plotted on separate panes below the price chart: 1. Commodity Channel Index? (CCI) 2. Relative Strength Index (RSI) 3. Standard Deviation 4. Moving Average Convergence Divergence (MACD) 5. Stochastic Oscillator 6. Bull Power Indicator 7. Bear Power Indicator 8. On Balance Volume 9. Awesome Oscillator (AO) 10. Accelerator Oscillator (AC) 11. Money Flow Index (MFI) 12. Average True Range (ATR) 13. Oscillator of Moving Average (OsMA) 14. Average Directional Movement Index (ADX) 15. Momentum 16. Force Index

FREE 16 indicators in 1 Indicator

Download the FREE 16 indicators in 1 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


Installing the 16 indicators in 1 Indicator For MT4

After you downloaded the indicator via the form above you need to unzip the zip-file. Then you need to copy the file Multipaires_indicator_V2.mq4 into the folder MQL4\Indicators of your MT4 installation. After that please restart MT4 and then you will be able to see the indicator in the list of indicators.

Parameters of the 16 indicators in 1 Indicator For MT4

The 16 indicators in 1 Indicator For MT4 has 18 parameters to configure.

extern string Paire = "EURUSD";
extern string Indicator= "CCI";
extern string setup_a=" Indicateur à une seule période" ;
extern int Période =14;
extern string setup_b= "Pour le MACD et OSMA";
extern int fast = 12;
extern int slow= 26;
extern int signal =9;
extern string setup_c="Pour le Stochastique";
extern int KPeriod=5;
extern int DPeriod=3;
extern int Slowing=3;
extern string setup_d="Définition du style";
extern string Style = "LIGNE";
extern int Style_point= 159;
extern string setup_e="Définition du style de prix et MA";
extern string price ="CLOSE";
extern string ma_style ="SMA";

Buffers of the 16 indicators in 1 Indicator For MT4

The 16 indicators in 1 Indicator For MT4 provides 10 buffers.

SetIndexBuffer(0,Id)  ;

Main Parts Of The Code

void start()

   int counted_bars=IndicatorCounted();

   if(counted_bars lt 0) return(-1);
   if(counted_bars gt 0) counted_bars--;
   int limit=Bars-counted_bars;
   double prix,mode;
   string ls_0 = "Multi ";
   int li_8 = WindowFind(ls_0);
   for(int i=0; i lt limit; i++)
                                                                 // Définition du prix
     if (price == "CLOSE")                  prix= PRICE_CLOSE;
     if (price == "TYPICAL")                prix= PRICE_TYPICAL;
     if (price == "HIGH")                   prix= PRICE_HIGH;
     if (price == "LOW")                    prix= PRICE_LOW;
     if (price == "OPEN")                   prix= PRICE_OPEN;
     if (price == "MEDIAN")                 prix= PRICE_MEDIAN;
     if (price == "WEIGHTED")               prix= PRICE_WEIGHTED;
                                                                 // Définition du style moving average
     if (ma_style == "SMA")                 mode= MODE_SMA;
     if (ma_style == "EMA")                 mode= MODE_EMA;
     if (ma_style == "LWMA")                mode= MODE_LWMA;
     if (ma_style == "SMOOT")               mode= MODE_SMMA;

                                                                 // Choix des indicateurs de 1 buffer

      if (Indicator == "CCI")    Id[i]     = iCCI(Paire,0,Période,prix,i) ; 
      if (Indicator == "RSI")    Id[i]     = iRSI(Paire,0,Période,prix,i);
      if (Indicator == "BULL")   Id[i]     = iBullsPower(Paire, 0, Période,prix,i);
      if (Indicator == "BEAR")   Id[i]     = iBullsPower(Paire, 0, Période,prix,i);
      if (Indicator == "OBV")    Id[i]     = iOBV(Paire, 0, prix, i);
      if (Indicator == "MOM")    Id[i]     = iMomentum(Paire,0,Période,prix,i);
      if (Indicator == "STDEV")  Id[i]     = iStdDev(Paire,0,Période,0,mode,prix,i);
      if (Indicator == "MFI")    Id[i]     = iMFI(Paire,0,Période,i);
      if (Indicator == "ATR")    Id[i]     = iATR(Paire,0,Période,i);
      if (Indicator == "FORCE")  Id[i]     = iForce(Paire, 0, Période,mode,prix,i);
      if (Indicator == "AC")     Id[i]     = iAC(Paire, 0, i);
      if (Indicator == "AO")     Id[i]     = iAO(Paire, 0, i);
      if (Indicator == "OSMA")   Id[i]     = iOsMA(Paire,0,fast,slow,signal,prix,i);
      if (Indicator == "BB")     Id[i]     = iBullsPower(Paire, 0, Période,prix,i);
      if (Indicator == "BB")     Id_2[i]   = iBearsPower(Paire, 0, Période,prix,i);

                                                                // Choix des indicateur à plusieurs buffers

      if (Indicator == "MACD") Id[i]       = iMACD(Paire,0,fast,slow,signal,prix,MODE_MAIN,i);
      if (Indicator == "MACD") Id_2[i]     = iMACD(Paire,0,fast,slow,signal,prix,MODE_SIGNAL,i);
      if (Indicator == "MACD") Id_3[i]     = iMACD(Paire,0,fast,slow,signal,prix,MODE_MAIN,i)- iMACD(Paire,0,fast,slow,signal,PRICE_CLOSE,MODE_SIGNAL,i);
      if (Indicator == "STO") Id[i]        = iStochastic(Paire,0,KPeriod,DPeriod,Slowing,mode,0,MODE_MAIN,i);
      if (Indicator == "STO") Id_2[i]      = iStochastic(Paire,0,KPeriod,DPeriod,Slowing,mode,0,MODE_SIGNAL,i);
      if (Indicator == "ADX") Id[i]        = iADX(Paire,0,Période,prix,MODE_PLUSDI,i);
      if (Indicator == "ADX") Id_2[i]      = iADX(Paire,0,Période,prix,MODE_MINUSDI,i);

                                                  // Définition du nom et des périodes à afficher pour les cas "MACD","Sto" et "OSMA3
      if (Indicator == "MACD")    IndicatorShortName("Multi indic("+Paire+","+Indicator+","+fast+","+slow+","+signal+")");
      if (Indicator == "STO")     IndicatorShortName("Multi indic("+Paire+","+Indicator+","+KPeriod+","+DPeriod+","+Slowing+")");
      if (Indicator == "OSMA")    IndicatorShortName("Multi indic("+Paire+","+Indicator+","+fast+","+slow+","+signal+")");

                                                         // Définition du style buffer
     if (Style == "LIGNE") SetIndexStyle(0,DRAW_LINE);
                           SetIndexBuffer(0,Id)  ;      
     if (Style == "HISTO") SetIndexStyle(0,DRAW_HISTOGRAM);
     if (Style == "POINT") SetIndexStyle(0,DRAW_ARROW);
                                                     //Définition des zones extrêmes selon les indicateurs
   if (Indicator == "CCI")  ext_1[i]     =  100;
   if (Indicator == "CCI")  ext_2[i]     =  -100;
   if (Indicator == "CCI")  ext_3[i]     =  200;
   if (Indicator == "CCI")  ext_4[i]     =  -200;
   if (Indicator == "RSI")  ext_1[i]     =  70;
   if (Indicator == "RSI")  ext_2[i]     =  30;
   if (Indicator == "STO")  ext_1[i]     =  20;
   if (Indicator == "STO")  ext_2[i]     =  80;


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:  

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.

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!