REIMT4





//+------------------------------------------------------------------+
//|                                                         REI.mq4 |
//|                                                         Mishutka |
//|                                          www.ourarsenal.narod.ru |
//+------------------------------------------------------------------+
#property copyright "Mishutka"
#property link      "www.ourarsenal.narod.ru"

#property indicator_separate_window
#property  indicator_buffers 1
#property  indicator_color1  Red
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
extern int lenght=8;
extern int NBars=100;
double REABS[21];
double RE[21];
double REI;
double SUM;
double SUMABS;
int Z;
double TDREI;

double WORK[];
int init()
  {
REI=0;
SUM=0;
SUMABS=0;
Z=0;
TDREI=0;
int www=14;

   IndicatorBuffers(1);
   SetIndexBuffer(0,WORK);
//---- drawing settings
  SetIndexLabel(0,"REI");
   //SetIndexDrawBegin(0,0);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
//---- indicator buffers mapping
  
  
//---- name for DataWindow and indicator subwindow label
    
 
//---- initialization done
   return(0);
  }
int start()
  {
Sleep(100);
   int counted_bars=IndicatorCounted();
   int limit;
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

//---- rei counted in the 1-st buffer
//Äëÿ ýòîãî ÿ ñðàâíèâàþ öåíîâûå ìàêñèìóì è ìèíèìóì â îïðåäåëåííûé äåíü ñ ìàêñèìóìîì è ìèíèìóìîì çà äâà äíÿ äî ýòîãî. 
//Ïîëîæèòåëüíàÿ ðàçíîñòü ôèêñèðóåòñÿ òîãäà, êîãäà ìàêñèìàëüíàÿ öåíà âûøå, ÷åì äâà äíÿ íàçàä. Îòðèöàòåëüíàÿ ðàçíîñòü
// ôèêñèðóåòñÿ òîãäà, êîãäà ýòà ìàêñèìàëüíàÿ öåíà ìåíüøå, ÷åì äâà äíÿ íàçàä. Åñëè ìèíèìàëüíàÿ öåíà âûøå ìèíèìàëüíîé 
//öåíû äâà äíÿ òîìó íàçàä, òî ôèêñèðóåòñÿ ïîëîæèòåëüíàÿ ðàçíîñòü. Åñëè îíà ìåíüøå, ÷åì äâà äíÿ íàçàä, òî ôèêñèðóåòñÿ î
//òðèöàòåëüíàÿ ðàçíîñòü. Çàòåì äâà ïîëó÷åííûõ çíà÷åíèÿ ñóììèðóþòñÿ è îïðåäåëÿåòñÿ çíà÷åíèå äëÿ äàííîãî äíÿ.



for (int shift=limit;shift>=0;shift--)
{
 
  RE[0]=(High[shift]-High[shift+2])+(Low[shift]-Low[shift+2]);
  REABS[0]=MathAbs(High[shift]-High[shift+2])+MathAbs(Low[shift]-Low[shift+2]);
  SUM=0;
  SUMABS=0;
 
   for (Z=0;Z<=lenght-1;Z++)
      {
  SUM=SUM+RE[Z];
  SUMABS=SUMABS+REABS[Z];
      }
 
    if (SUMABS>0) {REI=SUM/SUMABS;}

     TDREI=100*REI;
     if (TDREI==0) {TDREI=0.00001;}



    WORK[shift]=TDREI;


  for (Z=21;Z>=0;Z--)
   {
   RE[Z]=RE[Z-1];
   REABS[Z]=REABS[Z-1];
   }
   
}


//----
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:


Implements a curve of type DRAW_LINE

Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: