//+------------------------------------------------------------------+ //| RSI_CL.mq4 | //| * | //| * | //+------------------------------------------------------------------+ #property copyright "Integer" #property link "for-good-letters@yandex.ru" #property indicator_separate_window #property indicator_maximum 100 #property indicator_minimum 0 #property indicator_buffers 1 #property indicator_color1 Khaki //---- input parameters extern int RSIPeriod = 5; // Ïåðèîä RSI extern int RSIPrice = 0; // Öåíà RSI: 0-Close, 1-Open, 2-High, 3-Low, 4-Median, 5-Typical, 6-Weighted extern int RSILevel = 70; // Âåðõíèé óðîâåíü RSI, íèæíèé ðàâåí 100-RSILevel extern color UpColor = DodgerBlue; // Öâåò âåðõíåãî óðîâíÿ ïðè çíà÷åíèè èíäèêàòîðà îò RSILevel è âûøå extern color DnColor = Red; // Öâåò íèæíåãî óðîâíÿ ïðè çíà÷åíèè èíäèêàòîðà îò 100-RSILevel è íèæå extern color NormColor = Gray; // Îáû÷íûé öâåò óðîâíåé extern int IndicatorID = 1; // Èäåíòèôèêàòîð èíäèêàòîðà.  ñëó÷àå, åñëè íåîáõîäèìî, ÷òîáû íà îäíîì ãðàôèêå ðàáîòàëî íåñêîëüêî èíäèêàòîðîâ ñ ðàçíûìè ïàðàìåòðàìè, ó âñåõ èíäèêàòîðîâ äîëæíû áûòü ðàçíûå çíà÷åíèÿ èäåíòèôèêàòîðà (íåîáõîäèìî äëÿ ïðàâèëüíîé ðàáîòû ñ ãðàôè÷åñêèìè îáúåêòàìè). //---- buffers double rsi[]; double up[]; double lo[]; int LoLevel; string ShortName; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,rsi); LoLevel=100-RSILevel; SetLevelValue(0,50); SetIndexLabel(0,"RSI"); SetIndexDrawBegin(0,RSIPeriod+1); ShortName="RSI CL "+IndicatorID; IndicatorShortName(ShortName); IndicatorDigits(2); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectDelete("RSI_CL_"+IndicatorID+"_U"); ObjectDelete("RSI_CL_"+IndicatorID+"_L"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit=Bars-IndicatorCounted(); for(int i=limit-1;i>=0;i--){ rsi[i]=iRSI(NULL,0,RSIPeriod,RSIPrice,i); if(rsi[i]>=RSILevel){ if(rsi[i+1]>=RSILevel){ fObjHLine("RSI_CL_"+IndicatorID+"_U",RSILevel,UpColor,1,WindowFind(ShortName),0,false); } else{ fObjHLine("RSI_CL_"+IndicatorID+"_U",RSILevel,UpColor,1,WindowFind(ShortName),2,false); } } else{ if(rsi[i+1]>=RSILevel){ fObjHLine("RSI_CL_"+IndicatorID+"_U",RSILevel,NormColor,1,WindowFind(ShortName),2,false); } else{ fObjHLine("RSI_CL_"+IndicatorID+"_U",RSILevel,NormColor,1,WindowFind(ShortName),0,false); } } if(rsi[i]<=LoLevel){ if(rsi[i+1]<=LoLevel){ fObjHLine("RSI_CL_"+IndicatorID+"_L",LoLevel,DnColor,1,WindowFind(ShortName),0,false); } else{ fObjHLine("RSI_CL_"+IndicatorID+"_L",LoLevel,DnColor,1,WindowFind(ShortName),2,false); } } else{ if(rsi[i+1]<=LoLevel){ fObjHLine("RSI_CL_"+IndicatorID+"_L",LoLevel,NormColor,1,WindowFind(ShortName),2,false); } else{ fObjHLine("RSI_CL_"+IndicatorID+"_L",LoLevel,NormColor,1,WindowFind(ShortName),0,false); } } } return(0); } //+------------------------------------------------------------------+ void fObjHLine( string aObjectName, // 1 èìÿ double aPrice_1, // 2 öåíà color aColor=Red, // 3 öâåò int aWidth=1, // 4 òîëùèíà int aWindowNumber=0, // 5 îêíî int aStyle=0, // 6 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT bool aBack=false // 7 ôîí ){ if(ObjectFind(aObjectName)!=aWindowNumber){ ObjectCreate(aObjectName,OBJ_HLINE,aWindowNumber,0,aPrice_1); } ObjectSet(aObjectName,OBJPROP_PRICE1,aPrice_1); ObjectSet(aObjectName,OBJPROP_COLOR,aColor); ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth); ObjectSet(aObjectName,OBJPROP_BACK,aBack); ObjectSet(aObjectName,OBJPROP_STYLE,aStyle); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Relative strength index
Custom Indicators Used:
Order Management characteristics:
Other Features: