Fehler, Irrtümer, Fragen - Seite 1682

 
fxsaber:
Sie zwingen mich dazu, mich darüber zu beschweren, dass Sie überhaupt nicht bereit sind zu hören, was Ihr Gegner schreibt.
Das ist Ihr gutes Recht. Meine Aufgabe ist es, Ihnen mitzuteilen, dass es keine strikten Regeln für die Anzahl der Aufrufe von OnCalculate() gibt - denn diese Funktion spiegelt im Wesentlichen die Reaktion auf Ereignisse wider: entweder das Blättern in der Historie oder die Änderung der Historie (Ankunft neuer Ticks) oder die Vorbereitung der Handelsumgebung.
 
Sergei Vladimirov:
Schauen Sie in den Körper von Func(), um zu sehen, was er zurückgibt, bevor er beendet wird. Ich spreche von einem besonderen Fall. Wenn der Wert direkt in Klammern berechnet wird, gibt es natürlich keine Möglichkeit.
Dann macht es keinen Sinn, das zweite F5 zu benutzen!
 
fxsaber:
Danke. Ich kann nicht herausfinden, warum der Indikator zu Beginn zweimal OnCalculate aufruft. Ich würde gerne herausfinden, für welches Ereignis diese Antwort bestimmt ist. Bei der Fehlersuche sind leider keine Ereignisse sichtbar.

Antwort vom Service Desk zu diesem Thema:

Dies hängt insbesondere von der Prüfsumme ab.

Der Verlauf hat sich vielleicht nicht geändert (es kann sich auch um eine Änderung eines bestehenden Verlaufs handeln, ohne dass neue Daten hinzugefügt wurden), aber die Prüfsumme hat sich erheblich geändert

 
Karputov Vladimir:
Das ist Ihr gutes Recht. Meine Aufgabe ist es, Sie darüber zu informieren, dass es keine strikten Regeln für die Anzahl der Aufrufe von OnCalculate() gibt - denn diese Funktion spiegelt im Wesentlichen die Reaktion auf Ereignisse wider: entweder das Paging der Historie oder die Änderung der Historie (Ankunft neuer Ticks) oder die Vorbereitung des Handelsumfelds.

Es steht Ihnen frei, sich die Aufgaben zu stellen, die Sie möchten. Aber bitte beantworten Sie, zumindest mir gegenüber, keine Fragen, die ich nicht stelle.

Ich weiß, wie man auch undokumentierte Funktionen von OnCalculate verwendet. Bitte sprechen Sie nicht von "lauwarm", wenn Sie nach einem ganz anderen Bereich gefragt werden.

 
Alexey Kozitsyn:

Antwort vom Service Desk zu diesem Thema:

Nein, das ist überhaupt nicht der Punkt. Lesen Sie das Gespräch am Anfang der vorherigen Seite.
 
Alexey Kozitsyn:

Antwort vom Service Desk zu diesem Thema:

Danke, aber auch hier gab es eine übereilte Antwort. Siehe Beispiel.
 

Build 1010 vom 18. August

Problem beim Laden der Historie

2016.09.13 09:51:02.539 Windows 7 Ultimate (x64 basierter PC), IE 11.00, 8 x Intel Core i7-6700 @ 3.40GHz, RAM: 18768 / 32684 Mb, HDD: 35417 / 1498122 Mb, GMT+02:00


ein solches Problem:

ist DRWEB.

Ich kann den Verlauf bei aktiviertem Antivirus nicht herunterladen. Der Antivirus informiert mich nicht über die blockierten Ports.

Das Terminal ist unter "Erlaubte Programme", aber bei aktiviertem Virenschutz wird der Verlauf nicht heruntergeladen.

Es steht nichts im Protokoll, d.h. der Download-Schieberegler bleibt nach dem Drücken von STOP stehen - schreibt nur

2016.09.13 10:04:52.424 HistoryCenter: error reading data

2016.09.13 10:03:04.944 HistoryCenter: GBPUSD_2004_07 geladen (115 kb)

2016.09.13 10:03:04.621 HistoryCenter: GBPUSD_2004_06 geladen (118 kb)

Ich habe das Antivirenprogramm deaktiviert - der Download-Prozess wurde gestartet, ein paar Jahre heruntergeladen - dann wurde er wieder gestoppt und geht nicht mehr weiter.

Ich habe das Herunterladen des Verlaufs ein paar Mal neu gestartet - und nach 10-15 Versuchen war der gesamte Verlauf heruntergeladen.

 
fxsaber:
Danke, aber auch hier haben Sie die Antwort übereilt. Siehe Beispiel.

Ich verstehe, dass Sie über den Debugger sprechen. Meine Frage hörte sich folgendermaßen an:

Beschreibung des Problems.

Ich schreibe gerade einen Indikator. MT4. Ich erhalte (auf eine Art und Weise, die ich nicht verstehe) ein Zurücksetzen von prev_calculated auf 0, nachdem es nach dem ersten Tick ungleich Null hätte werden müssen. D.h. doppelt.

Das Ergebnis steht im Protokoll:

2016.03.15 13:54:36.545 test_indicator_15032016 EURUSD,M1: initialized
2016.03.15 13:54:36.545 test_indicator_15032016 EURUSD,M1: OnCalculate: prev_calculated = 0, rates_total = 5000
2016.03.15 13:54:36.757 test_indicator_15032016 EURUSD,M1: OnCalculate: prev_calculated = 0, rates_total = 5008

Das war mir vorher nicht aufgefallen, aber ist das ein Fehler oder soll das so sein?

Nehmen wir an, dass die Geschichte aufgepumpt wurde (rates_total erhöht). Sie können aber trotzdem ähnlich werden:

2016.03.15 13:55:40.661 test_indicator_15032016 EURUSD,M15: OnCalculate: prev_calculated = 0, rates_total = 5000
2016.03.15 13:55:40.569 test_indicator_15032016 EURUSD,M15: OnCalculate: prev_calculated = 0, rates_total = 5000 

2016.03.15 13:55:40.569 test_indicator_15032016 EURUSD,M15: initialisiert

In diesem Fall habe ich eine Entlüftung vorgenommen.

 
Alexey Kozitsyn:

Ich verstehe, dass Sie über den Debugger sprechen. Meine Frage hörte sich folgendermaßen an:

In diesem Fall habe ich eine Entlüftung vorgenommen.

Ihr Fall hat nichts mit der Frage zu tun, die ich gestellt habe. Vielen Dank für Ihre Bereitschaft zu helfen.
 
fxsaber:
Ihr Fall hat nichts mit der Frage zu tun, die ich gestellt habe. Danke, dass Sie helfen wollen.
Gern geschehen, meine Antwort bezog sich darauf, warum OnCalculate() zuerst zweimal (dreimal) aufgerufen wird, nicht auf den Debugger-Fehler.