ravi_base





//--------------------------------------------------------------------
// ravi.mq4 
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Roman Shiredchenko, 2009"
//--------------------------------------------------------------------
#property indicator_separate_window 
#property indicator_buffers 1      // Êîëè÷åñòâî áóôåðîâ
#property indicator_color1  Blue    // Öâåò ëèíèè 0 áóôåðà

#property  indicator_level1  1
#property  indicator_level2  -1
//--------------------------------------------------------------- 2 --
//---- indicator parameters 

extern int History    =5000;      // Êîëè÷.áàðîâ â ðàñ÷¸òíîé èñòîðèè
extern int Period1=7; 
extern int Period2=65; 

double
   Line_0[];                        // Èíä. ìàññèâ  ravi 
    
//--------------------------------------------------------------- 4 --

int init()                          // Ñïåöèàëüíàÿ ôóíêöèÿ init()
  {
   SetIndexBuffer(0,Line_0);        // Íàçíà÷åíèå ìàññèâà áóôåðó
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Ñòèëü ëèíèè
   
   IndicatorShortName("ravi_base");
//--------------------------------------------------------------- 5 --
   
   return;                          // Âûõîä èç ñïåö. ôóíêöèè init()
  }

//--------------------------------------------------------------- 8 --
int start()                         // Ñïåöèàëüíàÿ ôóíêöèÿ start()
  {
//--------------------------------------------------------------- 9 --
  
   double
   SMA1,  SMA2;                  // 2 ÌÀ äëÿ ðàñ÷åòà çíà÷åíèé èíäèêàòîðà 
                                 // ôîðìyëà (SMA1-SMA2)*100)/SMA2; 
                             
   int
   i,                            // Èíäåêñ áàðà
   n,                            // Ôîðìàëüí. ïàðàìåòð(èíäåêñ áàðà)
   Counted_bars;                 // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ 

//-------------------------------------------------------------- 10 --
   Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ 
   i=Bars-Counted_bars-1;           // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî
   if (i>History-1)                 // Åñëè ìíîãî áàðîâ òî ..
      i=History-1;                  // ..ðàññ÷èòûâàòü çàäàííîå êîëè÷.
//-------------------------------------------------------------- 11 --
   while(i>=0)                      // Öèêë ïî íåïîñ÷èòàííûì áàðàì
     {
      //-------------------------------------------------------- 12 --
        
      SMA1=iMA(NULL,0,Period1,0,MODE_SMA,PRICE_CLOSE,i); // Çíà÷åíèå  ÌÀ1
      SMA2=iMA(NULL,0,Period2,0,MODE_SMA,PRICE_CLOSE,i); // Çíà÷åíèå  ÌÀ2
      
      Line_0[i] =0; 
      if (SMA2>0) Line_0[i] = ((SMA1-SMA2)*100)/SMA2;    //  Èíäèê. ìàññèâ ëèíèè ravi
     
      //-------------------------------------------------------- 13 --
      i--;                          // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî áàðà
      //-------------------------------------------------------- 14 --
     }
   return;                          // Âûõîä èç ñïåö. ô-èè start()
  }
//-------------------------------------------------------------- 15 --



Sample





Analysis



Market Information Used:



Indicator Curves created:



Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: