Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 06.10.20
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Indikator-Trading Beitrag anzeigen
SetIndexDrawBegin() setzt den Zeitpunkt ab wann dein Indikator angezeigt werden darf. Nehmen wir mal den AVR Indikator mit der Periodenlänge von 14.
Du hast in deiner ganzen Historie z.B. 1014 Bars. Wenn der AVR Indikator jetzt die Periodenlänge von den Bars 1014 bis 1000 Anzeigen würde, dann würde nur Quatsch bei rauskommen, der nicht zu gebrauchen wäre.
Mit SetIndexDrawBegin(0,14) werden somit die ersten 14 Bars dann nicht angezeigt.
Wir reden hier also nicht "from the data beginning", sondern "from the charts beginning", "data" ist für mich etwas anderes als "int Bars" - nun gut, nehmen wir das mal so als gegeben.
Zitat:
Zitat von Indikator-Trading Beitrag anzeigen
Am besten testest du da mit dem W1 Chart .....
Ich hatte einen MA zum ersten Test verwendet, mit gleichen Ergebnissen.
Danach habe ich einen Indikator versucht anzupassen, bei dem der "Vorlauf" (nicht zeichenbaren Müllwerte) eben nicht so einfach ersichtlich ist; gleichzeitig habe ich als Prüfung in der Berechnung nur diejenigen Mal-Buffer mit Werten belegt, die außerhalb des Vorlaufs sind.
Die Idee dahinter war, die Berechnung einfach durchlaufen zu lassen und den Vorlauf nur über DrawBegin einzuschränken.

In Deinen Beispielzahlen:
data=Bars=1014
LookBackBars=500 (davon sind 14 Müll)
NeededBars=14
Begin=LookBackBars+NeededBars=500+14=514
Starte also anstatt bei Bar 14 bei Bar 514 (und zeichne weiter bis zur aktuellen Bar=1014).

Das Ergebnis war ok, wenn ich den Vorlauf in der Berechnung rausgenommnen habe; wenn ich aber nur den Vorlauf nur mit SetIndexDrawBegin einschränken wollte, wurde trotzedem der Müll gezeichnet - also sobald der Malbuffer einen Wert hatte, wurde der auch gemalt.

Im Moment lasse ich die Berechnungsmethode erst mal drin, die funzt.
Vielen Dank für Deine Ausführungen.
AVT