Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1531
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
Wie geht man mit einem terminalen Einfrieren um?
Der Code ist einfach, aber sehr langsam
Es ist einfacher und sicherer, das erste Startflag in OnTick() zu setzen
Es sollte Berechnungen und Rendering gleichzeitig durchführen, auch z. B. an einem Wochenende.
Ich werde nicht erraten, was passieren wird, das erste, was ich sehe, ist, dass Sie pausiert haben, um die Indikatorwerte in OnInit() zu erhalten - was wird passieren, wenn der Benutzer die TF zu diesem Zeitpunkt wechselt?
SZY: Wie würde sich Ihr Code verhalten, wenn Sie einen EA ausführen, dann das Terminal schließen und es mit einem laufenden EA wieder öffnen?
diese Varianten werden berücksichtigt
Bitte erinnern Sie mich an eine triviale Sache. Mein EA öffnet und schließt Aufträge im Tester normal. Jetzt arbeite ich schon seit einer Woche mit der Demo und alles ist in Ordnung. Aber in zwei Fällen, bei der Eröffnung der zweiten Bestellung (Marting), meine EA hat nicht geschlossen, beide von ihnen, wenn der Saldo positiv ist, aber nur eine hat mit der zweiten gekämpft, bis ich die Take-Order geschlossen haben. Ich habe mir das Protokoll angesehen - der Preiswar "requoting". Das sollte eigentlich kein Problem sein und sollte sich sowieso schließen, aber das tat es nicht.
Ich habe also die Funktion SEND (REQUIRED) OF ORDER CLOSING im Falle einer Bedingung nicht geschrieben. Bitte sagen Sie mir, wie ich diese Trivialität schreiben soll. Ich danke Ihnen.
Bitte erinnern Sie mich an eine triviale Sache. Mein EA öffnet und schließt Aufträge im Tester normal. Jetzt arbeite ich schon seit einer Woche mit der Demo und alles ist in Ordnung. Aber in zwei Fällen, bei der Eröffnung der zweiten Bestellung (Marting), meine EA hat nicht geschlossen, beide von ihnen, wenn der Saldo positiv ist, aber nur eine hat mit der zweiten gekämpft, bis ich die Take-Order geschlossen haben. Ich habe mir das Protokoll angeschaut - der Preiswar "requoted". Das sollte eigentlich kein Problem sein und sollte sich sowieso schließen, aber das tat es nicht.
Ich habe also die Funktion SEND (REQUIRED) OF ORDER CLOSING im Falle einer Bedingung nicht geschrieben. Bitte sagen Sie mir, wie ich diese Trivialität schreiben soll. Ich danke Ihnen.
Oder erhöhen Sie den Schlupf.
Ich danke Ihnen für Ihre Antwort. Warum 138???? Ist dies eine Fehlernummer? Und um wie viel soll der Schlupf erhöht werden (bitte erläutern Sie die Bedeutung der Erhöhung). Dankeschön
Warum 138???? Handelt es sich um eine Fehlernummer?
Ja
Und um wie viel soll der Schlupf erhöht werden (bitte erläutern Sie die Bedeutung der Erhöhung).
Es liegt an Ihnen, je mehr Schlupf, desto weniger Requotes.
Wie geht man mit einem terminalen Einfrieren um?
Der Code ist einfach, aber er ist sehr arbeitsintensiv.
Seltsam...
Ich habe es mit int start() anstelle von OnCalculate gemacht und es hängt überhaupt nicht
Und warum?
Es ist notwendig, Berechnungen und Rendering sofort durchzuführen, auch z.B. an Wochenenden.
Die Indikatoren arbeiten in einem Thread, wenn einer wartet, warten alle anderen, bis sich das Terminal aufhängt.
Beim Start von MT kann die Initialisierung des Indikators (-s) vor der Initialisierung der Terminalvariablen erfolgen, d.h. es ist ein Kinderspiel, einen Hänger abzufangen.