Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 549
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
Ist die folgende abgekürzte Konstruktion im Code korrekt: a < b && ( c > d1 || c >d2 || c > d3) ?
Damit soll das Schreiben vermieden werden: (a < b && c > d1) || (a < b && c > d2) usw. viele Male.
Ist die folgende abgekürzte Konstruktion im Code korrekt: a < b && ( c > d1 || c >d2 || c > d3) ?
Damit soll das Schreiben vermieden werden: (a < b && c > d1) || (a < b && c > d2) und so weiter viele Male.
Natürlich wird es das. Das Einzige, was ich tun würde, wenn ich solch große Konstruktionen schreibe, ist die ausdrückliche Angabe der Prioritätsklammern:
Bei MT4/5-Compilern können wir auf die angegebenen Klammern verzichten, da die vorhandenen Prioritäten es nicht zulassen, das Ergebnis des Ausdrucks auf andere Weise zu berechnen. Diese Klammern haben jedoch zwei Vorteile:
Danke, wenn Sie
den Fehler zurück, es gibt kein Symbol in Market Watch, wie kann ich es dort hinzufügen?
Danke, wenn Sie
den Fehler zurück, es gibt kein Symbol in Market Watch, wie kann ich es dort hinzufügen?
SymbolAuswählen()
Alles steht in der Hilfe. Cursor auf Funktionsname und F1
SymbolAuswählen()
Es ist alles in der Hilfe. Cursor auf Funktionsname und F1
Ich danke Ihnen.
Was ist der Grund dafür? Ich habe ein Skript geschrieben, das Limit-Orders im MT5 setzt. Wenn ich es an das Diagramm im Terminal sende, werden die Aufträge nicht gesetzt, obwohl der result.retcode 10009 zurückgibt(Auftrag ausgeführt)
Was ist der Grund dafür? Ich habe ein Skript geschrieben, das Limit-Orders im MT5 setzt. Wenn ich es an das Diagramm im Terminal sende, werden die Aufträge nicht gesetzt, obwohl der result.retcode 10009 zurückgibt (Auftrag ausgeführt)
}
Das Log sagt: 2018.05.14 10:12:38.187 Trades '992940': sell limit 3.00 Si-6.18 at 62066 (62065) sl: 62331 tp: 61267 placed for execution
Das Log sagt: 2018.05.14 10:12:38.187 Trades '992940': sell limit 3.00 Si-6.18 at 62066 (62065) sl: 62331 tp: 61267 placed for execution
Dies wird in das allgemeine Protokoll geschrieben. Und was steht im Protokoll der "Experten"? Und zwar nicht nur eine Zeile, sondern das gesamte Protokoll. Durch das Schlüsselloch gibt es nicht viel zu sehen.
Außerdem gibt es in dem zitierten Code keine Prüfung auf Rückgabecodes. Es ist also nicht klar, auf welcher Grundlage die Schlussfolgerung über den Fehlercode gezogen wird.
Um einen Ratschlag zu geben, braucht man eindeutig reproduzierbare Schritte (um zu sehen, was man sieht), und die gibt es hier nicht. Schneiden Sie den problematischen Teil des Codes aus, führen Sie ihn selbst aus und zeigen Sie dann genau, was schief läuft.
P. S. Um den Code einzufügen, verwenden Sie bitte das Symbol "</>" oder Alt+S.
Am Ende des Codes auchAlert(result.retcode);
im allgemeinen Protokoll:
2018.05.14 12:08:16.984 Scripts script LIMIT (Si-6.18,M15) erfolgreich geladen
2018.05.14 12:08:17.187 Trades '992940': Kauflimit 3.00 Si-6.18 bei 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.484 Trades '992940': akzeptiert Kauflimit 3.00 Si-6.18 bei 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.500 Trades '992940': Kauflimit 3.00 Si-6.18 bei 62091 (62092) sl: 61821 tp: 62905 zur Ausführung gestellt
2018.05.14 12:08:17.546 Trades '992940': order #13235300 buy limit 3.00 / 3.00 Si-6.18 at 62091 done in 337.532 ms
2018.05.14 12:08:17.578 Skripte Skript LIMIT (Si-6.18,M15) entfernt
In der Spalte Experten: 2018.05.14 12:08:17.578 LIMIT (Si-6.18,M15) Alert: 10009, sonst nichts