Diskussion zum Artikel "Individuelle Darstellung der Handelshistorie und Erstellung von Berichtsdiagrammen" - Seite 3

 
Andrey Azatskiy:

Versuchen Sie, die Datei DealHistoryGetter.mqh durch die an diesen Beitrag angehängte Datei zu ersetzen.

Nur dieser Fehler bleibt

2018.09.01 19:11:36.150 Get_TradingHistory (GAZR Splice,H1)     zero divide in 'DealHistoryGetter.mqh' (457,51)
 
Machen Sie einen Haltepunkt bei 451 und 461 und sehen Sie sich inputParam.deals[i].volume und das Array contracts an.

Sie haben das Volumen der Verträge aus irgendeinem Grund auf Null gesetzt. Wenn ich richtig liege, sollte es 2 Iterationen vor diesem Fehler geben. Aber wenn ich richtig liege, kann ich mir nicht vorstellen, warum das Kontraktvolumen gleich Null sein könnte, das passiert nicht....
 
In Zeile 460 wird bei der ersten Iteration der allererste Kontrakt in das Kontrakt-Array eingetragen. In Zeile 457 wird der letzte aktive Kontrakt aus dem Kontrakt-Array mit der im Artikel beschriebenen Methode berechnet. Bei den von mir ausgeführten Geschichten traten keine derartigen Fehler auf.
 
Andrey Azatskiy:
Machen Sie einen Haltepunkt bei 451 und 461 und sehen Sie sich inputParam.deals[i].volume und das Array contracts an.

Sie haben das Volumen der Verträge aus irgendeinem Grund auf Null gesetzt. Wenn ich richtig liege, sollte es 2 Iterationen vor diesem Fehler geben. Aber wenn ich richtig liege, kann ich mir nicht vorstellen, warum das Vertragsvolumen gleich Null sein könnte, das passiert nicht....

Ich weiß nicht, wie man den Debugger benutzt, ich habe Punkte gesetzt, ihn laufen lassen, aber es gibt dort keine Fehler.

Vielleicht ist der Punkt, dass es solche Operationen in der Geschichte sind?


 

Auch in Zeile 407 wäre es gut, einen Haltepunkt zu setzen und sich das lotArr-Array anzusehen.

Ich werde Ihr Problem nicht reproduzieren, weil es mit Ihrem Handelsverlauf zusammenhängt. Meine Historien (die, die ich durch diese Klasse laufen ließ) haben keine solchen Fehler produziert....

 
Andrey Azatskiy:

Es wäre auch gut, einen Haltepunkt in Zeile 407 zu setzen und sich das lotArr-Array anzusehen.

Ich werde Ihr Problem nicht reproduzieren, weil es mit Ihrem Handelsverlauf zusammenhängt. Meine Historien (die, die ich durch diese Klasse laufen ließ) haben keine solchen Fehler produziert....

Haben Sie mit einem echten Konto oder mit einem Demokonto getestet?

 
Vielleicht ist es ein Fehler in meiner Klasse, aber ich kann es nicht reproduzieren.... Es hängt mit Ihrer Historie und somit mit Ihrem Terminal und Ihrem Handelskonto zusammen. Vielleicht gibt es einige Nuancen in der Analyse der Me5-Historie, die ich beim Schreiben dieser Klasse übersehen habe, aber nur Sie können sie reproduzieren. Ich werde den Debugger herausfinden müssen.
 
Aleksey Vyazmikin:

Haben Sie mit einem echten Konto oder mit einem Demokonto getestet?

Es geht nicht um das Konto, sondern um Ihre Historie. Das Terminal erstellt die Historie für Echt- und Demokonten auf dieselbe Weise.

 
Andrey Azatskiy:
Vielleicht ist es ein Fehler in meiner Klasse, aber ich kann es nicht reproduzieren.... Es hängt mit Ihrer Historie und somit mit Ihrem Terminal und Ihrem Handelskonto zusammen. Vielleicht gibt es einige Nuancen in der Analyse der Me5-Historie, die ich beim Schreiben dieser Klasse übersehen habe, aber nur Sie können sie reproduzieren. Ich werde mich mit dem Debugger beschäftigen müssen.

Wenn Sie genauer schreiben, was und wo zu suchen und zu schreiben, werde ich Ihnen helfen, den Fehler zu finden.

 
Andrey Azatskiy:

Es geht nicht um das Konto, sondern um Ihre Historie. Das Terminal generiert die Historie auf die gleiche Weise für Real und Demo.

Auf dem Demo-Konto gibt es keine Korrekturen, wie ich auf dem Screenshot oben gezeigt habe.

Jeder Tag beginnt mit ihnen.