UltraRSI Indicator For MT5
UltraRSI Indicator For MT5 er en ypperlig indikator for å måle og vise styrken til en eiendel i sine respektive hausse og bearish trendingperioder i markedet - ved første øyekast er oscillatoren satt opp på en unormal måte som de fleste handelsmenn ikke er vant til å ha sa at selv om det fremdeles sørger for enkel tolkning. Denne indikatoren er en avansert versjon av den normale Relative Strength Index der den næringsdrivende har opptil ti forskjellige alternativer å velge mellom for å definere sin utjevningsalgoritme, men den resulterende svingningen er ikke i form av en linje, men i form av to forskjellige farger skyer som fungerer som en trendretningsindikator og som en trendstyrkebarometer. Den blå skyen er for bullish perioder i markedet, og de rosa skyene er for bearish perioder i markedet som er flott, og derfor bør handelsmenn se på å utnytte bruken av denne indikatoren fordi størrelsen på bredden til de respektive skyene tydelig definerer utgangs- og inngangspunkter for den næringsdrivende. Så når en ny trend dannes - som bekreftet av fargeendringen på de to skyene - kan handelsmannen bestemme seg for å åpne en handel på det tidspunktet, hvoretter skyen vil utvide seg i bredde i direkte forhold til trendstyrken og deretter vil den trekke seg sammen og reduseres i bredden - når skyen har sunket nesten fullstendig i bredden, kan den næringsdrivende stenge handelen som de er i.
Installere UltraRSI Indicator For MT5
Etter at du har lastet ned indikatoren via skjemaet over, må du pakke ut zip-filen. Deretter må du kopiere filen ultrarsi.mq5 til mappen MQL5Indicators for din MT5 installasjon. Etter det kan du starte MT5 på nytt, så vil du kunne se indikatoren i listen over indikatorer.
Parametere for UltraRSI Indicator For MT5
UltraRSI Indicator For MT5 har 16 parametere som skal konfigureres.
input int RSI_Period=13; // RSI indicator period
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Applied price
input Smooth_Method W_Method=MODE_JJMA; // Smoothing method
input int StartLength=3; // Initial smoothing period
input int WPhase=100; // Smoothing parameter
input uint Step=5; // Period change step
input uint StepsTotal=10; // Number of period changes
input Smooth_Method SmoothMethod=MODE_JJMA; // Smoothing method
input int SmoothLength=3; // Smoothing depth
input int SmoothPhase=100; // Smoothing parameter
input uint UpLevel=80; // Overbought level, %%
input uint DnLevel=20; // Oversold level, %%
input color UpLevelsColor=Blue; // Overbought level color
input color DnLevelsColor=Blue; // Oversold level color
input STYLE Levelstyle=DASH_; // Levels style
input WIDTH LevelsWidth=Width_1; // Levels width
Buffere av UltraRSI Indicator For MT5
UltraRSI Indicator For MT5 inneholder 2 buffere.
SetIndexBuffer(0,BullsBuffer,INDICATOR_DATA);
SetIndexBuffer(1,BearsBuffer,INDICATOR_DATA);
Hoveddeler av koden
int OnCalculate(const int rates_total, // number of bars in history at the current tick
const int prev_calculated,// number of bars calculated at previous call
const datetime &time[],
const double &open[],
const double& high[], // price array of maximums of price for the indicator calculation
const double& low[], // price array of minimums of price for the indicator calculation
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---- checking the number of bars to be enough for the calculation
if(BarsCalculated(RSI_Handle) lt rates_total
|| rates_total lt min_rates_total)
return(RESET);
//---- declaration of local variables
int to_copy,limit,bar,maxbar1,maxbar2;
double RSI[],upsch,dnsch;
//---- calculation of maxbar initial index for the XMASeries() function
maxbar1=rates_total-1-min_rates_wpr;
maxbar2=rates_total-1-min_rates_xma;
//---- calculation of 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=maxbar1; // 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,to_copy,RSI) lt =0) return(RESET);
//---- indexing elements in arrays as time series
ArraySetAsSeries(RSI,true);
//---- main indicator calculation loop
for(bar=limit; bar gt =0 && !IsStopped(); bar--)
{
for(int sm=int(StepsTotal); sm gt =0 && !IsStopped(); sm--)
xwpr0[sm]=XMA[sm].XMASeries(maxbar1,prev_calculated,rates_total,W_Method,WPhase,period[sm],RSI[bar],bar,true);
if(bar gt maxbar2)
{
if(bar) ArrayCopy(xwpr1,xwpr0,0,0,WHOLE_ARRAY);
continue;
}
upsch=0;
dnsch=0;
for(int sm=int(StepsTotal); sm gt =0 && !IsStopped(); sm--)
if(xwpr0[sm] gt xwpr1[sm]) upsch++;
else dnsch++;
BullsBuffer[bar]=XMA[StTot1].XMASeries(maxbar2,prev_calculated,rates_total,SmoothMethod,SmoothPhase,SmoothLength,upsch,bar,true);
BearsBuffer[bar]=XMA[StTot2].XMASeries(maxbar2,prev_calculated,rates_total,SmoothMethod,SmoothPhase,SmoothLength,dnsch,bar,true);
if(bar) ArrayCopy(xwpr1,xwpr0,0,0,WHOLE_ARRAY);
}
//----
return(rates_total);
}
//+------------------------------------------------------------------+