//+------------------------------------------------------------------+
//| 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<limit; i++)
{
int NH=newh("EURUSD",i)+newh("GBPUSD",i)+newh("USDCHF",i)+newh("USDJPY",i)+newh("AUDUSD",i)+newh("USDCAD",i)+newh("NZDUSD",i);
int NL=newl("EURUSD",i)+newl("GBPUSD",i)+newl("USDCHF",i)+newl("USDJPY",i)+newl("AUDUSD",i)+newl("USDCAD",i)+newl("NZDUSD",i);
if(Symbol()=="EURUSD" || Symbol()=="GBPUSD" || Symbol()=="AUDUSD" || Symbol()=="NZDUSD")
{
Index[i]=NL-NH;
}
else
{
Index[i]=NH-NL;
}
}
return(0);
}
Comments