Diskussion zum Artikel "Das MQL5-Kochbuch: Die Eigenschaften offener Hedge-Positionen abfragen" - Seite 2
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
Hallo Denis,
zunächst möchte ich mich bei dir für diese tolle Bibliothek bedanken, die Anfängern wie mir das Leben sehr leicht macht. Ich bin kein professioneller Programmierer, aber ich schaffe es gerade so, ein wenig Code zu verstehen, zu optimieren und zu debuggen.
Ich verwende Ihren Beispielcode aus "Test_Hedge_Properties" als Funktion in einem EA, den ich gerade teste, und habe festgestellt, dass nach dem Schließen aller (2) Positionen, wenn ich die Funktion
"Update_Hedge_Info" aufrufe, nachdem das erste Ticket geschlossen wurde, die Variable, die die Anzahl der Positionen zählt, "hdg_number_of_pos_total" von (2) auf (1) aktualisiert wird.
Nachdem das zweite Ticket geschlossen wurde, zeigt die Variable jedoch immer noch (1) an und wird nicht auf (0) aktualisiert.
Ich bin mir nicht sicher, ob ich es richtig kodiert habe, aber ich würde mich über Ihre Hilfe und Ihr Fachwissen sehr freuen.
Ich hänge den EA und den Screenshot an.
Vielen Dank und Grüße.
Ich verwende hedge_info.Margin(), um die aktuelle Marge in meinem EA zu berechnen.
Ich wundere mich über die folgende (*) Zeile in CHedgePositionInfo::AveragePrice innerhalb der "switch(curr_quote_type) ... case QUOTE_TYPE_CROSS:".
Ich verwende EURCHF und major_symbol ist USDEUR. Da USDEUR von 99,9% aller Forex-Broker nicht unterstützt wird , sondern höchstens ein benutzerdefiniertes Cross, führt der folgende SymbolSelect-Befehl beim Backtesting zu einer Fehlermeldung. Vielleicht ist es ein Brokerproblem, aber in meinem Fall führt dies zu einem abrupten Abbruch des Strategietesters, da das aktive Symbol nun USDEUR ist und nicht das Paar, mit dem ich den Strategietester ursprünglich gestartet habe (EURCHF).
Was also in meinem Fall geholfen hat, ist das Entfernen des USDEUR aus der Marktüberwachung am Ende von CHedgePositionInfo::AveragePrice by: