Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1126

 
Wie weit ich von dir entfernt bin
 
Leute, könnt ihr mir bitte sagen, wie ich die Graphen im Terminal so gestalten kann, dass die Markierung nach dem Einschalten wieder gespeichert wird?
Ich habe im csv-Format gespeichert, das hat nicht funktioniert.
 
Seselio:

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?

if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }
Genau dasselbe wie bei Bai. Ihre Logik ist selbst für Bai unvollständig, ich würde vorschlagen, dass es so sein sollte:
if(GlobalVariableGet("B_order",1)) //ищем  вход Buy
if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }
else if(GlobalVariableGet("S_order",1))// ищем  вход Sell
{Условие для SELL}
 

Ich bin total verwirrt mit diesen Fehlern, ich habe angefangen, sie zu schreiben, und dann fingen sie an, in diese oder jene Richtung zu gehen. In Kürze:

Frage: Ich habe es auf Demo mit Alert getestet und überprüft, wie es funktioniert. Ich habe absichtlich in meinem EA die falsche Bestellung versucht zu öffnen, es bekam Fehlercode 4051, d.h. ich setzte diese Funktion GetLastError() vor dem Öffnen einer Bestellung und nachdem sie geöffnet wurde. Ich habe es: 1 Tick vom Start des EA, Error call--> 0 --> versucht, einen Auftrag mit falschen Bedingungen zu öffnen --> Error call--> 4051, und wenn der 2. Tick ausgelöst hat, zeigt der erste Aufruf bereits 4051 und mein EA sendet keine weiteren Anfragen, bis ich den EA bearbeitet habe. Die Funktion GetLastError() ruft den letzten Fehler vom Terminal oder vom Server ab, und wie kann man ihn zurücksetzen? Ich meine, wenn z.B. "allgemeiner Fehler" Code 2, und 5 Minuten später der Server normal funktioniert, wird der Server mir mitteilen, dass es keinen Fehler gibt. Kurz gesagt, verwirrt in dieser Logik, helfen, wer kann. Ich dachte, ich hätte hier vor kurzem korrespondiert, aber es stellte sich heraus, dass ich das falsch verstanden hatte.

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 
Evgeniy Oshurkevich:

Ich bin total verwirrt mit diesen Fehlern, ich habe angefangen, sie zu schreiben, und dann fingen sie an, in diese und jene Richtung zu gehen. In Kürze:

Frage: Ich habe es auf Demo mit Alert getestet und überprüft, wie es funktioniert. Ich habe absichtlich in meinem EA die falsche Bestellung versucht zu öffnen, es bekam Fehlercode 4051, d.h. ich setzte diese Funktion GetLastError() vor dem Öffnen einer Bestellung und nachdem sie geöffnet wurde. Ich habe es: 1 Tick vom Start des EA, Error call--> 0 --> versucht, einen Auftrag mit falschen Bedingungen zu öffnen --> Error call--> 4051, und wenn der 2. Tick ausgelöst hat, zeigt der erste Aufruf bereits 4051 und mein EA sendet keine weiteren Anfragen, bis ich den EA bearbeitet habe. Die Funktion GetLastError() ruft den letzten Fehler vom Terminal oder vom Server ab und wie kann man ihn zurücksetzen? Ich meine, wenn z.B. "allgemeiner Fehler" Code 2, und 5 Minuten später der Server normal funktioniert, wird der Server mir mitteilen, dass kein Fehler vorliegt. Kurz gesagt, verwirrt in dieser Logik, helfen, wer kann. Ich dachte, ich hätte hier vor kurzem korrespondiert, aber es stellte sich heraus, dass ich das falsch verstanden hatte.

Versuchen Sie, den Fehler mit der Funktion ResetLastError() zurückzusetzen;
 
Alekseu Fedotov:
Versuchen Sie, den Fehler mit ResetLastError() zurückzusetzen;
Dankeschön
 

EXCEPTION!!!!!!!!! Liebe Leute! Wundern Sie sich nicht, dass Sie von Neulingen belästigt werden!!! Was hat es mit der Suchmaschine auf sich???? Ich bin hier seit 2 Wochen eine Art Experte, Sie hätten mein Gesicht sehen sollen, als ich beschloss, mehr über OrderSend() in search engine!!!! herauszufinden. Die armen Neulinge. Nun, okay, in der Adressleiste ändere ich es auf 4 statt 5. Ich bin dort nicht autorisiert, okay, ich drücke Enter und bin wieder bei mql5. Wenn ich nicht bei Mql4 eingeloggt bin, funktioniert die Suchmaschine nicht.

