Fehler, Irrtümer, Fragen - Seite 1157

 
marketeer:
Klärung der Frage - der Fortschritt sollte im Indikator funktionieren. Wenn Ihr Code in den Indikator übertragen wird, wird der Kommentar zur Laufzeit nicht mehr angezeigt.
Wenn Sie den Indikator in eine Schleife schalten, können Sie das gesamte Terminal "aussetzen". Aber der Expert Advisor erlaubt es Ihnen, sich über die Threads lustig zu machen, wie Sie wollen.
 
marketeer:
Um die Frage zu klären - der Fortschritt sollte im Indikator funktionieren. Wenn Ihr Code in den Indikator übertragen wird, wird der Kommentar zur Laufzeit nicht mehr angezeigt.

Aus der MQL4-Hilfe:

Laufende Programme

Eine kurze Zusammenfassung der Programme in MQL4 finden Sie in der folgenden Tabelle:

Programm

Ausführung

Hinweis

Drehbuch

In einem eigenen Thread so viele Skripte, wie es Ausführungs-Threads für sie gibt

Ein Skript in einer Schleife kann die Arbeit anderer Programme nicht unterbrechen

Experte

In einem eigenen Thread, so viele Experten - so viele Ausführungsthreads für sie

Ein Experte in einer Schleife kann die Arbeit anderer Programme nicht stören

Indikator

Ein Ausführungsstrang für alle Indikatoren auf einem Symbol. So viele Indikatorsymbole - so viele Ausführungsstränge für sie

Eine Endlosschleife in einem Indikator stoppt alle anderen Indikatoren für dieses Symbol

 
barabashkakvn:
Wenn der Indikator in einer Schleife hängt, kann das gesamte Terminal "aufgehängt" werden. Aber der Expert Advisor erlaubt es, sich über die Abläufe lustig zu machen, wie Sie wollen.

Nun, die Tatsache, dass ein Indikator das Terminal hängen lassen kann, ist ein Manko des Terminals selbst. Und die analytischen Berechnungen, die nichts mit dem Handel zu tun haben, sollten im Indikator stehen - zumal sie die Visualisierung von Puffern erfordern, also auch keine Aufgabe für das Skript sind.

Der Indikator enthält keine Schleife - in dem Sinne, dass es keine Endlosschleife gibt. Es gibt eine kontrollierte Berechnung, aber das braucht Zeit.

 
marketeer:

...

Im Truthahn ist nichts in einer Schleife - in dem Sinne, dass es keine Endlosschleife gibt. Es gibt eine kontrollierte Berechnung, aber das braucht Zeit.

In welchem Aufruf der Indikatorfunktion führen Sie die Berechnung durch?
Wenn Sie solche Berechnungen wirklich durchführen müssen, ist es sinnvoll, eine "Stapelberechnung" durchzuführen.

 
Порционное вычисление в индикаторе
Порционное вычисление в индикаторе
  • www.mql5.com
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции). - - Категория: технические индикаторы и анализ рынка форекс
 
barabashkakvn:
In welchem Aufruf der Indikatorfunktion führen Sie die Berechnung durch?
Wenn Sie solche Berechnungen wirklich durchführen müssen, ist es sinnvoll, eine "Stapelberechnung" durchzuführen.

Der Hardcode befindet sich im Berechnungsteil, nicht in der Inite, falls das die Frage ist. Die "Stapelberechnung" ist ein separater Aufwand, um Zwischenstände zu speichern und wiederherzustellen, und verlangsamt den Prozess selbst. Das ist keine Option.
 
joo:
Wie können Sie also den Konsolen-Compiler verwenden, wenn er vom Terminal entfernt wird?

Warum ist es im Terminal? Das Terminal hat seine ganz eigene.

Behalten Sie den Compiler einfach woanders.

 
Renat:

Warum ist es im Terminal? Das Terminal hat seine ganz eigene.

Behalten Sie den Compiler einfach woanders.

Ja, es ist verständlich, dass der Ausweg darin besteht, den Compiler in einem anderen Ordner als den des Terminals zu speichern. Aber die frischen *.ex5-Dateien werden auch nicht im Terminal-Ordner erstellt, was bedeutet, dass sie ständig an die richtige Stelle übertragen werden müssen... Könnte es jedoch eine Befehlstaste geben, um den Pfad der kompilierten Dateien anzugeben?
 
joo:
Ja, es ist verständlich, dass der Ausweg darin besteht, den Compiler in einem anderen Ordner als den des Terminals zu speichern. Aber die neuen *.ex5-Dateien werden auch nicht im Terminal-Ordner erstellt, was bedeutet, dass sie ständig an die richtige Stelle verschoben werden müssen... Könnte es jedoch eine Befehlstaste geben, um den Pfad der kompilierten Dateien anzugeben?

Ja, Sie können mit dem Schlüssel /i ein Standardverzeichnis angeben:

E:\>mql64.exe
MQL4/MQL5 Compiler x64 build 937 (15 May 2014)
Copyright 2001-2014, MetaQuotes Software Corp.

Usage: mql64.exe [<flags>] filename.mq5
                /mql5     - compile mql5 source
                /mql4     - compile mql4 source
                /s        - syntax check only
                /i:<path> - set working directory
 
EX5 wird an dem Ort erstellt, an dem sich die ursprüngliche mq5-Datei befindet.
Grund der Beschwerde: