In 5 Minuten wird es einen Code geben. Beachten Sie, dass der RSI die Wilder-Glättung verwendet, die mit der exponentiellen Glättung identisch ist, aber eine längere Periode aufweist, so dass es zu einer deutlichen Diskrepanz kommen kann.
Was gibt es vorzubereiten? Wir werfen den Hauptpuffer aus dem RSI heraus und setzen die beiden vorhandenen Puffer an seine Stelle:
//+------------------------------------------------------------------+//| RSI.mq4 |//| Copyright 2005-2014, MetaQuotes Software Corp. |//| https://www.mql4.com |//+------------------------------------------------------------------+#property copyright"2005-2014, MetaQuotes Software Corp."#property link"https://www.mql4.com"#property description"Relative Strength Index"#property strict#property indicator_separate_window#property indicator_buffers2#property indicator_color1 clrBlue#property indicator_color2 clrRed//--- input parametersinputint InpRSIPeriod=14; // RSI Period//--- buffersdouble ExtPosBuffer[];
double ExtNegBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit(void)
{
string short_name;
//--- 2 additional buffers are used for counting.SetIndexBuffer(0,ExtPosBuffer);
SetIndexBuffer(1,ExtNegBuffer);
//--- indicator lineSetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
//--- name for DataWindow and indicator subwindow label
short_name="RSI("+string(InpRSIPeriod)+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
//--- check for inputif(InpRSIPeriod<2)
{
Print("Incorrect value for input variable InpRSIPeriod = ",InpRSIPeriod);
return(INIT_FAILED);
}
//---SetIndexDrawBegin(0,InpRSIPeriod);
//--- initialization donereturn(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Relative Strength Index |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i,pos;
double diff;
//---if(Bars<=InpRSIPeriod || InpRSIPeriod<2)
return(0);
//--- counting from 0 to rates_totalArraySetAsSeries(ExtPosBuffer,false);
ArraySetAsSeries(ExtNegBuffer,false);
ArraySetAsSeries(close,false);
//--- preliminary calculations
pos=prev_calculated-1;
if(pos<=InpRSIPeriod)
{
//--- first RSIPeriod values of the indicator are not calculated
ExtPosBuffer[0]=0.0;
ExtNegBuffer[0]=0.0;
double sump=0.0;
double sumn=0.0;
for(i=1; i<=InpRSIPeriod; i++)
{
ExtPosBuffer[i]=0.0;
ExtNegBuffer[i]=0.0;
diff=close[i]-close[i-1];
if(diff>0)
sump+=diff;
else
sumn-=diff;
}
//--- calculate first visible value
ExtPosBuffer[InpRSIPeriod] = sump / InpRSIPeriod;
ExtNegBuffer[InpRSIPeriod] = sumn / InpRSIPeriod;
//--- prepare the position value for main calculation
pos=InpRSIPeriod+1;
}
//--- the main loop of calculationsfor(i=pos; i<rates_total && !IsStopped(); i++)
{
diff=close[i]-close[i-1];
ExtPosBuffer[i]=(ExtPosBuffer[i-1]*(InpRSIPeriod-1)+(diff>0.0?diff:0.0))/InpRSIPeriod;
ExtNegBuffer[i]=(ExtNegBuffer[i-1]*(InpRSIPeriod-1)+(diff<0.0?-diff:0.0))/InpRSIPeriod;
}
//---return(rates_total);
}
//+------------------------------------------------------------------+
Dort gibt es keine Glättung. Und die Berechnung ist insofern anders, als die Stärke der Bären den Doji mit einschließt. Das ist der Unterschied. Die Staatsanwaltschaft trägt dem Rechnung.
In 5 Minuten wird es einen Code geben. Denken Sie daran, dass der RSI die Wilder-Glättung verwendet, die der exponentiellen Glättung entspricht, aber eine längere Periode hat, so dass es zu einer deutlichen Diskrepanz kommen kann.
c_x - wie bei RSI, aber Teilung nicht nach Periode, sondern nach tatsächlicher Anzahl von Inkrementen.
Glatte - glatte Methode:
s_wilder - Wilde Methode
s_ema - exponentielle Glättung.
Beachten Sie, dass die RSI-Komponenten nach der Wilder-Methode geglättet werden, während die ADX-Komponenten nach der herkömmlichen exponentiellen Methode geglättet werden (d. h. Periode 14 für den RSI entspricht Periode 27 für den ADX).
Leistung - die Art und Weise, wie die Endlinie berechnet wird:
f_off - nicht angezeigt, um die Komponenten besser sehen zu können
f_rsi - wie für RSI
f_adx - wie ADX.
Zur Information: Die Schlusslinie des RSI ist nicht geglättet, der ADX ist geglättet.
***
Sie können RSI und ADX und verschiedene Hybride durch diesen Indikator durch Einstellungen erhalten.
Um RSI zu bekommen:
Bestandteile - c_rsi
Glatt - s_wilder
Leistung - f_rsi;
Um ADX zu erhalten:
Bestandteile - c_adx
Glatt - s_ema
Leistung - f_adx
Strom - aktivieren/deaktivieren, um Komponenten aus dem Weg zu räumen.
***
Eine Vorlage mit zwei Indikatoren wie in der Abbildung aus diesem Beitrag ist ebenfalls beigefügt.
Yousufkhodja Sultonov: In DA gibt es keine Glättung und sie ist auch nicht erforderlich. Was halten Sie davon?
Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Es ist möglich, meinen obigen Universalindikator zu verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Außerdem sollten Sie es lieber zeigen, bevor Sie sprechen. Warum fragen Sie mich so streng, und Sie blah blah blah
Wo ist die Hintergrundgeschichte? Sind 5 Minuten, um einen Beitrag zu schreiben, viel?
Was ich meinte, war Folgendes: "Denken Siedaran, dass der RSI die Wilder-Glättung verwendet, die der exponentiellen Glättung entspricht, aber eine längere Periode hat, was zu einer deutlichen Diskrepanz führen kann. "
Irgendwelche Konventionen mit längeren oder kürzeren Zeiträumen, exponentielle oder regelmäßige Glättung - was soll das alles? DA packt den Stier bei den Hörnern und den Bären bei den Pfoten und Füßen.
Dmitry Fedoseev: Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Es ist möglich, meinen obigen Universalindikator zu verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Dmitry Fedoseev: Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Sie können meinen obigen Universalindikator verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Sie versuchen, mit Formeln mit jemandem zu argumentieren, der die Sprache der Poesie spricht.
In 5 Minuten wird es einen Code geben. Beachten Sie, dass der RSI die Wilder-Glättung verwendet, die mit der exponentiellen Glättung identisch ist, aber eine längere Periode aufweist, so dass es zu einer deutlichen Diskrepanz kommen kann.
Was gibt es vorzubereiten? Wir werfen den Hauptpuffer aus dem RSI heraus und setzen die beiden vorhandenen Puffer an seine Stelle:
Dort gibt es keine Glättung. Und die Berechnung ist insofern anders, als die Stärke der Bären den Doji mit einschließt. Das ist der Unterschied. Die Staatsanwaltschaft trägt dem Rechnung.In 5 Minuten wird es einen Code geben. Denken Sie daran, dass der RSI die Wilder-Glättung verwendet, die der exponentiellen Glättung entspricht, aber eine längere Periode hat, so dass es zu einer deutlichen Diskrepanz kommen kann.
Beigefügt ist ein Indikator.
Parameter:
Zeitraum - Zeitraum in Takten;
Komponenten - Option Komponentenberechnung:
Glatte - glatte Methode:
Leistung - die Art und Weise, wie die Endlinie berechnet wird:
Zur Information: Die Schlusslinie des RSI ist nicht geglättet, der ADX ist geglättet.
***
Sie können RSI und ADX und verschiedene Hybride durch diesen Indikator durch Einstellungen erhalten.
Um RSI zu bekommen:
Um ADX zu erhalten:
Strom - aktivieren/deaktivieren, um Komponenten aus dem Weg zu räumen.
***
Eine Vorlage mit zwei Indikatoren wie in der Abbildung aus diesem Beitrag ist ebenfalls beigefügt.
Sichern Sie sich jetzt ab?
Wo ist die Hintergrundgeschichte? Fünf Minuten, um einen Beitrag zu schreiben, sind viel?
...
Es gibt kein Antialiasing in .....Was ist das? -
Es ist wilder und glatter. Sie ist im Wesentlichen identisch mit der Exponentialkurve, aber langsamer.Wo ist die Hintergrundgeschichte? Sind 5 Minuten, um einen Beitrag zu schreiben, viel?
In DA gibt es keine Glättung und sie ist auch nicht erforderlich. Was halten Sie davon?
Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Es ist möglich, meinen obigen Universalindikator zu verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Außerdem sollten Sie es lieber zeigen, bevor Sie sprechen. Warum fragen Sie mich so streng, und Sie blah blah blah
Wo ist die Hintergrundgeschichte? Sind 5 Minuten, um einen Beitrag zu schreiben, viel?
Irgendwelche Konventionen mit längeren oder kürzeren Zeiträumen, exponentielle oder regelmäßige Glättung - was soll das alles? DA packt den Stier bei den Hörnern und den Bären bei den Pfoten und Füßen.
Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Es ist möglich, meinen obigen Universalindikator zu verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Es ist möglich, nicht zu glätten, wie in RSI, aber die Komponenten selbst, es ist ein einfacher Durchschnitt. Sie können meinen obigen Universalindikator verfeinern, um die Glättung zu aktivieren/deaktivieren. Aber konzeptionell ändert sich nichts.
Sie versuchen, mit Formeln mit jemandem zu argumentieren, der die Sprache der Poesie spricht.