//+----------------------------------------------------------------------------+
//|                                                          AverageRange.mq4  |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  14.09.2005  Скрипт для расчёта:                                           |
//|              средней волатильности инструмента High-Low                    |
//|              среднего размера тела свечи       ABS(Open-Close)             |
//|              среднего размера тени свечи                                   |
//|                                                                            |
//|  17.11.2007  Возможность использования заданного количества баров          |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link      "http://www.kimiv.ru"
#property show_inputs

extern datetime BeginDateCalc = D'2001.01.01';
extern datetime EndDateCalc   = D'2007.12.31';
extern int      NumberOfBars  = 100;         


//+----------------------------------------------------------------------------+
//|  script program start function                                             |
//+----------------------------------------------------------------------------+
void start() {
  int    i, b=0, bb=0, eb, h=0, l=0, s=0, t=0;
  string st="";

  for (i=Bars; i>0; i--) {
    if ((Time[i]>=BeginDateCalc && Time[i]<=EndDateCalc && NumberOfBars<=0)
    || (NumberOfBars>0 && NumberOfBars>=i)) {
      if (bb==0) bb=i;
      s+=(High[i]-Low[i])/Point;
      t+=MathAbs(Open[i]-Close[i])/Point;
      if (Open[i]>Close[i]) {
        h+=(High[i]-Open[i])/Point;
        l+=(Close[i]-Low[i])/Point;
      } else {
        h+=(High[i]-Close[i])/Point;
        l+=(Open[i]-Low[i])/Point;
      }
      b++;
    }
  }

  st=     "Начало: "+TimeToStr(Time[bb], TIME_DATE|TIME_MINUTES)+"\n";
  st=st+"Конец: "+TimeToStr(Time[bb-b+1], TIME_DATE|TIME_MINUTES)+"\n";
  st=st+"Использовано баров: "+b+"\n";
  st=st+"Средняя волатильность: "+s/b+ " п.\n";
  st=st+"Средний размер тела: "+t/b+" п.\n";
  st=st+"Средний размер верхней тени: "+h/b+" п.\n";
  st=st+"Средний размер нижней тени: "+l/b+" п.";

  Comment(st);
}
//+----------------------------------------------------------------------------+

