Fehler, Irrtümer, Fragen - Seite 2146
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
OnCalculate - wird bei diesem Diagramm nicht ausgeführt. Sie haben ein Handle erstellt, dort ist es untergebracht.
Wenn nicht in diesem, warum wird dann im rechten Unterfenster normal gezeichnet (Pufferzeichnung)?
Im Indikator.
::ChartWindowFind() gibt -1 zurück (mit anderen Worten: funktioniert nicht)
Solange der Indikator nicht initialisiert ist, kennt er nicht die Nummer des Teilfensters, in dem er arbeitet. Er wird erst nach erfolgreicher Initialisierung an das Fenster angehängt
Mit anderen Worten, es ist nutzlos , ChartWindowFind() im Indikator OnInit aufzurufen.
Mit anderen Worten, es ist nutzlos, ChartWindowFind() im Indikator OnInit aufzurufen.
Aufruf von ChartWindowFind() im Indikator OnInit (gleicher Indikator)
Ergebnis: 1:wahr:0
2:1:0
Alles ist gut erkannt, lassen Sie mich Sie an den Code des Indikators OnInit erinnern
Wenn das nicht der Fall ist, warum wird dann im gewünschten Teilfenster normal gezeichnet (Pufferzeichnung)?
Die Berechnung des Indikators und sein zeichnerischer Teil sind also unterschiedliche Dinge. ChartWindowFind ist ein Verweis auf den Mechanismus, der für das Zeichnen des Indikators verantwortlich ist. D.h. es ist nicht einmal der Indikator selbst.
Solange der Indikator nicht initialisiert ist, kennt er die Nummer des Teilfensters nicht, in dem er arbeitet. Sie wird erst nach erfolgreicher Initialisierung an das Fenster angehängt.
Aufruf vonChartWindowFind() nach OnInit (von OnCalculate)
Ergebnis: OnInit:Ende
Mit anderen Worten: Der Indikator kennt bereits die Nummer des Teilfensters, in dem er arbeitet, meldet sie aber nicht.OnCalculate
3:-1:4113
Mit anderen Worten, der Indikator kennt bereits die Nummer des Fensters, in dem er arbeitet, meldet sie aber nicht
Kennt es ChartID()?
Kennt es ChartID()?
Wird nicht benötigt - ChartWindowFind() Funktion ohne Parameter
Ich bin mir nur ziemlich sicher, dass es auch ChartID() nicht kennt (keine Parameter).
Ich bin mir ziemlich sicher, dass es auch ChartID() nicht kennt (keine Parameter).
Dies ist ein offensichtlicher Fehler, zumal die Funktionsunfähigkeit nicht nur eintritt, wenn
aber wenn
Wenn ich z. B. manuell ein Diagrammfenster hinzufüge und den Indikator daran hänge, ist alles in Ordnung.
Aber wenn ich es automatisch mache, funktioniert es nicht.
Dies widerspricht dem eigentlichen Konzept des Algotrading
Dies ist ein eklatanter Mangel, zumal er nicht nur unwirksam ist, wenn
aber wenn
Wenn ich z. B. manuell ein Diagrammfenster hinzufüge und den Indikator daran hänge, ist alles in Ordnung.
Aber wenn ich es automatisch mache, funktioniert es nicht.
Dies widerspricht dem eigentlichen Konzept des Algotrading
Es ist gut, dass die Architektur der Indikatoren klarer geworden ist. Es ist seltsam, dass in der Dokumentation so wenig Informationen darüber zu finden sind.
Der Berechnungsteil des Indikators und der Zeichnungsteil sind unterschiedliche Einheiten. Der Griff ist der Berechnungsteil. Die rechnende Seite weiß nichts über die zeichnende Seite, und das sollte sie auch nicht.
Stellen Sie sich vor, Sie haben einen Handle erstellt, ihn aber nicht auf einem, sondern auf zwei Charts platziert. Offensichtlich gibt es einen Indikator, aber er wird auf zwei Charts mit unterschiedlichen ChartID und SubWindow gezeichnet. Dem Handle Indicator ist dies egal, da er nicht weiß, wo dieser Indikator gezeichnet wird und ob er überhaupt gezeichnet wird. Es ist nicht der Indikator, der für das Rendering verantwortlich ist.
Wenn Sie den Indikator manuell oder über eine Vorlage auf dem Diagramm platzieren, geschieht etwas ganz anderes. Ein Griff wird zusammen mit dem Zeichnungsteil erstellt. Wenn Sie den Indikator manuell mit denselben Eingabeparametern auf einem anderen Chart mit demselben Symbol und derselben Periode starten, wird ein weiterer Handle mit dem Zeichnungsteil erstellt.
Dies ist bei MMS nicht der Fall. Wenn Sie einen Indikator erstellen und dann einen anderen, wird nichts mehr erstellt. Der Berechnungsteil bleibt unangetastet.
Die einzige Möglichkeit, den Indikator in MQL auf die gleiche Weise wie von Hand auszuführen, z. B. in einem neuen Diagramm oder OBJ_CHART, ist LoadTemplate.