//+------------------------------------------------------------------+ //| NH-NL.mq4 | //| LenIFCHIK © 2011 | //|Измеряет разность между числом пар, которые достигли новых | //|максимумов или минимумов за период (рассматривается курс USD). | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, LenIFCHIK" #property indicator_separate_window #property indicator_buffers 1 #property indicator_minimum -7 #property indicator_maximum 7 #property indicator_color1 DarkGreen extern int Depth=30; double Index[]; //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,Index); SetIndexStyle(0,DRAW_HISTOGRAM); string Tf; if(Period()==1) Tf="M1"; if(Period()==5) Tf="M5"; if(Period()==15) Tf="M15"; if(Period()==30) Tf="M30"; if(Period()==60) Tf="H1"; if(Period()==240) Tf="H4"; if(Period()==1440) Tf="D1"; if(Period()==10080) Tf="W1"; if(Period()==43200) Tf="MN"; string short_name="NH-NL("+Depth+","+Tf+")"; IndicatorShortName(short_name); IndicatorDigits(0); return(0); } //---- функция проверки цены закрытия на максимум Доллара США за период Depth int newh(string symbol,int i) { if(symbol=="EURUSD" || symbol=="GBPUSD" || symbol=="AUDUSD" || symbol=="NZDUSD") { int j=iLowest(symbol,Period(),MODE_CLOSE,Depth,i); if (iClose(symbol,Period(),i)==iClose(symbol,Period(),j)) { int nh=1; } else { nh=0; } } else { j=iHighest(symbol,Period(),MODE_CLOSE,Depth,i); if (iClose(symbol,Period(),i)==iClose(symbol,Period(),j)) { nh=1; } else { nh=0; } } return(nh); } //---- функция проверки цены закрытия на минимум Доллара США за период Depth int newl(string symbol,int i) { if(symbol=="EURUSD" || symbol=="GBPUSD" || symbol=="AUDUSD" || symbol=="NZDUSD") { int j=iHighest(symbol,Period(),MODE_CLOSE,Depth,i); if (iClose(symbol,Period(),i)==iClose(symbol,Period(),j)) { int nl=1; } else { nl=0; } } else { j=iLowest(symbol,Period(),MODE_CLOSE,Depth,i); if (iClose(symbol,Period(),i)==iClose(symbol,Period(),j)) { nl=1; } else { nl=0; } } return(nl); } //+------------------------------------------------------------------+ int start() { int limit=Bars-IndicatorCounted(); for(int i=0; i