Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 14.08.19
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard wie leere ich IndexBuffer(0,BuffName) ?

Wenn eine Linie - z.B. ein ATR in einem SetIndexBuffer(0,ATRline) - gezeichnet wird, dann bleibt die ja solange vorhanden bzw wird weitergezeichnet bis der Indikator ein DeInit und OnInit bekommt; danach wird die ganze Linie neu berechnet und gezeichnet.

Wie kann ich diese Linie einmal ganz entfernen, um sie dann komplett neu berechnen (und zeichnen) zu lassen?

Ich habe schon versucht, einen Loop über die Periode zu machen mit
Code:
for(int i=Bars-Period; i>=0; i--)
{   ATRline[i]=EMPTY_VALUE; SetIndexStyle(0,DRAW_NONE);   }
Das funktioniert aber nicht, die alte Linie ist immer noch da.

Eine andere Idee wäre, dem Indikator eine Art ReInit Signal zu senden, ihn also zum Neustart zu zwingen (so etwas wie REASON_CHARTCHANGE), aber ich habe keine Ahnung wie man das macht.

Kann jemand hier helfen? Danke. AVT