Hmm, also erstmal, wieso benutzt du 2 unterschiedliche Perioden für deinen MA? Also Buf2 brauchst du gar nicht. Zeichne deinen MA einfach 2-mal übereinander. Mit der "if" Abfrage löschst du dann an der berechneten Stelle den obersten MA mit EMPTY_VALUE.
Die while-Schleife sieht dann so aus:
Code:
while(i>=0)
{
sum1=0;
for(j=i; j<i+period1; j++){
sum1+=Low[j];
}
average1=sum1/period1;
Buf0[i]=average1;
Buf1[i]=average1;
if(Buf1[i]<Low[i]) Buf1[i]=EMPTY_VALUE;
i--;
}
Damit sollte der MA ohne Unterbrechung durchlaufen.
Gruß
naranjoe