Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 665
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
Niemand wird sich diese Art von Hemden ansehen.
Was gibt es dann noch zu sehen? "Der "Tartan" ist der Indikator für das Murrey-Level-System (ich denke, viele kennen ihn). Die Frage war, wie man sie richtig "extrahiert".
die richtigen Daten für iCustom().
Warum kann ich nicht ein dynamisches Array verwenden?
In diesem Fall habe ich dort den Schlusskurs ohne Berechnung überschrieben.
Wo kann ich nachlesen, wie man Indikatorpuffer verwendet?
Sie ist hier erhältlich: https://book.mql4.com/ru/samples/icustom
Forum für Handel, automatisierte Handelssysteme und Strategietests
Alle Fragen von Neulingen zu MQL4, Hilfe und Diskussion über Algorithmen und Codes
Galim_V, 2018.10.16 17:03
Sie können hier gehen: https://book.mql4.com/ru/samples/icustom
Es zeigt Ihnen, wie Sie Berechnungen durchführen und sie zur Anzeige an das Terminal weitergeben können.
Ich habe nirgendwo Zwischenberechnungen ausgegeben, also sagt mir mein Schulprogrammierwissen, dass ein dynamisches Array, das sich bei jedem i++ vergrößert, dafür ausreichend ist.
Warum man dafür einen Puffer braucht, ist mir ein Rätsel, auf das es noch keine Antwort gibt.
Warum kann ich nicht ein dynamisches Array verwenden?
In diesem Fall habe ich dort den Schlusskurs ohne jede Berechnung überschrieben.
Wo kann ich nachlesen, wie man Indikatorpuffer verwendet?
Sie können es verwenden. Doch bevor Sie ihn schreiben, sollten Sie ihn vergrößern. Sie können es in der Dokumentation nachlesen. Sie haben einen Puffer in Ihrem Indikator deklariert.
Sie zeigen Ihnen, wie Sie Berechnungen durchführen und sie zur Anzeige an das Terminal senden können.
Ich gebe nirgendwo Zwischenwerte aus, also sagen mir meine schulischen Programmierkenntnisse, dass ein dynamisches Array, das für jedes i++ inkrementiert wird, ausreicht.
Warum man dafür einen Puffer braucht, ist mir ein Rätsel und ich habe noch keine Antwort darauf.
= Sie können es in der Dokumentation nachlesen.
Bitte geben Sie mir den Link.
Ich habeSetIndexBuffer(1, tmp1) hinzugefügt, aber es ändert sich nichts.
Soweit ich weiß, wird ein Array, wenn ihm ein Puffer zugewiesen wird, als Array mit demselben Namen angesprochen, aber es ist tatsächlich ein Puffer. Ist das so?
= Sie können es in der Dokumentation nachlesen.
Bitte geben Sie mir den Link.
Ich habe SetIndexBuffer(1, tmp1) hinzugefügt, aber es hat sich nichts geändert.
Soweit ich weiß, wird ein Array, wenn ihm ein Puffer zugewiesen wird, als Array mit demselben Namen angesprochen, aber es ist tatsächlich ein Puffer. Oder?
Hinweis
Die Anzahl der Puffer darf 512 nicht überschreiten und nicht kleiner sein als der Wert, der in der Eigenschaft #property indicator_buffers angegeben ist. Wenn der benutzerdefinierte Indikator zusätzliche Puffer für die Berechnung benötigt, müssen Sie IndicatorBuffers() verwenden , um die Gesamtzahl der Puffer anzugeben.
Und dann gibt es noch ein Beispiel. Wenn es einen Puffer für die Anzeige gibt und einen für Berechnungen, dann sollten IndicatorBuffers 2 haben und nur dann SetIndexBuffer(1, tmp1); während das Array auf globaler Variablenebene vorher deklariert wird.
Was gibt es denn hier zu sehen? "Das Gerücht ist der Murrey-Level-System-Indikator (ich denke, viele Leute kennen ihn). Die Frage war, wie man sie richtig "extrahiert".
die richtigen Daten für iCustom().
Noch einmal. Sehen Sie sich das Bild genau an:
Warum kann ich nicht ein dynamisches Array verwenden?
In diesem Fall habe ich dort den Schlusskurs ohne jede Berechnung überschrieben.
Wo kann ich nachlesen, wie man Indikatorpuffer verwendet?
Du verstehst etwas nicht!
Eindynamisches Array dient zur Aufzeichnung dynamischer Daten (z. B. eingehende Kurse, Uhrzeit usw.).
Dynamische Arrays sollten nicht in Berechnungen verwendet werden.
Es ist also ganz einfach - ENTWEDER DU SCHREIBST - ODER DU RECHNEST !!!
Ich hoffe, das ist klar (!!!???)
Wenn es sich um Indikatoren handelt, dann sollten Indikatoren (im Allgemeinen!) ÜBERTROFFEN werden. Aber in MT4/MT5 sehen wir das nicht!
In MT4/MT5 sind alle Indikatoren dynamisch. (Oder gibt es noch andere? - Ich weiß es nicht. Ich habe sie nicht alle überprüft, aber ich habe keine anderen gesehen).
Ich weiß nicht, ob es gut oder schlecht ist - ich urteile nicht.
Die Standardindikatoren in MT4/MT5 sind alle dynamisch (wenn ich mich irre, lassen Sie mich korrigieren! Aber ich habe keine anderen gesehen).
Bevor Sie Ihr Problem lösen, sollten Sie es daher formulieren.
Was wollen Sie AUFZEICHNEN oder EXAKT machen?
Und danach entscheiden Sie, welche Felder Sie haben möchten.
Ich hoffe, ich habe mich klar ausgedrückt.
Du verstehst etwas nicht!
Ein dynamisches Array dient zur Aufzeichnung dynamischer Daten (z. B. eingehende Kurse, Zeiten usw.).
Dynamische Arrays sollten nicht in Berechnungen verwendet werden.
Es ist also ganz einfach - ENTWEDER DU SCHREIBST - ODER DU RECHNEST !!!
Ich hoffe, das ist klar (!!!???)
Wenn es sich um Indikatoren handelt, dann sollten Indikatoren (im Allgemeinen!) berechnet werden. Aber in MT4/MT5 sehen wir das nicht!
Ich weiß nicht, ob es gut oder schlecht ist - ich werde es nicht beurteilen.
Die Standardindikatoren in MT4/MT5 sind alle dynamisch (wenn ich mich irre, lassen Sie mich korrigieren! Aber ich habe keine anderen gesehen).
Bevor Sie also Ihr Problem lösen, sollten Sie es formulieren.
Was wollen Sie AUFZEICHNEN oder EXAKT machen?
Und danach entscheiden Sie, welche Felder Sie haben möchten.
Ich hoffe, ich habe mich klar ausgedrückt.
Aber das ist nicht richtig.
Wer hindert Sie daran, ein dynamisches Array für Berechnungen zu verwenden? Die Größe eines dynamischen Arrays (wenn es sich NICHT um einen Indikatorpuffer handelt, der von einem Subsystem überwacht wird) muss von Ihnen selbst überwacht werden, und Sie können seine Größe bei Bedarf ändern. Aber ein statisches Array hat immer eine vordefinierte Größe - das hängt von der Aufgabe ab.
Wenn es sich um Indikatoren handelt, sollten die Indikatoren (im Allgemeinen!) berechnet werden. Aber in MT4/MT5 sehen wir das nicht!
Was ist das für ein unbegründeter Unsinn? Indikatoren tun in ihrer überwiegenden Mehrheit nichts anderes, als die notwendige und ausreichende Menge an berechneten Daten zu berechnen und anzuzeigen. Ständig, bei jedem Ticken.
Was sollen die ganzen Beschimpfungen? Aus Unwissenheit? Dann ist es besser zu schweigen. Dann werden die Leute sagen, sie hätten es im offiziellen MK-Forum gelesen. Erfinden Sie absichtlich eine Lüge?
Ich habe eine Variable in private
Ich versuche, damit in einer Klassenmethode zu arbeiten
sagt, dass die Variable nicht deklariert ist
???