Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1285

 
Vitaly Muzichenko:

Das habe ich:

Der Unterschied ist unbedeutend und auch akzeptabel. Aber wenn der Benutzer beschließt, die Dicke oder die Farbe zu ändern, müssen sie in den Eingabeparametern festgelegt werden, da sie Variablen haben, Ihr Code wird sie nicht ändern, ohne den Trend zu entfernen.

Im Allgemeinen gibt es keinen Grund, über den Geschmack der Marker zu streiten.

 
Alexey Viktorov:

Völlig falsche Entscheidung. Das Löschen eines grafischen Objekts und das Aktualisieren eines Diagramms ersetzen sich in keiner Weise gegenseitig.

In meinem Beispiel prüfen wir zunächst, ob es ein Objekt gibt, insbesondere einen Trend mit dem Namen tfyu, der im russischen Tastaturlayout heißt)). Wenn sie nicht vorhanden ist, wird der Trend eingezeichnet. Ist der Zeichenversuch erfolglos, wird die Meldung angezeigt und die Funktion mit return false beendet.

Alles, was danach kommt, unabhängig davon, ob der Trend bereits vorhanden ist oder gerade gezeichnet wurde, wird mit den angegebenen Parametern, Zeit- und Koordinatenpreisen, Typ, Dicke und allem, was Sie sonst noch hinzufügen können, versehen. Danach wird das Diagramm aktualisiert und die Funktion gibt true zurück.

Im Hinblick auf die Ausführungsgeschwindigkeit ist es weniger kostspielig, das Vorhandensein des Trends zu prüfen, als ihn zu löschen und einen neuen zu zeichnen.

Aber... die endgültige Entscheidung liegt bei dir, und wenn du dich gerne mit dem rechten kleinen Finger am linken Ohr kratzt, habe ich kein Recht, dich davon abzuhalten.

Ich danke Ihnen vielmals. Ich werde Ihren Rat befolgen und den Code überarbeiten.

 
Vitaly Muzichenko:

Das bin ich:

Ich danke Ihnen vielmals. Ich werde den Code überarbeiten. Ich habe es bereits neu gemacht, es ist alles in Ordnung.

 
string obj_symbol=ObjectGetString(ChartID(),obj_name,OBJPROP_SYMBOL);

Funktioniert es überhaupt nicht? Gibt es einen Objektcharakter für jemanden? Ich erhalte immer eine leere Zeichenfolge.

Oder muss diese Eigenschaft erst gesetzt werden...?

 
leonerd:

Funktioniert es überhaupt nicht? Gibt es einen Objektcharakter für jemanden? Ich erhalte immer eine leere Zeichenfolge.

Oder muss diese Eigenschaft erst gesetzt werden...?

Es handelt sich um eine spezifische Eigenschaft - für ein "Chart"-Objekt gibt sie ein Symbol zurück. Und für welche Art von Objekt möchten Sie ein Symbol erhalten?

 
Vladimir Karputov:

Dies ist eine spezifische Eigenschaft - für ein "Chart"-Objekt gibt sie ein Symbol zurück. Und für welche Art von Objekt möchten Sie ein Symbol erhalten?

Für ein Dreieck. Woher kennen Sie das "Symbol"?

 
leonerd:

für ein Dreieck. Woher kennen Sie das "Symbol"?

Wie meinen Sie das? Wie lautet das Symbol für das Dreiecksobjekt?

 
Vladimir Karputov:

Wie meinen Sie das? Wie lautet das Symbol für das Objekt "Dreieck"?

Woher wissen Sie, auf welcher Symbolkarte das Dreiecksobjekt erstellt wurde?

Zum Beispiel in OnChartEvent(). Oder woher wissen Sie in der Liste der Objekte, wenn Sie die Liste durchgehen, auf welcher Symbolkarte das Objekt gezeichnet ist?

 
leonerd:

Woher weiß ich, auf welcher Symbolkarte das Dreiecksobjekt erstellt wurde?

Zum Beispiel in OnChartEvent(). Oder wie kann man in der Liste der Objekte herausfinden, auf welcher Symboltafel das Objekt gezeichnet ist, wenn man die Liste durchgeht?

OnChartEvent wird nur für das aktuelle Symbol ausgelöst - in diesem Fall ist es sinnlos, das Symbol zu erkennen: es ist immer positioniert.

Die zweite Möglichkeit ist, die Liste aller Diagramme zu umgehen - ObjectFind.

 
Vladimir Karputov:

OnChartEvent wird ohnehin nur für das aktuelle Symbol ausgelöst - in diesem Fall macht es keinen Sinn, das Symbol zu erkennen: Es wird immer platziert.

Die zweite Möglichkeit ist, die Liste aller Diagramme zu umgehen - ObjectFind.

OK, danke

Grund der Beschwerde: