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

 
Sergey Gritsay:

Und jetzt lesen Sie die normale MT5-Dokumentation, jetzt funktionieren einige der alten Funktionen genau so, wie es darin steht, denn die mt4-Dokumentation ist veraltet und es gibt viele 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

Also noch einmal, dies ist auf mql5. Und ich brauche es auf mql4.
 
Vitaly Muzichenko:

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 erneut, aber vor der Abfrage können Sie die Variable mit Fehler auf Null setzen, dann bei der nächsten Abfrage, wenn es einen Fehler gibt, wird es wieder in die Variable gehen, aber wenn es keinen Fehler gibt, 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.

Seit 1997, das ist eine lange Zeit! ) Wahrscheinlich der einzige Mensch, der mich verstanden hat. Ich danke Ihnen.
 
Evgeniy Oshurkevich:
Also noch einmal, dies ist auf mql5. Und ich brauche es auf mql4.
Was diese Funktion betrifft, macht es keinen Unterschied. Aber wenn es prinzipiell ist, dann lesen Sie F1.
 

Ich dupliziere meine Frage in diesem Thread, da der mql5-Thread nicht weiterhelfen konnte - niemand kennt die Antwort.

Ich habe diese Funktion und es funktioniert in meinem Expert Advisor/Skript

double maxLot(double Percent, string symbol, ENUM_ORDER_TYPE action=ORDER_TYPE_BUY)
  {
   double One_Lot=0.0;
   double price=0.0;
   double volume=0.0;
   double MinLot=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
   double Free=AccountInfoDouble(ACCOUNT_FREEMARGIN);
   double Step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP);
   if(action==ORDER_TYPE_BUY)price=SymbolInfoDouble(symbol,SYMBOL_ASK);
   if(action==ORDER_TYPE_SELL)price=SymbolInfoDouble(symbol,SYMBOL_BID);
   if(!OrderCalcMargin(action,symbol,1.0,price,One_Lot))return(MinLot);
   if(One_Lot!=0 && Step!=0)volume = MathFloor(Free*Percent/100.0/One_Lot/Step)*Step;
   if(volume!=0)return(volume);
   return(MinLot);
  }

Frage:Wie erhält man das maximal mögliche Lot in einem Indikator, wennOrderCalcMargin aus irgendeinem Grund nicht in einem Indikator funktioniert? Ich habe versucht,OrderCalcMargin zu verwenden, aber es funktioniert nicht in mt4.

Ich danke Ihnen!

 

wie man das macht?

so dass, wenn

OnDeinit(REASON_CHARTCHANGE)

Fahren Sie wie gewohnt fort, ohne zurückzusetzen (ignorieren Sie diese Ursache vollständig, es ist eine Infotafel mit Stufen)

 
trader781:

wie man das macht?

so dass, wenn

OnDeinit(REASON_CHARTCHANGE)

Fahren Sie wie gewohnt fort, ohne zurückzusetzen (ignorieren Sie diese Ursache völlig, es ist eine Infotafel mit Stufen)

Das können Sie nicht.
 
Vitalie Postolache:
Niemals.

Nun, es gibt Möglichkeiten, das zu umgehen.

Ich bin zu faul, für jedes der 40 vorhandenen Werkzeuge Ebenen in den Code zu packen.

Es ist einfacher, es automatisch zu machen und die TF mit Symbolen anzuklicken, wie Sie möchten.

Und gleichzeitig suche ich nach einer Möglichkeit, die Bewegungswerte der höheren TF auf der niedrigeren anzugeben
 
trader781:

Nun, es gibt Möglichkeiten, das zu umgehen.

Ich bin zu faul, für jedes der 40 vorhandenen Werkzeuge Ebenen in den Code zu packen.

Es ist einfacher, es automatisch zu machen und die TF mit Symbolen anzuklicken, wie Sie möchten.

Und gleichzeitig suche ich nach einer Möglichkeit, die Werte für die wichtigsten TF
Die Einstellungen sollten in eine Datei geschrieben und die Inite gelesen werden. Es gibt keine Möglichkeit, deinit zu umgehen, es fragt nicht nach der Erlaubnis.
 
Vitalie Postolache:
Schreiben Sie die Einstellungen in eine Datei und lesen Sie sie im init. Es gibt keine Möglichkeit, deinit zu umgehen, es fragt nicht nach der Erlaubnis.
Warum sollte man Deinit nicht umgehen, indem man in eine Datei schreibt, wenn das überhaupt möglich ist? z.B. kann man im Falle einer Deinitialisierung einen Start mit den vorherigen Parametern einleiten
 
trader781:
Warum sollte man Deinit nicht umgehen, indem man in eine Datei schreibt, wenn das überhaupt möglich ist? z.B. im Falle einer Deinitialisierung einen Start mit vorherigen Parametern auslösen
Ist es nicht das, was ich oben geschrieben habe?
Grund der Beschwerde: