RSI Strike Indicator For MT5
Table Of Contents:
- RSI Strike Indicator For MT5
- Установка RSI Strike Indicator For MT5
- Параметры RSI Strike Indicator For MT5
- Буферы RSI Strike Indicator For MT5
- Основные части кодекса
RSI Strike Indicator For MT5 - технически обоснованный торговый инструмент для использования - этот индикатор основан на уже очень эффективном индикаторе, известном как индикаторный индикатор Relative Strength Index - инструмент Relative Strength index является фантастическим индикатором для определения силы и ищите возможные уровни истощения, которые возникают в секторах, которые известны как зоны перепроданности и перекупленности, что в конечном итоге приводит (чаще всего) к разворотным торговым возможностям. Однако эта измененная версия немного отличается тем, что фактическая линия Индекса относительной силы не видна, как это обычно бывает в нижнем окне экрана - это немного отличается, потому что она фактически отображает моменты, когда точки пересечения сделаны через Относительную силу Индекс и, следовательно, каждое пересечение помечены так называемыми ударами. Эти удары показаны с помощью многоцветных стрелок, направленных вниз или вверх - стрелки, указывающие вниз, сигнализируют о продаже, а стрелки, направленные вверх, сигнализируют о покупке - кроме того, каждый стек может включать до четырех стрелок - что в этом хорошего Индикатором является то, что он может быть использован также для рисования очень важных устойчивых линий поддержки, соединяя хвосты каждой красной стрелки.
Установка RSI Strike Indicator For MT5
После того, как вы загрузили индикатор через форму выше, вам необходимо распаковать zip-файл. Затем вам нужно скопировать файл rsi_strike.mq5 в папку MQL5Indicators вашей установки MT5 . После этого перезапустите MT5, и вы сможете увидеть индикатор в списке индикаторов.
Параметры RSI Strike Indicator For MT5
RSI Strike Indicator For MT5 имеет параметры 16 для настройки.
input int RSI_Period1=2; input int RSI_Period2=4; input ENUM_APPLIED_PRICE RSI_Price1=PRICE_CLOSE; input ENUM_APPLIED_PRICE RSI_Price2=PRICE_CLOSE; input int RSI_Period3=3; input int RSI_Period4=6; input ENUM_APPLIED_PRICE RSI_Price3=PRICE_CLOSE; input ENUM_APPLIED_PRICE RSI_Price4=PRICE_CLOSE; input int RSI_Period5=4; input int RSI_Period6=8; input ENUM_APPLIED_PRICE RSI_Price5=PRICE_CLOSE; input ENUM_APPLIED_PRICE RSI_Price6=PRICE_CLOSE; input int RSI_Period7=5; input int RSI_Period8=10; input ENUM_APPLIED_PRICE RSI_Price7=PRICE_CLOSE; input ENUM_APPLIED_PRICE RSI_Price8=PRICE_CLOSE;
Буферы RSI Strike Indicator For MT5
RSI Strike Indicator For MT5 предоставляет буферы 8 .
SetIndexBuffer(0,CrossUp1,INDICATOR_DATA); SetIndexBuffer(1,CrossDown1,INDICATOR_DATA); SetIndexBuffer(2,CrossUp2,INDICATOR_DATA); SetIndexBuffer(3,CrossDown2,INDICATOR_DATA); SetIndexBuffer(4,CrossUp3,INDICATOR_DATA); SetIndexBuffer(5,CrossDown3,INDICATOR_DATA); SetIndexBuffer(6,CrossUp4,INDICATOR_DATA); SetIndexBuffer(7,CrossDown4,INDICATOR_DATA);
Основные части кодекса
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- checking the number of bars to be enough for the calculation for(int numb=0; numb lt 8; numb++) if(BarsCalculated(RSI_Handle[numb]) lt rates_total) return(RESET); if(rates_total lt min_rates_total) return(RESET); //---- declarations of local variables int to_copy,limit,bar; double Range,AvgRange; double RSI1[],RSI2[],RSI3[],RSI4[],RSI5[],RSI6[],RSI7[],RSI8[]; //---- calculations of the necessary amount of data to be copied //---- and the limit starting index for the bars recalculation loop if(prev_calculated gt rates_total || prev_calculated lt =0)// checking for the first start of the indicator calculation limit=rates_total-min_rates_total-1; // starting index for calculation of all bars else limit=rates_total-prev_calculated; // starting index for calculation of new bars to_copy=limit+2; //--- copy newly appeared data in the arrays if(CopyBuffer(RSI_Handle[0],0,0,to_copy,RSI1) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[1],0,0,to_copy,RSI2) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[2],0,0,to_copy,RSI3) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[3],0,0,to_copy,RSI4) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[4],0,0,to_copy,RSI5) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[5],0,0,to_copy,RSI6) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[6],0,0,to_copy,RSI7) lt =0) return(RESET); if(CopyBuffer(RSI_Handle[7],0,0,to_copy,RSI8) lt =0) return(RESET); //---- indexing elements in arrays as timeseries ArraySetAsSeries(RSI1,true); ArraySetAsSeries(RSI2,true); ArraySetAsSeries(RSI3,true); ArraySetAsSeries(RSI4,true); ArraySetAsSeries(RSI5,true); ArraySetAsSeries(RSI6,true); ArraySetAsSeries(RSI7,true); ArraySetAsSeries(RSI8,true); ArraySetAsSeries(high,true); ArraySetAsSeries(low,true); //---- main indicator calculation loop for(bar=limit; bar gt =0 && !IsStopped(); bar--) { AvgRange=0.0; for(int count=bar; count lt =bar+9; count++) AvgRange+=MathAbs(high[count]-low[count]); Range=AvgRange/10; CrossUp1[bar]=0.0; CrossDown1[bar]=0.0; CrossUp2[bar]=0.0; CrossDown2[bar]=0.0; CrossUp3[bar]=0.0; CrossDown3[bar]=0.0; CrossUp4[bar]=0.0; CrossDown4[bar]=0.0; if(RSI1[bar] gt RSI2[bar] && RSI1[bar+1] lt RSI2[bar+1]) CrossUp1[bar]=low[bar]-Range*0.2; else if(RSI1[bar] lt RSI2[bar] && RSI1[bar+1] gt RSI2[bar+1]) CrossDown1[bar]=high[bar]+Range*0.2; if(RSI3[bar] gt RSI4[bar] && RSI3[bar+1] lt RSI4[bar+1]) CrossUp2[bar]=low[bar]-Range*0.4; else if(RSI3[bar] lt RSI4[bar] && RSI3[bar+1] gt RSI4[bar+1]) CrossDown2[bar]=high[bar]+Range*0.4; if(RSI5[bar] gt RSI6[bar] && RSI5[bar+1] lt RSI6[bar+1]) CrossUp3[bar]=low[bar]-Range*0.6; else if(RSI5[bar] lt RSI6[bar] && RSI5[bar+1] gt RSI6[bar+1]) CrossDown3[bar]=high[bar]+Range*0.6; if(RSI7[bar] gt RSI8[bar] && RSI7[bar+1] lt RSI8[bar+1]) CrossUp4[bar]=low[bar]-Range*0.8; else if(RSI7[bar] lt RSI8[bar] && RSI7[bar+1] gt RSI8[bar+1]) CrossDown4[bar]=high[bar]+Range*0.8; } //---- return(rates_total); } //+------------------------------------------------------------------+