Und auch im Forum schreiben viele schlaue Leute: "Wozu gibt es die Suchmaschine?" oder "Schauen Sie in der Suchmaschine nach", "wir sind irgendwie faul" usw. nichts für ungut

 

In der Dokumentation:

GetLastError

Gibt den Inhalt der Systemvariablen_LastError zurück.

intGetLastError();

Zurückgegebener Wert

Gibt den Wert des letztenFehlers zurück, der während der Ausführung eines mql4-Programms aufgetreten ist.

Anmerkung.

Nach dem Aufruf der Funktion wird der Inhalt der Variablen _LastError geleert.


In der Anmerkung ist eindeutig festgelegt, dass _LastError auf Null gesetzt wird.

Lesen wir mehr über_LastError.

int _LetzteFehler

Die Variable _LastError speichert den Wert des letztenFehlers, der während der Ausführung des mql4-Programms aufgetreten ist. DieFunktionResetLastError()kann den Wert auf Null zurücksetzen.

Sie können auch die FunktionGetLastError() verwenden, um den Fehlercode zu erhalten.


Es heißt: Sie können denWert mit der FunktionResetLastError()auf Null zurücksetzen. Warum sollte er zurückgesetzt werden, wenn er sagt, dass_LastError sich auf Null zurücksetzt?

Ok, lesen SieResetLastError() weiter.

ResetLastError

Setzt den Wert der Variablen predefined_LastError auf Null.

voidResetLastError();

Zurückgegebener Wert

Kein Rückgabewert.

Hinweis

GetLastError() löscht die Variable_LastError.

DieFunktionGetLastError()löscht die Variable_LastError.

Warum brauche ich dannResetLastError(); ?????

Und woher weiß ich später, welcher Fehler aufgetreten ist, wenn nach dem zweiten Aufruf vonGetLastError() 0 angezeigt wird? Er löscht_LastError.

Übrigens zeigtGetLastError() in der Demo jetzt bei jedem Tick denselben Fehler an und setzt ihn nicht zurück.

D.h., wir haben den gleichen Fehler beim 1. Tick und beim 2. Tick, mein EA sendet die Anfrage zum Öffnen nicht, weil er den letzten Fehler bereits gesehen hat

Ich habe letzte Nacht etwas geschlafen, ich habe seit Silvester nichts mehr getrunken.



_LastError - Предопределенные переменные - Справочник MQL4
_LastError - Предопределенные переменные - Справочник MQL4
  • docs.mql4.com
_LastError - Предопределенные переменные - Справочник MQL4
 
Evgeniy Oshurkevich:

In der Dokumentation:

GetLastError

Gibt den Inhalt der Systemvariablen_LastError zurück.



Lesen Sie jetzt die normale MT5-Dokumentation, jetzt funktionieren einige alte Funktionen genau so, wie es geschrieben steht, denn die mt4-Dokumentation ist veraltet und es gibt eine Menge Dinge, die noch nicht behoben sind.

GetLastError

Gibt den Inhalt der Systemvariablen_LastError zurück.

intGetLastError();

Zurückgegebener Wert

Gibt den Wert des letzten Fehlers zurück, der während der Ausführung des mql5-Programms aufgetreten ist.

Hinweis

Nach dem Aufruf der Funktion wird der Inhalt der Variablen _LastError nicht gelöscht. Die FunktionResetLastError() muss aufgerufen werden, um diese Variable auf Null zurückzusetzen.

Siehe auch

Trade Server Rückgabecodes

 
Evgeniy Oshurkevich:

Ich habe die Nacht sozusagen verschlafen, ich habe seit Silvester nichts mehr getrunken.

Nun, ich bin es seit 1997)

Sehen Sie, es gibt einen Tick und damit ein Signal, und wenn Sie einen Fehler erhalten, muss dieser verarbeitet werden. Verarbeitet und Abfrage wieder, aber vor der Abfrage können Sie Null die Variable mit dem Fehler, dann die nächste Abfrage, wenn es einen Fehler gibt, wird es wieder in die Variable gehen, aber wenn es keinen Fehler, wird es "0" sein.

Sie müssen die Variable nicht auf Null setzen, aber wenn ein Fehler auftritt, gibt sie einen neuen Wert zurück. Auf jeden Fall sollten Sie sich nicht für den Fehler interessieren, den Sie beim letzten Ticken hatten, sondern nur für das, was Sie "jetzt" haben.

Grund der Beschwerde: