Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1127
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
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
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.
Also noch einmal, dies ist auf mql5. Und ich brauche es auf mql4.
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 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)
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)
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 anzugebenNun, 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 TFSchreiben 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. im Falle einer Deinitialisierung einen Start mit vorherigen Parametern auslösen