Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 212
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
Hallo,
Ich suche die folgenden Informationen:
1. hinsichtlich der Implementierung von SMS-Benachrichtigungen bei der Verarbeitung von Schlüsselereignissen in der Arbeit des Expert Advisors.
Über die Durchführung der Eröffnung und Schließung des Handels von 12-00 PST bis 18-00 PST (natürlich mit SMS-Benachrichtigung :) über den Beginn und das Ende einer wöchentlichen Handelssitzung).
Über die Implementierung einer E-Mail-Benachrichtigung nach Abschluss des Handels (18-00 PTN) - Senden eines Berichts über die Arbeit des Beraters für eine wöchentliche Handelssitzung, im Tester, mit einem Diagramm und Angabe der Daten der Eröffnung, Schließung, Preise, Gewinne/Verluste nach Schließung der Positionen. Oder werden die Berichte im txt-Format vorliegen?
Welche Funktionen oder Skripte werden dies umsetzen? Wie kann ich das machen? Vielleicht gibt es ein Thema dazu - SMS- und E-Mail-Benachrichtigungen und Berichte.
https://www.mql5.com/ru/articles/1454
Hier ist etwas in dieser Art, aber um es einfacher zu machen)))
https://www.mql5.com/ru/forum/53920
Der Algorithmus der SMS-Benachrichtigungen ist nicht schlecht, unser EA schickt uns eine E-Mail, und der E-Mail-Betreiber schickt uns den Text des Briefes. Alles genial einfach. Alles, was wir brauchen, ist die Registrierung unseres Mobiltelefons. Jetzt ist es einfacher.
Ich werde lesen gehen, ich fand eine ähnliche Funktion - SendMail().Ich frage mich, wie kompliziert es ist?
Guten Tag zusammen!
Machen Sie diesen Code - löschen Sie alle Bestellungen auf einmal.
Das Problem ist, dass fast alle Aufträge abgeschlossen sind. Aber wir haben immer noch 1-2 Bestellungen, die nicht gelöscht werden.
Und egal, wie oft ich diese Funktion aufrufe, die Funktion schließt die verbleibenden Aufträge nicht.
Ich erhalte eine Fehlermeldung mit einem falschen Preis.
Ich dachte, dass es sich um Requotes handelt, aber wenn wir diese Funktion bereits 500000 Mal angefordert haben, was können dann Requotes sein?
Was kann nicht der falsche Preis sein?
So einen Unsinn habe ich bei anderen EAs noch nie erlebt.
Guten Tag zusammen!
Machen Sie diesen Code - löschen Sie alle Bestellungen auf einmal.
Das Problem ist, dass fast alle Aufträge abgeschlossen sind. Aber wir haben immer noch 1-2 Bestellungen, die nicht gelöscht werden.
Und egal, wie oft ich diese Funktion aufrufe, die Funktion schließt die verbleibenden Aufträge nicht.
Ich erhalte eine Fehlermeldung mit einem falschen Preis.
Ich dachte, dass es sich um Requotes handelt, aber wenn wir diese Funktion bereits 500000 Mal angefordert haben, was können dann Requotes sein?
Was kann nicht der falsche Preis sein?
So einen Unsinn habe ich bei anderen EAs noch nie erlebt.
Wenn es viele Bestellungen gibt, hat der Preis Zeit, sich zu veralten. Fügen Sie RefreshRates() hinzu, und es sollte alles in Ordnung sein.
Das ist die Sache: Ein oder zwei Aufträge sind noch übrig.
Ich habe einen Zyklus von Aufrufen dieser Funktion durchgeführt, bis alle Aufträge gelöscht sind.
Wenn es sich um einen Kaufauftrag handelt, sollte er mit Bid geschlossen werden, und es spielt keine Rolle, welchen Preis er jetzt hat.
Es sollte bis zum Gebot zu jedem Preis schließen.
Und wenn wir diese Funktion viele tausend Mal angesprochen haben, sollte sich der Preis sowieso schließen.
Oder verstehe ich vielleicht etwas nicht?
Das ist die Sache: Ein oder zwei Aufträge sind noch übrig.
Ich habe einen Zyklus von Aufrufen dieser Funktion durchgeführt, bis alle Aufträge gelöscht sind.
Theoretisch sollte ein Kaufauftrag durch Bid geschlossen werden, und es spielt keine Rolle, welchen Preis er jetzt hat.
Es sollte bis zum Gebot zu jedem Preis schließen.
Und wenn wir diese Funktion viele tausend Mal angesprochen haben, sollte sich der Preis sowieso schließen.
Oder gibt es etwas, das ich nicht verstehe?
Gibt es beim Löschen Fehler im Protokoll?
Der Preis kann während des Zyklus weit genug steigen. Ask und Bid sind Konstanten, die entweder zwangsweise (beim Aufruf von RefreshRates()) oder bei der Verarbeitung eines neuen Ticks aktualisiert werden. Rufen Sie also nach jedem Schleifendurchlauf RefreshRates() auf und sehen Sie, was passiert.
Das ist es ja, es gibt noch ein oder zwei Bestellungen.
Ich habe eine Schleife von Aufrufen dieser Funktion gemacht, bis alle Aufträge gelöscht sind.
Theoretisch sollte ein Kaufauftrag durch Bid geschlossen werden, und es spielt keine Rolle, welcher Preis zu diesem Zeitpunkt gilt.
Es sollte bis zum Gebot zu jedem Preis schließen.
Und wenn wir diese Funktion viele tausend Mal angesprochen haben, sollte sich der Preis sowieso schließen.
Oder verstehe ich vielleicht etwas nicht?
Versuchen Sie 1) Print durch Alert zu ersetzen, um das Ergebnis sofort auf dem Bildschirm zu sehen - das ist schneller 2) Sie erhalten dort den Fehlercode. Drucken Sie es aus und sehen Sie 3) Holen Sie den Fehlercode der Funktion OrderSelect und sofort OrderSymbol(), OpderType(), OrderTicket() ein und drucken Sie ihn aus
Versuchen Sie 1) Print durch Alert zu ersetzen, um das Ergebnis sofort auf dem Bildschirm zu sehen - das ist schneller. 2) Sie erhalten den Fehlercode dort. Drucken Sie es aus und sehen Sie 3) Holen Sie den Fehlercode der Funktion OrderSelect und sofort OrderSymbol(), OpderType(), OrderTicket() ein und drucken Sie ihn aus.
Ich habe auch RefreshRates() ausprobiert. Es hat sich nichts geändert. Alert - wie Print, gibt - falsche Parameter aus.
Fehler 3.
Ich stand am Morgen auf und sah, dass der EA ausgelöst hatte und die Funktion zum Löschen aller Aufträge der ganzen Nacht anzeigte.
Der Zähler der Anfragen zeigt mehrere Millionen Anfragen an. Das bedeutet, dass die Aufträge nicht gelöscht werden.
Dieser EA prüft auch, ob alle Aufträge gelöscht sind, er ist wie eine Versicherung. Wenn es Aufträge gibt, rufen wir die
Die Funktion des Löschens wird gefordert. Das Programm bleibt stecken. Das bedeutet, dass die Schleife nicht aufhört, bis alle Aufträge gelöscht sind.
Solche Probleme treten bei 2 Währungspaaren auf. Ich habe bereits meinen Verstand verloren. Was ist zu tun?
Ich habe RefreshRates() ausprobiert. Es hat sich nichts geändert. Alert - wie bei print, es heißt - falsche Parameter.
Fehler 3.
Ich bin heute Morgen aufgewacht und habe gesehen, dass der EA ausgelöst hat und die ganze Nacht einen Aufruf zum Löschen aller Aufträge anzeigt.
Der Zähler der Anfragen zeigte mehrere Millionen Anfragen an. Das bedeutet, dass die Aufträge nicht gelöscht werden.
Dieser EA prüft auch, ob alle Aufträge gelöscht sind, er ist wie eine Versicherung. Wenn es Aufträge gibt, rufen wir die
Die Funktion des Löschens wird gefordert. Das Programm bleibt stecken. Das bedeutet, dass die Schleife nicht aufhört, bis alle Aufträge gelöscht sind.
Solche Probleme treten bei 2 Währungspaaren auf. Ich habe bereits meinen Verstand verloren. Was ist zu tun?
Und was ist die Funktion error()?
Das könnte das Problem sein.
Was ist die Funktion error()?
Es ist möglich, dass dies das Problem ist.
Die Funktion error() zeigt lediglich einen Fehlercode an. Es gibt kein Problem mit dieser Funktion, ich habe sie in vielen EAs und ich ändere sie nie.
Es ist also definitiv nicht das Problem.
Die Funktion selbst ist hier zu finden: