//+------------------------------------------------------------------+ //| TP_CcwnnelWidth.mq4 | //| Ron Mauldin | //| http://fx41.com | //+------------------------------------------------------------------+ #property copyright "Ron Mauldin" #property link "http://fx41.com" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 White #property indicator_color2 Green #property indicator_color3 Red #property indicator_width1 3 #property indicator_width2 1 #property indicator_width3 1 #property indicator_minimum 0.0 //---- extern int CW_Periods=7; extern int CW_PipMultiplier=10000; //---- buffers double cwPeriodPips[]; double cwUP[]; double cwDN[]; int init(){ SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0, cwPeriodPips); SetIndexDrawBegin(0,10); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexBuffer(1, cwUP); SetIndexDrawBegin(1,10); SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexBuffer(2, cwDN); SetIndexDrawBegin(2,10); return(0); } int deinit(){return(0);} int start(){ double cwOpen, cwHigh, cwLow, cwClose,cwPeriodMax,cwPeriodMin,cwChannelWidth; int counted_bars = IndicatorCounted(); if(counted_bars<0) counted_bars=0; if(counted_bars>0) counted_bars--; int limit = (Bars - 1 - counted_bars); for(int bar = limit; bar >= 0; bar--){ cwPeriodMax=0; cwPeriodMin=0; cwOpen=((((((Open[bar+3]+High[bar+3]+Low[bar+3]+Close[bar+3])/4)+((Open[bar+2]+High[bar+2]+Low[bar+2]+Close[bar+2])/4))/2)+((Open[bar+1]+High[bar+1]+Low[bar+1]+Close[bar+1])/4))/2); cwClose=(Open[bar]+High[bar]+Low[bar]+Close[bar])/4; cwHigh=High[bar]; cwLow=Low[bar]; cwChannelWidth=CW_PipMultiplier*(cwHigh-cwLow); if(cwOpen