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
Auswahl nach Symbol und Majic funktioniert nicht
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
}
OrderSelect funktioniert nicht, es wählt nicht eine Bestellung (Ticket durch Index), um mit ihm zu arbeiten, einfaches Beispiel im Anhang und es funktioniert nicht auf mt5 aus irgendeinem Grund.
Auswahl nach Symbol und Majic funktioniert nicht
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
}
OrderSelect funktioniert nicht wählt nicht eine Bestellung (Ticket von Index), um mit ihm zu arbeiten, einfaches Beispiel im Anhang und es funktioniert nicht auf mt5 aus irgendeinem Grund
Hallo, hier ist eine Frage, die ich habe, wie kann ich Daten über Fehler beim Senden von Aufträgen für MT5 erhalten, in MT4 Version sieht es so aus
if (CloseError == false)
{
ResetLastError();
error = GetLastError();
Print(" CloseOpenedTrades OrderClose failed" + " - ticket=", OrderTicket() + string(error) + ") " + ErrorDescription(error) + " - ticket= ", OrderTicket());
}
Der Fehlercode ist in der MqlTradeResult-Struktur enthalten, ich kann den obigen Code im MT5 nicht verwenden, ohne auf das Ergebnis zugreifen zu können. Wie kann ich mt4orders.mqh modifizieren, um Trade-Server-Fehler zurückzugeben? danke
Hallo, hier ist eine Frage, die ich habe, wie kann ich Daten über Fehler beim Senden von Aufträgen für MT5 erhalten, in MT4 Version sieht es so aus
if (CloseError == false)
{
ResetLastError();
error = GetLastError();
Print(" CloseOpenedTrades OrderClose failed" + " - ticket=", OrderTicket() + string(error) + ") " + ErrorDescription(error) + " - ticket= ", OrderTicket());
}
Der Fehlercode ist in der MqlTradeResult-Struktur enthalten, ohne Zugriff auf das Ergebnis kann ich den obigen Code im MT5 nicht verwenden. Wie kann ich mt4orders.mqh so modifizieren, dass es Trade-Server-Fehler zurückgibt? danke
D.h. wenn beim Schließen einer Order ein Fehler auftritt, gibt GetLastError() den Fehlercode (des Trade Servers) zurück, auch wenn wir MqlTradeResult Result nicht prüfen; Result.retcode in OrderSend(Request, Result)?
Ja, das ist nicht schwer zu implementieren.
if (CloseError == false)
{
ResetLastError();
error = GetLastError();
Print(" CloseOpenedTrades OrderClose failed" + " - ticket=", OrderTicket() + string(error) + ") " + ErrorDescription(error) + " - ticket= ", OrderTicket());
}
Ich verstehe nicht, was das Hervorgehobene bedeutet.
Ja, es ist nicht schwer zu implementieren.
Ich verstehe nicht, was der hervorgehobene Teil bedeutet.
es war in der EA für mt4
Sie sagen, es sei nicht schwer zu implementieren, aber in der Tat kann GetLastError() einen Trade-Server-Fehler zurückgeben, wenn die Order nicht gesendet wurde, ohne die MqlTradeResult-Struktur zu analysieren.
Sie können einfach eine Prüfung hinzufügen:
{
MqlTradeResult Result;
if (::OrderSend(Request, Result) || Result.retcode != TRADE_RETCODE_DONE)
{
Print("OrderSend() error: ", ResultRetcodeDescription(Result.retcode));
return(false);
}
else
{
return(true);
}
//return(MT4ORDERS::OrderSend(Request, Result) ? Result.retcode < TRADE_RETCODE_ERROR : false);
}
Aber ist das notwendig, wenn GetLastError() so funktionieren kann, wie es ist?
dies war beim mt4-Berater der Fall
Dann liegt ein Fehler in der Logik vor.
Sie sagen, es sei nicht schwer zu implementieren, aber in der Tat kann GetLastError() einen Trade-Server-Fehler zurückgeben, wenn die Order nicht gesendet wird, ohne die MqlTradeResult-Struktur zu analysieren.
Sie können einfach eine Prüfung hinzufügen:
{
MqlTradeResult Result;
if (::OrderSend(Request, Result) || Result.retcode != TRADE_RETCODE_DONE)
{
Print("OrderSend() error: ", ResultRetcodeDescription(Result.retcode));
return(false);
}
else
{
return(true);
}
//return(MT4ORDERS::OrderSend(Request, Result) ? Result.retcode < TRADE_RETCODE_ERROR : false);
}
Aber ist das notwendig, wenn GetLastError() so funktionieren kann, wie es ist?
Ich verstehe Sie nicht. Ihre Implementierung in if enthält einen Fehler. Außerdem gibt es so etwas wie TRADE_RETCODE_DONE_PARTIAL - es ist eine erfolgreiche Ausführung von OrderSend.
Und selbst wenn Sie Ihren Code korrigieren, wird er nur eine Fehlermeldung protokollieren (und jemand anderes möchte sie vielleicht nicht jedes Mal sehen). Aber es wird NICHT in MQL verfügbar sein.
Daher scheint die Variante, bei der GetLastError sowohl Standard-Laufzeitfehler als auch zusätzliche Trade-Server-Rückgabecodes zurückgibt, die optimalste zu sein.