Elite indicators - metatrader 5 version :) - page 53

 

Super trend (experiment) - the version that can use atr, standard error or standard deviations for calculations - extended to be multi time frame


 
baraozemo:
What would be it's mathematical definition that could fit in that function?
 

mladen:

Hi mladen, 
does it possible to add to price's class, OBV tick and OBV REAL ?


 


Code for prices :

enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_tbiased2,   // Trend biased (extreme) price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased,  // Heiken ashi trend biased price
   pr_hatbiased2  // Heiken ashi trend biased (extreme) price
};

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
//

#define priceInstances 1
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>=pr_haclose)
   {
      if (ArrayRange(workHa,0)!= _bars) ArrayResize(workHa,_bars); instanceNo*=4;
        
         //
         //
         //
         //
         //
        
         double haOpen;
         if (i>0)
                haOpen  = (workHa[i-1][instanceNo+2] + workHa[i-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  <haClose) { workHa[i][instanceNo+0] = haLow;  workHa[i][instanceNo+1] = haHigh; }
         else                 { workHa[i][instanceNo+0] = haHigh; workHa[i][instanceNo+1] = haLow;  }
                                workHa[i][instanceNo+2] = haOpen;
                                workHa[i][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>haOpen)
                     return((haHigh+haClose)/2.0);
               else  return((haLow+haClose)/2.0);        
            case pr_hatbiased2:
               if (haClose>haOpen)  return(haHigh);
               if (haClose<haOpen)  return(haLow);
                                    return(haClose);        
         }
   }
  
   //
   //
   //
   //
   //
  
   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]>open[i])
                     return((high[i]+close[i])/2.0);
               else  return((low[i]+close[i])/2.0);        
      case pr_tbiased2:  
               if (close[i]>open[i]) return(high[i]);
               if (close[i]<open[i]) return(low[i]);
                                     return(close[i]);        
   }
   return(0);
}
As of averages : sorry
 
mladen:

This indicator needs an "warning" ...


It is using Gaussian filter of arbitrary order (poles) calculation depth, and, to have results that are not "too fast" you have to set the calculating period to some longer period. That is probably the first time I have seen that something is "too fast" and that the period needs to be adjusted to linger periods.

This version uses the standard 22 price types and is already a multi time frame version. Some experimenting is needed, but as a rule of thumb, the higher the order the smoother the result, but in that case lessen the periods (to get a fast and smooth result)


This is perfect indi :) Thanks to the @mladen for this hard work...

Can you make it mt4 version please?

 
mladen:
What would be it's mathematical definition that could fit in that function?
I think I made a mistake, I think the obv tick and real obv are applicable only in the moving average class in this case .. (price / obv tick / real obv)
 
oguz:

This is perfect indi :) Thanks to the @mladen for this hard work...

Can you make it mt4 version please?

mrtools already made it :)

He posted it here : https://www.mql5.com/en/forum/175037/page930

 

Is there a mt5 version of the "chaos visual averages" mentioned here?: https://www.mql5.com/en/forum/175037/page871 

 
FXSurf:

Is there a mt5 version of the "chaos visual averages" mentioned here?: https://www.mql5.com/en/forum/175037/page871 

No, it was not made yet
 
mladen:

Step two of the same thing :

ATTENTION: Video should be reuploaded
centered_tma_price_channel_1.mq5

____________________

PS: There will be one more step that will make the whole thing "beautiful" - that way all can see a process of making something from step one to step nnn

This would be really great if you could add MTF function.
 
mladen:
No, it was not made yet
no worries, thanks for all that you do!