Hi,
ich wollte gerade einen indikator schreiben, der mir die Standard_Abweichung der letzten 10 Closes in einem separaten Fenster anzeigt.
Wenn ich den Indikator aber anwende, stürzt mein Metatrader aber ab.
Ist der Code falsch oder hab ich einfach nicht genug Rechnerleistung?
Letzteres bezweifle ich doch sehr.
Für diejenigen, die es nicht wissen; dies ist die Standard_Abweichung:
Hier mein Code:
HTML-Code:
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2
extern int period = 10;
double Buf0[];
int init()
{
SetIndexBuffer(0,Buf0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
int i = Bars-counted_bars-1;
double ma=0; // Durchschnitt der letzten 10 Closes
double diff=0; // Differenz zwischen einem Close und dem Durchschnitt aus 10 Closes
double sqrt=0; // Wurzel
while(i>=0)
{
for(int k=i; k<i+period; k++){
ma = ma+Close[k];
}
ma /= period;
for(int j=i; j<i+period; j++){
diff = diff + (Close[j]-ma)*(Close[j]-ma);
}
sqrt = MathSqrt(diff/(period-1));
Print("sqrt=", sqrt);
Buf0[i]=sqrt;
}
return(0);
}