//+------------------------------------------------------------------+ //| 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,255); 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: