Diskussion zum Artikel "Mehrfarbige Indikatoren in MQL5 - Erstellung und Anwendung"

 

Neuer Artikel Mehrfarbige Indikatoren in MQL5 - Erstellung und Anwendung :

In diesem Beitrag geht es um die Erstellung mehrfarbiger Indikatoren bzw. um die Umwandlung der vorhandenen in mehrfarbige. MQL5 ermöglicht die Darstellung der Informationen in der angemessenen Form. Es ist jetzt nicht nötig, sich dutzende Diagramme mit Indikatoren anzuschauen und Analysen der Oszillatoren RSI oder Stochastik durchzuführen, stattdessen ist es besser, die Kerzen einfach je nach Indikatorwert in unterschiedlichen Farben abzubilden.

RSI mehrfarbig

Autor: Дмитрий Александрович

 
Gut und ausführlich, vielen Dank. Ich fand es sehr nützlich.
 
Ich verstehe, dass auf mql4 Gradient auf Candlesticks nicht dargestellt werden kann?
 

omg, ich danke Ihnen für diese Zeile:

Die Pufferreihenfolge muss speziell sein: zuerst die Indikatordatenpuffer, dann die Farbindexpuffer.

Ich dachte, ich würde ein wenig verrückt werden, wenn ich versuche, 2 Farbplots zu zeichnen (ich ordnete die Puffer und es funktionierte reibungslos!)

Ich danke Ihnen!

 
Sehr gut, ich finde es sehr schwierig, mit Stochastic eine Färberegel zu erstellen. Haben Sie ein Beispiel?
 
Kommentare, die sich nicht auf dieses Thema beziehen, wurden in "Off Topic Posts" verschoben.
 

Guten Tag!

Ich bin auf ein Problem gestoßen, wenn ich mehrereZeichenstile gleichzeitig verwende. Zum Beispiel ist es notwendig, einen gemalten Kanal wie Bolingjder zu zeichnen und in der Mitte davon gibt es eine zentrale Linie. Hier ist ein Beispiel:

SetIndexBuffer(0, Buf1, INDICATOR_DATA);
SetIndexBuffer(1, Buf2, INDICATOR_DATA);

SetIndexBuffer(2, Buf3, INDICATOR_DATA);

PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_FILLING);

PlotIndexSetInteger(2, PLOT_DRAW_TYPE, DRAW_LINE);

Bei dieser Konstruktion wird nur der gezeichnete Kanal angezeigt. Wenn Sie die Reihenfolge ändern - erst die mittlere Linie und dann den gezeichneten Kanal verwenden - ist alles in Ordnung. Aber wir brauchen diese Reihenfolge, weil sie nur ein Teil des Indikators ist.

Wenn Sie DRAW_LINE anstelle von DRAW_FILLING verwenden , ist ebenfalls alles in Ordnung - es werden nur drei Linien gezeichnet - ein nicht gemalter Kanal und eine Linie in der Mitte.

Ich habe verschiedene Kombinationen, Sequenzen und Anzahl der Puffer, Zeichenpunkte und andere Dinge ausprobiert, nichts funktioniert. D.h. wenn es z.B. einen Puffer mit dem Zeichnungstyp DRAW_FILLING gibt , wird alles, was danach kommt, nicht angezeigt oder falsch gezeichnet. Ich werde für jede Hilfe dankbar sein, da ich nicht glaube, dass es unmöglich war, komplexe Indikatoren von verschiedenen Stilen zur gleichen Zeit zu zeichnen.


 
Ruslan Piraliyev SetIndexBuffer(1, Buf2, INDICATOR_DATA);

SetIndexBuffer(2, Buf3, INDICATOR_DATA);

PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_FILLING);

PlotIndexSetInteger(2, PLOT_DRAW_TYPE, DRAW_LINE);

Bei dieser Art des Plottens wird nur der gezeichnete Kanal angezeigt. Wenn Sie die Reihenfolge ändern - zuerst die mittlere Linie und dann den gezeichneten Kanal verwenden - ist alles in Ordnung. Aber wir brauchen diese Reihenfolge, weil sie nur ein Teil des Indikators ist.

Wenn Sie DRAW_LINE anstelle von DRAW_FILLING verwenden , ist ebenfalls alles in Ordnung - es werden nur drei Linien gezeichnet - ein nicht gemalter Kanal und eine Linie in der Mitte.

Ich habe verschiedene Kombinationen, Sequenzen und Anzahl der Puffer, Zeichenpunkte und andere Dinge ausprobiert, nichts funktioniert. D.h. wenn es z.B. einen Puffer mit dem Zeichnungstyp DRAW_FILLING gibt , wird alles, was danach kommt, nicht angezeigt oder falsch gezeichnet. Ich werde für jede Hilfe dankbar sein, da ich nicht glaube, dass es unmöglich war, komplexe Indikatoren von verschiedenen Stilen zur gleichen Zeit zu zeichnen.


Der Pufferindex sollte nicht mit dem Konstruktionsindex übereinstimmen. Sie haben ihre eigene Indikation. Versuchen Sie PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_LINE);

 
Alexey Viktorov #:

Der Pufferindex darf nicht mit dem Konstruktionsindex identisch sein. Sie haben ihre eigene Angabe. Versuchen Sie PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_LINE);

Vielen Dank!!! Es hat funktioniert und alles hat sofort geklappt).

Ich hätte nicht gedacht, dass sie unterschiedliche Indizierungen haben. Es stellt sich heraus, dass die Bindung von Puffern an den Zeichenpunkt so funktioniert, wie es scheint.

 
Alexey Viktorov #:

Der Pufferindex darf nicht mit dem Konstruktionsindex identisch sein. Sie haben ihre eigene Angabe. Versuchen Sie PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_LINE);

Können Sie mir noch etwas sagen? Kann ich die Reihenfolge der Zeilen so ändern, dass die gewünschte Zeile oben steht? Oder geht es nur um die Reihenfolge der Deklaration von Puffern? Ich wollte zum Beispiel, dass der 0-te Puffer der Hauptzeile entspricht und der Füllkanal am Ende steht, aber er überlappt alle). Dies ist praktisch, weil ich plane, den Indikator im Expert Advisor zu verwenden, um Daten bequem abrufen zu können.

 
Ruslan Piraliyev #:

Können Sie mir noch etwas sagen? Können Sie die Reihenfolge der Zeilen so ändern, dass die erforderliche Zeile oben steht? Oder geht es nur um die Reihenfolge der Pufferdeklaration? Zum Beispiel wollte ich, dass der 0-te Puffer der Hauptlinie entspricht, und der Füllkanal war am Ende, aber er überlappt alle). Dies ist praktisch, weil ich plane, den Indikator im Expert Advisor zu verwenden, um Daten bequem abrufen zu können.

Ich verstehe das alles nicht. Und welchen Unterschied macht es, welche Nummer des Puffers in den Expert Advisor zu ziehen?