GetLastError()
Hallo Allerseits,
ich habe ein kleines Problem mit der GetLastError-Funktion. Ich öffne eine Order mit einer while-Schleife: PHP-Code:
Im Journal kommt dann natürlich ununterbrochen die Meldung: order buy ............ opening at market ........ failed [not enough money] Die GetLastError-Funktion müsste dann eigentlich den Code 134 zurückbekommen - scheint aber nicht zu funktionieren. Hat jemand eine Idee? Danke... |
Hallo,
lass doch mal mit Print() den Errorcode im Journal ausgeben damit du mal siehst welcher Errorcode wirklich vorliegt. und vor OrderSend() würde ich noch ResetLastError(); schreiben. --- Leopold --- |
ja, hab ich gerade ausprobiert, ich habe die Zeile
Print("GetLastError: ", GetLastError()); hinter die OrderSent-Zeile gesetzt. ...wird glatt übergangen - vom Print-Befehl ist im Journal nichts zu sehen - die Fehlermeldung des MT4 selbst [not enough money] aber sehrwohl. Dann habe ich es mit Alert versucht: Alert("GetLastError: ", GetLastError()); Jetzt hängt sich der ganze MT4 beim Versuch, das Alert-Fenster aufzubauen auf, und lässt sich nur noch per Task-Manager killen. Er ist so, als ob die while-Schleife schon wieder von vorne beginnt, bevor sie ganz abgearbeitet wurde... |
so, jetzt habe ich hinter der Print-Zeile eine Pause von einer Sekunde eingefügt:
Sleep(1000); Der Print-Befehl wird trotzdem nicht ausgeführt. Dann das gleiche nochmal mit Alert und Sleep: ... und siehe da, jetzt wird im Alert-Fenster der Fehlercode 134 ausgegeben. Trotzdem läuft die Schleife immer weiter, unbeeindruckt vom break, wenn der Fehlercode 134 lautet... |
so, hab die Lösung gefunden:
if (GetLastError() == 134) funktioniert nicht. Man muss es mit einer Variablen machen: int i_Error_Code = GetLastError(); if (i_Error_Code == 134) { ... } @Leopold: trotzdem danke für Deine Antwort :-) |
Hallo,
sobald GetLastError() abgefragt wurde, wird diese Funktion wieder zurückgesetzt. Somit ist es schon richtig über eine Variable zu gehen, da nachfolgende Abfragen ohne Ergebniss sind. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum