Author: Copyright � 2011, LenIFCHIK
Price Data Components
Series array that contains close prices for each bar
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
NH-NL
//+------------------------------------------------------------------+
//|                                                        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