Eine Frage für MQL-Kenner - Seite 5

 
Rita:

ObjectCreate(name, OBJ_TRIANGLE, WindowFind(WindowExpertName(), Time[-1],vertex1_price,

Zeit[-5],vertex2_price,

Zeit[-7],vertex3_price, );

//--------------------------------------------------------------------------------------------------------------------------

Ich habe die Koordinaten der Dreiecksknoten zeitlich festgelegt (z. B. nach dem Zeitpunkt der Öffnung der zukünftigen Balken). Der Rest ist für mich nicht ganz klar. Es ist nicht der Preis, der auf der Skala des Indikatorfensters angezeigt wird. Es ist die Abstufung der Indikatorwerte.

Ich muss ein Dreieck mit starr fixierten Oberseiten, unabhängig vom Preis, "setzen".

Und vorzugsweise sollte sie fest in der rechten (oder unteren) Ecke angebracht sein.

Und es ist mir nicht klar, wie man die Koordinaten der Scheitelpunkte - entlang der vertikalen Achse des Indikators Skala:


.... ... Keine Antwort von den Experten...

Offenbar muss ich berücksichtigen, dass es unmöglich ist, das Dreieck im Indikatorfenster mit MQL zu zeichnen.
 
Rita:
Offensichtlich müssen wir berücksichtigen, dass es unmöglich ist, mit MQL ein Dreieck im Indikatorfenster zu zeichnen.
Was war die ursprüngliche Aufgabe?
 

Die erste Aufgabe sieht folgendermaßen aus.

Mir wurde gesagt, ich solle das tun. Wenn die Preislinien der Indikatorinstrumente auf dem Null-Balken konvergieren,

d.h. abs. auf(Symbol1[0]-Symbol2[0]) < ( Symbol1[1] - Symbol2[1])

dann sollte das Dreieck mit dem rechten Winkel gezeichnet werden - siehe Abb.

Wenn die Linien auseinanderlaufen, liegt der Punkt links.

Ich habe die Bedingungen aufgeschrieben. Aber ich kann das Dreieck nicht zeichnen...

 

Der Preis sollte in Indikatoreinheiten und die Zeit wie üblich angegeben werden.

Sie ist jedoch weiterhin an das Diagramm und nicht an den Bildschirm gebunden.

Wenn es schwierig ist zu verstehen, welche Preiskoordinaten festgelegt werden sollen, ist der Algorithmus wie folgt:

Wenn der Indikator automatisch skaliert wird, legen wir die Anzahl der Balken im Fenster fest, berechnen das Minimum und Maximum der Indikatorwerte in diesem Intervall und verwenden sie als Basispunkte.

Wenn der Indikator einen festen Maßstab hat, werden die Koordinaten durch Konstanten festgelegt.

 
Rita:

Zeit ist ein Array, es hat keine negativen Elemente.

Die zukünftige Zeit kann wie folgt eingestellt werden: Time[0]+X*Period()*60.

Vertikal werden die Werte auf der Skala des Indikators eingestellt.

 

Ich verstehe. Ich danke Ihnen allen.

Es ist einfacher, "Konvergenz oder Divergenz" in Worte zu fassen, als sich mit einem Dreieck abzumühen ... -

 
Rita:

.... ... keine Antwort von den Experten...

Offenbar muss ich berücksichtigen, dass es unmöglich ist, mit MQL ein Dreieck im Indikatorfenster zu zeichnen.


Vielleicht sind die Pfeile besser

ObjectCreate("DevIM0", OBJ_ARROW, window, Time[0]+5500, 0);
ObjectSet("DevIM0", OBJPROP_ARROWCODE, 232);
ObjectSet("DevIM0", OBJPROP_WIDTH, 4);

 

ein Etikett in der Ecke in der Schriftart Wingdings 2 anbringen und sich nicht die Mühe machen...

 
Danke. Sie können auch die Pfeile ausprobieren.
 
Rita:
Ich danke Ihnen. Wir könnten auch die Pfeile ausprobieren.


ObjectCreate("DevIM0", OBJ_TRIANGLE, window, Time[0]+5500, 0,Time[0]+8500, 30,Time[0]+8500, -1*30);

Das Dreieck ist auch nicht schlecht.

Grund der Beschwerde: