impulsmodify





//--------------------------------------------------------------------
// ravi.mq4 
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Roman Shiredchenko, 2009"
//--------------------------------------------------------------------
#property indicator_separate_window 

#property  indicator_buffers 3
#property  indicator_color1  Blue
#property  indicator_color2  Green
#property  indicator_color3  Red

//---- indicator parameters 
  
extern int Period_Ema=13;

extern int Period_Macd1=12;
extern int Period_Macd2=26;
extern int Period_Macd3=9;
 
 
 
 
double     ExtBuffer0[];
double     ExtBuffer1[];
double     ExtBuffer2[];
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int init() 
  {    

   SetIndexBuffer(0,ExtBuffer0);
   SetIndexBuffer(1,ExtBuffer1);
   SetIndexBuffer(2,ExtBuffer2);
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   IndicatorShortName("impulsmodify");
//---- initialization done
   return(0);
  } 
//+------------------------------------------------------------------+ 
//| Custor indicator deinitialization function                       | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- TODO: add your code here 
    
//---- 
   return(0); 
  } 
//----------------------------------------------------------------

int start()                         // Ñïåöèàëüíàÿ ôóíêöèÿ start()
  {
//-----------------------------------------------------------------
  
   double
   EMA1,  EMA2, SumEMA;                  // 2 ÌÀ äëÿ ðàñ÷åòà çíà÷åíèé èíäèêàòîðà EMA
   double
   M_0, M_1, SumMacd ;                           // Çíà÷åíèå MAIN MACD íà 0 è 1 áàðàõ
   
//--------------------------------------------------------------- 4 --
                      
                             
   int   i1 = 0;                  // ïåðåìåííûå äëÿ  îòêðûòèÿ çàêðûòèÿ ïîçèöèè 
                
   //---ñðåäíÿÿ ÅÌÀ è ìàéí ÌÀÊÄè ðàñòóò
 
      ExtBuffer1[1] = 0;
      ExtBuffer0[1] = 0;
      ExtBuffer2[1] = 0;
      EMA1=iMA(NULL, PERIOD_D1,Period_Ema,0,MODE_EMA,PRICE_CLOSE,i1); // Çíà÷åíèå  EÌÀ1 current
      EMA2=iMA(NULL, PERIOD_D1,Period_Ema,0,MODE_EMA,PRICE_CLOSE,i1+1); // Çíà÷åíèå  EÌÀ2  prev 
      SumEMA = 0;
      SumEMA = EMA1 - EMA2;
           
      M_0=iMACD(NULL, PERIOD_D1,Period_Macd1,Period_Macd2,Period_Macd3,PRICE_CLOSE,MODE_MAIN,i1); // 
      M_1=iMACD(NULL, PERIOD_D1,Period_Macd1,Period_Macd2,Period_Macd3,PRICE_CLOSE,MODE_MAIN,i1+1); // 
      SumMacd=0;
      SumMacd=M_0-M_1;
      
      if (SumEMA>0 && SumMacd>0) ExtBuffer1[1] = 4;   // mas green  
       if  (ExtBuffer1[1] == 0)
       {
       if (SumEMA<0 && SumMacd<0)      // åñëè åìà è ìàêäè óìåíüøàþòñÿ, òî ðèñóé êðàñíóþ ëèí  
       { ExtBuffer2[1] = 2;
       } else
        ExtBuffer0[1] = 3;            // èíà÷å ðèñóé blue ëèíèþ ãèñòîãðàììû 
        }
      
     //-------------------------------------------
      
     
        
      
    
   return;                          // Âûõîä èç ñïåö. ô-èè start()
  }
//-------------------------------------------------------------- 15 --



Sample





Analysis



Market Information Used:



Indicator Curves created:


Implements a curve of type DRAW_HISTOGRAM

Indicators Used:

Moving average indicator
MACD Histogram


Custom Indicators Used:

Order Management characteristics:

Other Features: