Warum wird der Trade nicht geschlossen?

 

Hallo, wie schon erwähnt habe ich ein kleines Prog geschrieben welches nach bestimmten Tagen/Tageszeiten handeln soll Wie man sehen kann wird der Trade erst eine Woche später zum neuen Einstiegssignal eröffnet. Der Kauftag == Freitag, hour == 21h, minute  == 0;

Ausstieg also Verkauftag == Freitag, hour == 21, minute == 55; Kann mir bitte jemand einen Tip geben?

Danke

Dateien:
 
  1. Gibt es denn eine Fehlermeldung?
  2. Ist der Markt den noch geöffnet für: DateStr.day_of_week == Verkauftag && DateStr.hour == Verkaufstunde && DateStr.min == Verkaufsminute)
  3. Wenn es in dieser Minute: DateStr.day_of_week == Verkauftag && DateStr.hour == Verkaufstunde && DateStr.min == Verkaufsminute
    keinen Kurs (mehr) gibt, wird der if-Zweig nicht durchlaufen.
 
Carl Schreiber #:
  1. Gibt es denn eine Fehlermeldung?
  2. Ist der Markt den noch geöffnet für: DateStr.day_of_week == Verkauftag && DateStr.hour == Verkaufstunde && DateStr.min == Verkaufsminute)
  3. Wenn es in dieser Minute: DateStr.day_of_week == Verkauftag && DateStr.hour == Verkaufstunde && DateStr.min == Verkaufsminute
    keinen Kurs (mehr) gibt, wird der if-Zweig nicht durchlaufen.

Hi und danke für die schnelle Hilfe.

Die Fehlermeldung ist leider auch wenig ausschlussreich, für mich jedenfalls. Aber ich muss sagen ich nutze die Software natürlich nur im Demo-Account:

2022.07.01 11:04:40.140    FreitagsFDAX ([DAX40],M1)    Alert: Position konnte nicht geschlossen werden werden! Error: Invalid return code of the trade server

Und der Dax ist bei meinem Broker bis 22h handelbar.

Aber ich habe extra Test über Tag gemacht zu unterschiedlichen Zeiten. Ich hab keinen rat mehr. Ich bin um jede Hilfe dankbar.

Gruss

Nils M.

 
Nils Müller #:

2022.07.01 11:04:40.140    FreitagsFDAX ([DAX40],M1)    Alert: Position konnte nicht geschlossen werden werden! Error: Invalid return code of the trade server


Poste doch mal den returncode vom Tradeserver

Debugger nutzen!

 

Das: Print("..",TradeServerReturnCodeDescription(GetLastError()); allein ist nicht so gut wie: Print("..",(string)GetLastError(),": ",TradeServerReturnCodeDescription(GetLastError()));

Vielleicht ist die Funktion TradeServerReturnCodeDescription() schon etwas alt?
Ist das letzte Updatre von 2016.11.22?

Aber Du kannst Dir von hier: https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes

über EXCEL (oder LO Calc) Dir diese Tabelle ergänzen.

Documentation on MQL5: Constants, Enumerations and Structures / Codes of Errors and Warnings / Trade Server Return Codes
Documentation on MQL5: Constants, Enumerations and Structures / Codes of Errors and Warnings / Trade Server Return Codes
  • www.mql5.com
Trade Server Return Codes - Codes of Errors and Warnings - Constants, Enumerations and Structures - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Carl Schreiber #:

Das: Print("..",TradeServerReturnCodeDescription(GetLastError()); allein ist nicht so gut wie: Print("..",(string)GetLastError(),": ",TradeServerReturnCodeDescription(GetLastError()));

Vielleicht ist die Funktion TradeServerReturnCodeDescription() schon etwas alt?
Ist das letzte Updatre von 2016.11.22?

Aber Du kannst Dir von hier: https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes

über EXCEL (oder LO Calc) Dir diese Tabelle ergänzen.

Richtig Carl, 2 Fehler hat er.

Einen vom Tradeserver und einem im Code der den nicht interpretieren kann.