AvgRangeM_v1





//+------------------------------------------------------------------+
//|    AvgRangeM                                        AvgRange.mq4 |
//|                 Copyright © 2005, tageiger aka fxid10t@yahoo.com |
//| /www.forex-tsd.com                     http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, tageiger aka fxid10t@yahoo.com"
#property link    "http://www.metatrader.org http://www.forex-tsd.com"
//----
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_color2 SpringGreen
#property indicator_color3 Tomato
#property indicator_style1 2
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double rng,sum.rng,avg.rng;
double rng1,sum.rng1,avg.rng1;
double rng2,sum.rng2,avg.rng2;
double rng3,sum.rng3,avg.rng3;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,ExtMapBuffer3);
//----
  return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int deinit()   
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int start()
  {
   int    counted_bars=IndicatorCounted();
   rng=0;sum.rng=0;avg.rng=0;
   rng1=0;sum.rng1=0;avg.rng1=0;
   rng2=0;sum.rng2=0;avg.rng2=0;
   rng3=0;sum.rng3=0;avg.rng3=0;
//----
   for(int i=0;i<Bars;i++)
     {
      rng=(iHigh(Symbol(),Period(),i)-iLow(Symbol(),Period(),i));
      sum.rng+=rng;
      rng1=(iHigh(Symbol(),60,i)-iLow(Symbol(),60,i));
      sum.rng1+=rng1;
      rng2=(iHigh(Symbol(),240,i)-iLow(Symbol(),240,i));
      sum.rng2+=rng2;
      rng3=(iHigh(Symbol(),1440,i)-iLow(Symbol(),1440,i));
      sum.rng3+=rng3;
     }
   int db=iBars(Symbol(),Period());
   avg.rng=sum.rng/db;
   int db1=iBars(Symbol(),60);
   avg.rng1=sum.rng1/db1;
   int db2=iBars(Symbol(),240);
   avg.rng2=sum.rng2/db2;
   int db3=iBars(Symbol(),1440);
   avg.rng3=sum.rng3/db3;
//----
   for(int s=0;s<Bars;s++)
     {
      ExtMapBuffer1[s]=(iOpen(Symbol(),Period(),s));
      ExtMapBuffer2[s]=(iOpen(Symbol(),Period(),s)+(avg.rng/2));
      ExtMapBuffer3[s]=(iOpen(Symbol(),Period(),s)-(avg.rng/2));
     }
   Comment("Last Tick: ",TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),"\n",
 // "Sum of Period Ranges:",sum.rng,"\n",
 // "Average Range:",avg.rng,"\n",
           "D1", " Average Range: ",avg.rng3,"\n",
           "H4", " Avgrage Range: ",avg.rng2,"\n",
           "H1", " Average Range: ",avg.rng1," \n",
           "TF", Period()," Average Range: ",avg.rng," ");
 // "Total Bars:",i+1  );
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains open prices of each bar


Indicator Curves created:

Implements a curve of type DRAW_LINE


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: