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
Das ist seltsam. Ich habe irgendwo in der Hilfe gelesen, dass, wenn ein Indikator bereits läuft, keine Kopie erstellt wird. Ich kann das nicht verstehen.
Ich muss etwas missverstanden haben. Ich überprüfte diese Hypothese, machte einen Indikator mit zwei Puffern, einer wird von OnCalculate() und der andere von OnTimer(), Skript, Expert Advisor gefüllt... Ich habe iCustom() verwendet, um den Wert des in OnCalculate() gefüllten Puffers zu drucken, und der leere Wert wird von OnTimer() abgeleitet. Gleichzeitig befindet sich der Indikator in dem Diagramm, in dem ich das Skript oder den EA platziere.
Fazit: Beim Aufruf des Indikators durch iCustom() wird das Ereignis OnTimer() im Indikator nicht ausgeführt.
Vielleicht ist das der Grund, warum es in der Dokumentation steht
Die Funktion OnTimer() wird aufgerufen, wenn ein Timer-Ereignis eintritt, das vom Systemtimer nur für Expert Advisors und Indikatoren generiert wird - Sie können es nicht in Skripten verwenden.
Und es wird in keiner Weise auf Indikatoren hingewiesen.
Offensichtlich gibt es in mql einige nützliche, nicht dokumentierte Funktionen sowie undokumentierte Komplikationen...
Ein Indikator wird auf dem Diagramm platziert. Sie wird durch Timer-, ChartEvent- und Calculate-Ereignisse neu gezeichnet.
Ich benötige ein Skript, das die aktuellen Werte seiner Indikatorpuffer(INDICATOR_DATA) liest, die mit STRG+D angezeigt werden können. Ist es möglich, dies in MT4 zu tun?
Liest und schreibt und benötigt keine DLL
Nun, wo ist das Beispiel?
In diesem Fall ist es leider so, dass
wird nicht helfen.
Wo ist der Indikator?
Warum hilft es nicht?
Thema:
Seltsam. Ich habe irgendwo in der Hilfe gelesen, dass, wenn der Indikator bereits läuft, keine Kopie erstellt wird. Vielleicht übersehe ich etwas.
Vor kurzem habe ich einen Indikator gepostet, der nur eine Textzeichenfolge anzeigt. Und wenn ich es über iCustom aufrufe, stören sich die Indikatorlinien auf dem Diagramm und iCustom gegenseitig, so dass ich programmatisch nur eine Ausgabe machen kann.
Möglicherweise wird keine Kopie des Codes im Speicher erstellt, sondern die Neuberechnung erfolgt mit seinen Parametern
https://www.mql5.com/ru/code/14737/83151#!tab=code
Thema:
Vor kurzem habe ich einen Indikator gepostet, der nur eine Textzeichenfolge anzeigt. Und wenn ich es über iCustom aufrufe, stören sich die Indikatorlinien auf dem Diagramm und iCustom gegenseitig, so dass ich programmatisch nur eine Ausgabe machen kann.
Möglicherweise wird keine Kopie des Codes im Speicher angelegt, sondern die Neuberechnung erfolgt mit seinen ParameternCopy
https://www.mql5.com/ru/code/14737/83151#!tab=code
Die Code-Kopie kann nicht nicht erstellt werden, da es sich um eine dynamische Last handelt.
Verbale Behauptung, oder sind Sie ein MQ-Entwickler? :))
Obwohl, ich denke, so selbst, in Analogie mit DLL, wo Programm-Code ist in einer Instanz, und Daten-Instanzen sind für Clients erstellt.
Kurz gesagt, der praktische Punkt ist, dass, wenn es einen Index auf einem Diagramm gibt, iCustom die Daten nicht von diesem, sondern von einer separat erstellten Instanz nimmt.