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

 
_new-rena:

Hat schon jemand einen Lauftext auf dem Bildschirm erstellt? Zum Beispiel - Auftrag so und so geöffnet/geschlossen/geändert, etc. Neuigkeiten gibt es so und so... ?

Wenn Sie nichts dagegen haben, zeigen Sie mir bitte einen Teil des Codes.

Danke!

https://book.mql4.com/ru/build/info


 
artmedia70:

Vertikaler Bildlauf in einem leeren Anzeigefenster. Hier ist die Funktion:

Als Beispiel für die Verwendung einer einfarbigen Nachricht (Sie können 4 Farben in einer Zeile für verschiedene Wörter verwenden):

Im Diagramm sollte ein leerer Indikator mit dem Namen Win_Inform vorhanden sein.

Ich danke Ihnen!

Kennengelernt, das Prinzip ist klar.

Um eine solche Funktion zu implementieren, fehlt noch ein Detail:

- Wie kann man die Infomeldungen, die MT4 auf den Registerkarten "Log" und "Experts" ausgibt, entfernen?

(Ich werde sie in einem String-Array vom Typ Stack speichern und sie auf dem Hauptbildschirm anzeigen, außerdem werde ich Nachrichten hinzufügen und eine anständige Sache))))

 
Ich danke Ihnen!
 
tuner:

Ich habe die Ursache für dieses Problem gefunden: https://forum.mql4.com/33023

Wie erwartet, handelt es sich praktisch um einen Fehler in der Funktion StringToTime. Alle Symptome passen zusammen. Diese Funktion konvertiert die Zeichenkette "23:59" in eine Datumszeit mit lokalem PC-Datum anstelle des MT4-Datums. Und im Tester wird, wie wir wissen, das Datum des lokalen PCs emuliert und mit der Terminalzeit gleichgesetzt. Das ist der Grund, warum im Tester alles richtig funktioniert, aber in der Demo/Echtzeit kommt es zu Pannen und Verlusten. Natürlich steht in der Dokumentation nicht, woher das Datum kommt, und der obige Link zeigt, dass dieses Problem vor 4 Jahren gemeldet wurde, aber anscheinend ist es den Methaquotes egal.

Und bevor Sie den Unsinn eines anderen wiederholen, können Sie ihn nicht überprüfen?

Es spielt keine Rolle, welche Zeit StringToTime() Funktion zählt Sekunden von 01.01.1970 00:00:00 GMT, UTC, Server-Zeit oder lokale Zeit, das Wichtigste ist, dass von diesem Datum XXX Sekunden auf die angegebene Zeit vergangen. Und wenn Sie die Prüfzeit einstellen, wird sie auch vom 01.01.1970 00:00:00 nach der von Ihnen angegebenen Zeit berechnet. Mit anderen Worten, in der Bedingung if(TimeCurrent() >= StringToTime("23:15") bedeutet dies, dass die Serverzeit vom 01.01.1970 00:00:00 genauso viele oder mehr Sekunden vergangen ist als die angegebene Prüfzeit vonXXX Sekunden. Und es gibt keine Verwirrung darüber.

Speziell für Sie habe ich einen Screenshot gemacht, den Kommentar gelesen und dann experimentiert.


Ihr Problem könnte sein, dass der Handel um 23:00 Uhr endet.

 

Guten Tag!

Können Sie mir bitte sagen, was mit meinem Indikator nicht in Ordnung ist?

Erstens funktioniert es nur, bis der Balken wechselt.

Zweitens: Es wird keine Grenze gezogen.

Wenn jemand versteht, was falsch ist, wäre ich sehr dankbar)

Dateien:
priceiup.mq4  3 kb
 
Blik:

Guten Tag!

Können Sie mir bitte sagen, was mit meinem Indikator nicht in Ordnung ist?

Erstens funktioniert es nur, bis der Balken wechselt.

Zweitens: Es wird keine Grenze gezogen.

Wenn jemand versteht, was falsch ist, wäre ich sehr dankbar)

Was wollen Sie damit erreichen?
 
Berechnung des Teakholzpreises
 
Sehr geehrte Herren Programmierer! Wie kann man die Informationsmeldungen, die MT4 in den Tabs "Journal" und "Experts" anzeigt, in eine String-Variable auslesen?
 
Blik:
Berechnung des Preises für einen Tick
Suche nach Tick-Indikatoren
 
_new-rena:
Sehr geehrte Herren Programmierer! Wie kann man die Informationsmeldungen, die MT4 auf den Registerkarten "Journal" und "Experten" ausgibt, in eine String-Variable auslesen?
Wenn die Frage so klingt: "Wo ist die Datenquelle zu suchen?", dann können Sie durch einen Rechtsklick auf die Informationsmeldungen der entsprechenden Registerkarte und ein Popup-Menü mit dem Eintrag "Öffnen" herausfinden, dass sich die Protokollmeldungen in den Logs im Ordner "<MT4-Installationsverzeichnis>\logs" und die Expertenmeldungen im Ordner "<MT4-Installationsverzeichnis>\MQL4\Logs" befinden. Der Name der Datei wird nach dem Muster "JJJJMMTT.log" gebildet. Die Datei mit dem aktuellen Datum wird ständig aktualisiert, wenn neue Nachrichten eingehen.