/*-----------------------------+ | | | Shared by www.Aptrafx.com | | | +------------------------------*/ //+------------------------------------------------------------------+ //| 5 Min RSI 12-period qual INDICATOR | //+------------------------------------------------------------------+ #property copyright "Ron T" #property link "http://www.lightpatch.com" #property indicator_chart_window #property indicator_buffers 8 #property indicator_color1 DodgerBlue //#property indicator_color1 Red #property indicator_color2 HotPink #property indicator_color3 LightPink #property indicator_color4 MistyRose #property indicator_color5 DodgerBlue //#property indicator_color5 White #property indicator_color6 LightGray #property indicator_color7 LightSlateGray #property indicator_color8 DarkGray //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double ExtMapBuffer6[]; double ExtMapBuffer7[]; double ExtMapBuffer8[]; // User Input //+------------------------------------------------------------------+ //| Custom indicator initialization function | //|------------------------------------------------------------------| int init() { // 233 up arrow // 234 down arrow // 159 big dot // 168 open square SetIndexStyle(0,DRAW_ARROW); SetIndexBuffer(0, ExtMapBuffer1); SetIndexArrow(0,159); //up SetIndexStyle(1,DRAW_ARROW); SetIndexBuffer(1, ExtMapBuffer2); SetIndexArrow(1,159); //down SetIndexStyle(2,DRAW_ARROW); SetIndexBuffer(2, ExtMapBuffer3); SetIndexArrow(2,159); SetIndexStyle(3,DRAW_ARROW); SetIndexBuffer(3, ExtMapBuffer4); SetIndexArrow(3,159); SetIndexStyle(4,DRAW_ARROW); SetIndexBuffer(4, ExtMapBuffer5); SetIndexArrow(4,159); SetIndexStyle(5,DRAW_ARROW); SetIndexBuffer(5, ExtMapBuffer6); SetIndexArrow(5,159); SetIndexStyle(6,DRAW_ARROW); SetIndexBuffer(6, ExtMapBuffer7); SetIndexArrow(6,159); SetIndexStyle(7,DRAW_ARROW); SetIndexBuffer(7, ExtMapBuffer8); SetIndexArrow(7,159); return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { int i; for( i=0; i<Bars; i++ ) ExtMapBuffer1[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer2[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer3[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer4[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer5[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer6[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer7[i]=0; for( i=0; i<Bars; i++ ) ExtMapBuffer8[i]=0; return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ // Current position if 55/45 or over/under. Does any of // the previous 'qual' period ever fall below55/above45? (last11) // // If qual*2 periods have been above55/below45 // then lets not try to transact any more (last22) int start() { double rsi=0; // Relative Strength Indicator int i=0; int pos=Bars-100; // leave room for moving average periods int qual=11; // how many bars to qualify bool last11=true; // qualify flag bool last22=true; // qualify flag while(pos>=0) { rsi=iRSI(Symbol(),0,28,PRICE_CLOSE,pos); if (rsi>50) { //ExtMapBuffer8[pos]=High[pos]+0.0006; last11=true; for(i=pos+1; i<=(pos+qual); i++) { if (iRSI(Symbol(),0,28,PRICE_CLOSE,i)<50) last11=false; } //if (last11==true) ExtMapBuffer7[pos]=High[pos]+0.0004; last22=true; for(i=pos+1; i<=(pos+(qual*2)); i++) { if (iRSI(Symbol(),0,28,PRICE_CLOSE,i)<50) last22=false; } //if (last22==true) ExtMapBuffer6[pos]=High[pos]+0.0002; if (last11==true && last22==false) ExtMapBuffer1[pos]=High[pos]+0.0003; } if (rsi<50) { //ExtMapBuffer4[pos]=Low[pos]-0.0006; last11=true; for(i=pos+1; i<=(pos+qual); i++) { if (iRSI(Symbol(),0,28,PRICE_CLOSE,i)>50) last11=false; } //if (last11==true) ExtMapBuffer3[pos]=Low[pos]-0.0004; last22=true; for(i=pos+1; i<=(pos+(qual*2)); i++) { if (iRSI(Symbol(),0,28,PRICE_CLOSE,i)>50) last22=false; } //if (last22==true) ExtMapBuffer2[pos]=Low[pos]-0.0002; if (last11==true && last22==false) ExtMapBuffer5[pos]=Low[pos]-0.0003; } pos--; } 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_ARROW
Indicators Used:
Relative strength index
Custom Indicators Used:
Order Management characteristics:
Other Features: