Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1396

 
Artyom Trishkin #:

Hmmm...

Zu einem bestimmten Zeitpunkt wird der Funktionsaufruf durch das Subsystem blockiert. Vielleicht sollten Sie nicht warten, sondern einfach bis zur nächsten Anmeldung warten?

Der Dienst meldet sich nur an, wenn das Terminal gestartet wird, oder wenn der Dienst selbst gestartet wird. Wenn Sie also das Programm verlassen, wird der nächste Aufruf beim Neustart eines der beiden Programme erfolgen... aber beides geschieht manuell...

 
Alexey Viktorov #:

Der Dienst meldet sich nur an, wenn das Terminal gestartet wird, oder wenn der Dienst selbst gestartet wird. Wenn Sie also das Programm beenden, erfolgt die nächste Anmeldung, wenn Sie eines der beiden Programme neu starten... aber beides wird manuell durchgeführt...

Ich hab's. Das heißt, läuft der Dienst in einer Schleife? Oder in einer Zeitschaltuhr?

 
Artyom Trishkin #:

Ich hab's. Ich meine, funktioniert der Dienst in einer Schleife? Oder in einer Zeitschaltuhr?

Der Dienst funktioniert wie ein Skript. Der einzige Unterschied besteht darin, dass der Dienst mit dem Start von MT beginnt, während das Skript, Sie wissen schon... Wenn also etwas nicht funktioniert, wird es nicht funktionieren, bis MT neu gestartet wird. Es stellt sich heraus, dass es wünschenswert ist, zu pausieren und zu wiederholen... Ich denke schon.

 
Alexey Viktorov #:

Der Dienst funktioniert wie ein Skript. Der einzige Unterschied ist, dass der Dienst startet, wenn der MT startet, während das Skript, Sie wissen schon... Also, wenn etwas nicht funktioniert, wird es nicht funktionieren, bis der MT neu gestartet wird. Es stellt sich heraus, dass es wünschenswert ist, zu pausieren und zu wiederholen ... Ich denke schon.

Sie haben meine Frage nicht verstanden. Oder vielleicht drücke ich mich nicht klar aus ¯\_(ツ)_/¯

 
Artyom Trishkin #:

Sie haben meine Frage nicht verstanden. Oder vielleicht drücke ich mich nicht klar aus ¯\_(ツ)_/¯

Einer von beiden. Aber der Dienst funktioniert nicht in der Schleife und nicht im Timer.

 
Alexey Viktorov #:

Einer von beiden. Aber der Dienst funktioniert nicht in einer Schleife und nicht in einem Timer.

Heißt das, dass es nur einmal ausgelöst wird, wenn Sie das Terminal starten? Nein. Wie dann?

 
Artyom Trishkin #:

Heißt das, dass es nur einmal ausgelöst wird, wenn Sie das Terminal starten? Nein. Wie dann?

Bis ich es herausgefunden habe oder sie es möglich gemacht haben, die Anzeige des Handelsverlaufs in einem Diagramm zu deaktivieren, habe ich diesen Dienst genutzt

//+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart()
 {
  long currChart = ChartNext(0);
  while(currChart >= 0)
   {
    ObjectsDeleteAll(currChart, "autotrade");
    currChart = ChartNext(currChart);
   }
 }
//+------------------------------------------------------------------+

Ich wage zu behaupten, dass es erfolgreich funktioniert. Ich bin zu faul, danach zu suchen. Es ist viel einfacher, sie zu wiederholen.

Dieser Dienst

//+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart()
 {
  Print("Запуск произведён успешно");
 }
//+------------------------------------------------------------------+

Es wird einmal beim Starten des Terminals gedruckt. Es ist also leicht zu überprüfen.

 
Alexey Viktorov #:

Bis ich es herausfand oder sie es möglich machten, die Anzeige der Handelshistorie auf dem Diagramm zu deaktivieren, nutzte ich den folgenden Dienst

Ich wage zu behaupten, dass es erfolgreich funktioniert. Ich bin zu faul, um herauszufinden, wo ich schon einmal darüber geschrieben habe. Es ist viel einfacher, sie zu wiederholen.

Dieser Dienst

Es wird einmal beim Starten des Terminals gedruckt. Es ist also leicht zu überprüfen.

Soll das heißen, dass der Dienst NUR einmal beim Start des Terminals gedruckt wird? Wie ein Drehbuch? Nur das Skript wird manuell oder programmatisch ausgeführt, und der Dienst wird beim Starten des Terminals ausgeführt. Ist das so? Und heißt das, dass der Dienst nicht mehr funktioniert? Das heißt, sie wird nur EINMAL ausgelöst?

 
JRandomTrader #:

Zum Beispiel so.

Makros sind global.

Können Sie erklären, wo Sie sie eintragen müssen?

in der Klasse oder bei dem Berater

 
Artyom Trishkin #:

Soll das heißen, dass der Dienst NUR einmal beim Starten des Terminals ausgeführt wird? Gefällt Ihnen das Drehbuch? Nur das Skript wird manuell oder programmatisch ausgeführt, und der Dienst wird beim Booten des Terminals gestartet. Ist das so? Und heißt das, dass der Dienst nicht mehr funktioniert? Das heißt, es funktioniert nur EINMAL?

Artem, warum soll ich Ihnen etwas beweisen? Eine Zeile schreiben und ankreuzen.

Grund der Beschwerde: