//+------------------------------------------------------------------+ //| Renko_CW.mq4 //+------------------------------------------------------------------+ #property indicator_chart_window #include #property indicator_buffers 1 #property indicator_color1 SpringGreen extern int BrickSize = 50; int BrickLimit = 1; double BrickPips; int FirstTick = 1; double Renko[]; double Bricks[]; int init() { IndicatorBuffers(1); SetIndexStyle(0,DRAW_LINE,0,2); SetIndexBuffer(0,Renko); SetIndexEmptyValue(0,0.0); ArrayInitialize(Renko,0.0); ArraySetAsSeries(Bricks,true); ArrayResize(Bricks,BrickLimit); BrickPips = BrickSize*Point; return(0); } int deinit() { return(0); } int start() { // barf int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); //---- check for possible errors if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted int limit=Bars-counted_bars; for (int i=0;i= Bricks[0]+BrickPips) { BrickLimit++; ArraySetAsSeries(Bricks,false); ArrayResize(Bricks,BrickLimit); ArraySetAsSeries(Bricks,true); Bricks[0] = Bricks[1]+BrickPips; } else if (Close[i] <= Bricks[0]-BrickPips) { BrickLimit++; ArraySetAsSeries(Bricks,false); ArrayResize(Bricks,BrickLimit); ArraySetAsSeries(Bricks,true); Bricks[0] = Bricks[1]-BrickPips; } ArrayInitialize(Renko,0.0); ArrayCopy(Renko,Bricks); } // Comment(DoubleToStr(Bricks[1],4)," ",DoubleToStr(Bricks[0],4)); } return(0); } //+------------------------------------------------------------------+