Der Wechsel der TF ist ein Problem - Seite 8

 

Kurzum, die Schlussfolgerung lautet wie folgt.

Wir zählen manuell die Differenz zwischen gezählten und ungezählten Balken, und wenn sie mehr als 1...

setzen wir alle Puffer auf einmal oder Element für Element zurück.

Das ist nicht schön. Vielleicht setzen die Entwickler alles zurück, wenn es eine Bedingung gibt?

 
Vasyl Nosal:

Kurzum, die Schlussfolgerung lautet wie folgt.

Wir zählen manuell die Differenz zwischen gezählten und ungezählten Balken, und wenn sie mehr als 1...

setzen wir alle Puffer auf einmal oder Element für Element zurück.

Das ist nicht schön. Vielleicht setzen die Entwickler alles zurück, wenn es eine Bedingung gibt?

Wieder fünfundzwanzig :) . Wozu brauchen Sie in diesem Fall Ihren Kopf? Es ist unmöglich, alle Varianten der Reaktion auf Ereignisse vorherzusehen. Die Wahl der Variante liegt auf den Schultern des Programmierers (obwohl, hier gibt es nichts zu tun, zwei Zeilen: auf ==0 prüfen und reagieren).
 
Vasyl Nosal:

Kurzum, die Schlussfolgerung lautet wie folgt.

Wir zählen manuell die Differenz zwischen gezählten und ungezählten Balken, und wenn sie mehr als 1...

setzen wir alle Puffer auf einmal oder Element für Element zurück.

Das ist nicht schön. Vielleicht setzen die Entwickler die Puffer selbst zurück, wenn es eine Bedingung gibt?

Schon wieder?! © :D Und das nach allen Erklärungen mit Beispielen, wie man Indikatoren richtig schreibt? )))

 
Sergei Vladimirov:

Was, schon wieder?!! © :D Und das nach all den Erklärungen mit Beispielen, wie man Indikatoren richtig schreibt? )))

Also, in meiner Version und in Ihrer geht die Nullstellung, oder?
 
Vasyl Nosal:
In meiner Variante und in Ihrer gibt es also eine Nullstellung, oder?

In meiner Version wird jeder Balken berechnet. Wenn der Pufferwert auf einem solchen Balken Null ist, wird er zu Null, wenn er gleich 5 ist, wird er zu 5. In Ihrem Fall können Sie die Puffer einfach durch ArrayInitialize() auf Null setzen und dann die Balken nicht berechnen, bei denen der Wert der Puffer Null bleiben soll. Aber erstens ist dies ein schlechter Programmierstil (sehr schlecht!), und zweitens ist dies ein Spezialfall.

Alle Balken sollten explizit berechnet werden. Nur so können Sie sicher sein, dass sich in keiner Zelle "Müll", nicht berechnete Daten usw. befinden, und Sie müssen keine Fehler finden (womit Sie in diesem Thread zu kämpfen hatten).

Und Sie müssen auch nicht die Aktualisierungen der Historie verfolgen, das ist unnötig. Starten Sie die Berechnung einfach ab dem Balken [rates_total - MathMax(prev_calculated, 1)], und alles wird garantiert immer berechnet und gegebenenfalls neu berechnet.

 
Sergei Vladimirov:

In meiner Version wird jeder Balken berechnet. Wenn der Pufferwert auf einem solchen Balken Null ist, wird er zu Null, wenn er gleich 5 ist, wird er zu 5. In Ihrem Fall können Sie die Puffer durch ArrayInitialize() einfach auf Null setzen und dann die Balken, bei denen der Wert der Puffer auf Null bleiben soll, nicht berechnen. Aber erstens ist dies ein schlechter Programmierstil (sehr schlecht!), und zweitens ist dies ein Spezialfall.

Alle Balken sollten explizit berechnet werden. Nur so können Sie sicher sein, dass sich in keiner Zelle "Müll", nicht berechnete Daten usw. befinden, und Sie müssen keine Fehler finden (womit Sie in diesem Thread zu kämpfen hatten).

Und Sie müssen die Verlaufsaktualisierungen nicht im Auge behalten, das ist unnötig. Starten Sie die Berechnung einfach mit bar [rates_total - MathMax(prev_calculated, 1)], und alles wird garantiert immer berechnet und bei Bedarf neu berechnet.

Autsch. Gut.

Die Entwickler werden sowieso nichts implementieren.

Vielen Dank an alle.