Fehler, Irrtümer, Fragen - Seite 1710

 
Slawa:

Im zweiten Bild nach dem kurzen Indikatornamen LastData gibt es keine zuletzt berechneten Daten. Während es auf dem ersten Bild 244 -363 und auf dem dritten 247 -409 ist

Dies lässt darauf schließen, dass der Indikator derzeit nicht berechnet wird. Sie wird gerade berechnet und die Daten sind noch nicht fertig. Ich möchte Sie daran erinnern, dass die Indikatoren in einem separaten Thread berechnet werden und nicht im Hauptanwendungsthread, der unter anderem für das Rendering zuständig ist. Die Indikatoren werden ausnahmslos für jeden eingehenden Tick berechnet.

Wenn Sie ein Diagramm mit der Maus verschieben, werden Rechenressourcen für die Verarbeitung von Systemmeldungen von der Maus verbraucht (öffnen Sie den Task-Manager und sehen Sie, wie der CPU-Anteil in Abhängigkeit von der Intensität der Mausbewegung steigt). Und Ihr Indikator hatte einfach noch keine Zeit, sich neu zu berechnen. Deshalb ist das zweite Diagramm leer.

Leider ist es viel cooler als das. Der Indikator ist vollständig angebracht. Link zur Zweigstelle mit Details siehe oben.
 
fxsaber:
Leider ist es viel cooler als das. Der Indikator ist vollständig angebracht. Link zur Zweigstelle mit Details siehe oben.
Das Fehlen aktueller Daten neben dem Kurznamen sowie die fehlende Darstellung des Indikators weisen eindeutig darauf hin, dass die Indikatordaten zum Zeitpunkt der Darstellung des Diagramms noch nicht fertig waren und der Indikator selbst sich noch in der Berechnung befand.
 
Slawa:
Das Fehlen aktueller Daten neben der Kurzbezeichnung sowie die fehlende Darstellung des Indikators weisen eindeutig darauf hin, dass die Indikatordaten zum Zeitpunkt der Darstellung des Diagramms noch nicht verfügbar waren und der Indikator selbst sich noch in der Berechnungsphase befand.
Ich habe einen ganz kurzen Quellcode zur Verfügung gestellt. Ich würde mich freuen, wenn Ihre Erklärung richtig wäre. Aber Sie können sich selbst davon überzeugen, indem Sie den Indikator ausführen, dass dies nicht der Fall ist.
 
Slawa:
Das Fehlen der letzten Daten in der Nähe des Kurznamens sowie die fehlende Darstellung des Indikators zeigen offensichtlich, dass die Indikatordaten zum Zeitpunkt der Erstellung des Diagramms noch nicht fertig waren und der Indikator selbst sich noch in der Berechnungsphase befand
D.h. dies kann einmal nach dem Zeichnen des Diagramms geschehen, denn bei den wiederholten Aktionen werden die Daten bereits berechnet, richtig?
 
-Aleks-:
D.h. dies kann einmalig nach der Erstellung eines Diagramms geschehen, da die Daten bereits gezählt sind, wenn Sie es erneut tun, richtig?
Nein. Es kann mehr als ein Mal passieren. Sie bewegen das Diagramm mit der Maus hin und her, und in diesem Moment erscheint ein Häkchen.
 
Slawa:
Nein. Vielleicht mehr als einmal. Sie bewegen das Diagramm mit der Maus hin und her, woraufhin ein Häkchen erscheint.
Ich dachte, die bereits im Grafikpuffer gezählten Daten werden nicht bei jedem Tick neu berechnet....
 
Slawa:
Nein. Vielleicht mehr als einmal. Sie bewegen das Diagramm mit der Maus hin und her, und in diesem Moment erscheint ein Häkchen.
Bei mir flackert es auch ohne Mausbewegung - im Fenster CTRL+D.
 
Warum kann ich unter demo.metaquotes.net:443 kein Demokonto für ein Update eröffnen?
 
-Aleks-:
Ich dachte, dass die bereits gezählten Daten im Grafikpuffer nicht bei jedem Tick neu berechnet werden....

1. Hängt von der Implementierung des Indikators ab. Bei sparsamem Schreiben wird nur der letzte Wert neu berechnet.

2. Wenn das Diagramm stationär ist und sich die Anzahl der Balken nicht geändert hat, wird im Falle einer Kollision der vorherige Puffer wiedergegeben (d.h. es entsteht keine Leere)

 
fxsaber:
Ich habe den ganzen Tag damit verbracht, Dinge zu klären, aber nichts hat funktioniert. Ich habe den Code so weit wie möglich vereinfacht und einen Zweig erstellt. Bitte um Hilfe!
Messen Sie OnCalculate() mit GetMicrosecondCount(). Diesen Wert im Protokoll ausgeben. Es ist besser, sich die maximale Zeit zu merken und nur die maximale Aktualisierung ins Protokoll zu drucken - so wird sie besser sichtbar.