//+------------------------------------------------------------------+ //| HL_Bar.mq4 | //| | //| http://sany000000k.narod2.ru/ | //+------------------------------------------------------------------+ #property link "http://sany000000k.narod2.ru/" #property copyright "sanyooooook" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 DodgerBlue //---- input parameters extern int Period_ = 5; extern int TF=1440; //---- buffers double UpBuffer[]; double DnBuffer[]; double MdBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { if(TF= Period_) i = iBars(NULL,0) - counted_bars - 1; while(i >= 0) { double SredOPMA=0, SredHiOp=0, SredOpLo=0; for(int j=iBarShift(NULL,TF,iTime(NULL,0,i))+1;j<=iBarShift(NULL,TF,iTime(NULL,0,i))+Period_;j++) { SredOPMA=SredOPMA+MathAbs(iMA(NULL,TF,Period_,0,1,1,j)-iOpen(NULL,TF,j)); SredHiOp=SredHiOp+MathAbs(iHigh(NULL,TF,j)-iOpen(NULL,TF,j)); SredOpLo=SredOpLo+MathAbs(iOpen(NULL,TF,j)-iLow(NULL,TF,j)); } SredOPMA=SredOPMA/Period_; SredHiOp=SredHiOp/Period_; SredOpLo=SredOpLo/Period_; UpBuffer[i]=iOpen(NULL,TF,iBarShift(NULL,TF,iTime(NULL,0,i)))+SredHiOp; DnBuffer[i]=iOpen(NULL,TF,iBarShift(NULL,TF,iTime(NULL,0,i)))-SredOpLo; MdBuffer[i]=iOpen(NULL,TF,iBarShift(NULL,TF,iTime(NULL,0,i))); i--; } return(0); } //+------------------------------------------------------------------+