Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe eine Idee. Ich schreibe später.
die Idee ist tot.
Ich werde die Entwickler bitten, so etwas wie ein HistoryUpdated()-System zu entwickeln, das prüft, ob der gesamte Verlauf aktualisiert wurde oder nicht.
Die Entwickler werden Ihnen nicht helfen, weil sie es nicht wollen.
Wie gesagt: wenn die Differenz zwischen rates_total und prev_calculated größer als 1 ist, dann ist es historyUpdated
größer als 0 ist, nicht 1.
И? Ist damit das Problem gelöst?
Oder ist es für Sie kein Problem, die ganze Geschichte bei jedem neuen Takt neu zu berechnen?
größer als 0 ist, nicht 1.
И? Ist damit das Problem gelöst?
Oder ist es für Sie kein Problem, die ganze Geschichte bei jedem neuen Takt neu zu berechnen?
Sie wurden richtig informiert. Größer als 1. Wenn ein neuer Balken erscheint, ist die Differenz 1.
Und damit ist das Problem vollständig gelöst.
Ein normaler Indikator benötigt nur sehr wenig Zeit für eine vollständige Neuberechnung. Weniger als eine Sekunde.
Sie wurden richtig informiert. Mehr als 1. Wenn ein neuer Balken erscheint, ist die Differenz 1.
Und damit ist das Problem vollständig gelöst.
Ein normaler Indikator braucht nur sehr wenig Zeit, um sich vollständig neu zu berechnen. Weniger als eine Sekunde.
Funktioniert nur, wenn die Puffer auf Null gesetzt sind.
Es funktioniert nur, wenn Sie die Puffer auf Null zurücksetzen.
Tut mir leid, aber ich muss fragen:
- Warum müssen Sie rates_total und prev_calculated separaten Variablen zuweisen, die bei jedem Häkchen erstellt werden?
- Müssen Sie in der bedingten if()-Anweisung und in der for()-Schleife die Differenz dieser Variablen neu berechnen?
- warum nicht einfach eine Variable für die Differenz zwischen rates_total und prev_calculated einführen, z. B. limit?
Die Umsetzung kann je nach Aufgabe unterschiedlich ausfallen. Die Nuancen können unterschiedlich sein. Schauen Sie sich doch einmal an, was andere je nach den unterschiedlichen Bedingungen umgesetzt haben. Einschließlich, und mit Hilfe von Priming zu verstehen, zu entscheiden, bilden akzeptable Varianten für sich selbst, je nach den Aufgaben?P.S. Ich werde dem noch mehr hinzufügen:
Ihre Idee der Nullsetzung (counted=0) im Block des bedingten Operators if(){} scheint mir klar zu sein.
Nur für den Fall, dass es Ihnen klarer wird, was ich oben kurz meinte, hier ein Auszug aus der Dokumentation, aus dem Abschnitt ... Grundlagen der Sprache / Funktionen / Funktionen zur Ereignisbehandlung:
... Wenn seit dem letzten Aufruf von OnCalculate() Preisdaten geändert wurden (eine tiefere Historie wurde gepumpt oder Historienlücken wurden gefüllt), dann wird der Wert des Eingabeparameters prev_calculated vom Terminal selbst auf Null gesetzt.
Es funktioniert nur, wenn Sie die Puffer auf Null zurücksetzen.
Sie müssen nichts zurücksetzen.
Wenn Sie prev_caclulated auf Null setzen, wird der Indikator vollständig neu berechnet. Und das ist richtig - Sie wissen nicht, was genau sich in der Geschichte verändert hat. Vielleicht wurde ein Loch geladen, vielleicht wurden die Stollen irgendwo gereinigt. Eine vollständige Neuberechnung ist obligatorisch. In allen anderen Fällen wird nur ein letzter Balken neu berechnet (wennein neuer Balken erscheint, die letzten beiden).
Tut mir leid, aber ich muss fragen:
- Warum müssen Sie die Werte von rates_total und prev_calculated bei jedem Tick separaten Variablen zuweisen?
- Berechnen Sie in der bedingten if()-Anweisung und in der for()-Schleife die Differenz dieser Variablen neu?
- warum nicht einfach eine Variable für die Differenz zwischen rates_total und prev_calculated eingeben, z.B. limit?
Die Umsetzung kann je nach Aufgabe unterschiedlich sein. Die Nuancen können unterschiedlich sein. Warum sehen Sie nicht, wie sie von anderen umgesetzt wird, je nach den unterschiedlichen Bedingungen? Inklusive, und mit Hilfe von Priming zu verstehen, entscheiden, bilden akzeptable Varianten für sich selbst, je nach Aufgabenstellung?Ich danke Ihnen. Gutes Argument.
Das ist es nicht. So können Sie den gesamten Verlauf neu berechnen, wenn es eine Lücke gibt.
P.S. Ich werde dem noch mehr hinzufügen:
Ihre Idee der Nullsetzung (counted=0) im Block des bedingten Operators if(){} scheint mir klar zu sein.
Nur für den Fall, dass es Ihnen klarer wird, was ich oben kurz meinte, hier ein Auszug aus der Dokumentation, aus dem Abschnitt ... Grundlagen der Sprache / Funktionen / Funktionen zur Ereignisbehandlung:
... Wenn seit dem letzten Aufruf von OnCalculate() Preisdaten geändert wurden (eine tiefere Historie wurde gepumpt oder Historienlücken wurden gefüllt), dann wird der Wert des Eingabeparameters prev_calculated vom Terminal selbst auf Null gesetzt.
Es ist nicht nötig, etwas zurückzusetzen.
Wenn Sie prev_caclulated auf Null setzen, wird der Indikator vollständig neu berechnet. Und das ist richtig - Sie wissen nicht, was genau sich in der Geschichte verändert hat. Vielleicht wurde ein Loch geladen, vielleicht wurden die Stollen irgendwo gereinigt. Eine vollständige Neuberechnung ist obligatorisch. In allen anderen Fällen wird nur ein letzter Balken neu berechnet (wennein neuer Balken erscheint, die letzten beiden).