Fehler, Irrtümer, Fragen - Seite 972

 
voix_kas:

Was ist für MT5 einfacher/schneller zu verarbeiten und anzuzeigen: 24*OBJ_LABELoder 1*OBJ_BITMAP_LABEL?

Es wird angenommen, dass24*TextOut auch inOBJ_BITMAP_LABEL eingegeben wird.

Das heißt, in Bezug auf die Leistung.

Vielleicht ist jemand an Informationen über die Leistung von grafischen Objekten interessiert...

Es wurde das folgende Ziel gesetzt. Leistungssteigerung durch Ersetzen von26*OBJ_LABELdurch 1*OBJ_BITMAP_LABEL.

Diese grafischen Objekte zeigen den aktuellen Zustand des Expert Advisors an. Es werden insgesamt 26 Etiketten verwendet, von denen 13 ständig mit neu berechneten Werten aktualisiert werden. D.h. die ersten 13 sind Beschreibungen von Parametern, die restlichen 13 sind ihre entsprechenden Werte.

Allgemeine Grundsätze der Arbeit mit Etiketten. Alle 26 Etiketten werden in OnInit() erstellt und ausgerichtet. In OnTick() werden nur 13 von ihnen aktualisiert (Text).

Allgemeine Grundsätze der Arbeit mit Bitmaps. Die Leinwandvorlage wird inOnInit() erstellt.Sie sollte alle 13 Elemente der Beschreibung enthalten. OnTick() kopiert die Canvas-Vorlage (uint-Array) in das Arbeits-Canvas-Array und fügt die restlichen 13 Wertelabels hinzu.

Was soll ich sagen? Eine Bitmap arbeitet (!) um eine Größenordnung langsamer als 26 herkömmliche Etiketten. Versucht, von OnTick()-Operation Kopieren von Vorlagen auf Arbeitsleinwand (Array uint 250*410), d.h. arbeiten auf einer Leinwand auszuschließen. Der Gewinn ist nur in Echtzeit spürbar. Im Testgerät ist es dasselbe, mit absoluter Produktivitätsverschlechterung. Es wurde der ModusCOLOR_FORMAT_ARGB_NORMALIZE verwendet, da die anderen Modi ein weniger ästhetisches Aussehen ergeben. Mit Blick auf die Zukunft sollte gesagt werden, dass die Arbeit auf einer Leinwand schwierig ist, weil man die Überlappung früherer Überlagerungen (klare Bereiche) verfolgen muss.

Was ist die Schlussfolgerung für mich?

Es hat zweiNachteile im Vergleich zuOBJ_BITMAP_LABEL: 1) die fehlende Möglichkeit, den Schriftstil zu ändern, 2) aus der Sicht des Programmierers ist es einfacher, ein Element (Bitmap) zu steuern als 26 Etiketten.

 

Können Sie mir sagen, wie ich ein von einem Experten erstelltes Objekt verschieben kann, so dass es aussieht, als wäre es normal erstellt worden?

Versucht

      result&=obj.SetInteger(OBJPROP_HIDDEN,true);
      result&=obj.SetInteger(OBJPROP_SELECTED,false);
      result&=obj.SetInteger(OBJPROP_SELECTABLE,true);
      result&=obj.SetInteger(OBJPROP_ZORDER,100);

In verschiedenen Varianten.

Wer auf Hilfe gestoßen ist.

 
vdv2001:

Können Sie mir sagen, wie ich ein von einem Experten erstelltes Objekt verschieben kann, so dass es aussieht, als wäre es normal erstellt worden?

Versucht

In verschiedenen Varianten.

Wer auf Hilfe gestoßen ist.

Die Eigenschaft OBJPROP_SELECTABLE ist verantwortlich für die Möglichkeit, das Objekt auszuwählen.
 
tol64:
Die Eigenschaft OBJPROP_SELECTABLE ist verantwortlich für die Möglichkeit, ein Objekt auszuwählen.

Ja, das Objekt ist ausgewählt, aber es kann nicht mit der Maus bewegt werden (wie in Terminal 4).

Oder aber das Verschieben aller von Expert Advisor erstellten Objekte muss über Ereignisse abgewickelt werden.

 
voix_kas:

Vielleicht ist ja jemand an Informationen über die Leistung von grafischen Objekten interessiert...


Respekt und Achtung!

 

Meine Herren, können Sie mir bitte sagen, was die Ursache für das Flackern des Indikators ist (DRAW_ZIGZAG-Plot blinktin Abständen ) und wie man dies beheben kann?

 
vdv2001:

Ja, das Objekt ist ausgewählt, aber es kann nicht mit der Maus bewegt werden (wie in Terminal 4).

Oder jetzt bewegen alle Objekte, die von Expert Advisor erstellt werden, müssen durch Ereignisse behandelt werden.

Die vom Expert Advisor erstellten Objekte sind markiert und können verschoben werden. Zeigen Sie, wie Sie es machen (kurzes Beispiel).
 
tol64:
Ich habe die vom Expert Advisor erstellten Objekte ausgewählt und kann sie verschieben. Zeigen Sie mir, wie Sie das machen (kurzes Beispiel).

Es gibt eine Eigenschaft des Objekts

OBJPROP_SELECTABLE

Verfügbarkeit der Objekte

bool

Standardmäßig ist sie für programmatisch erstellte Objekte auf false gesetzt

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
joo:
Wie stellen Sie bei der Optimierung fest, ob der vordere Teil jetzt ist oder nicht?
Nein
 
Rosh:

Es gibt eine Eigenschaft des Objekts

OBJPROP_SELECTABLE

Verfügbarkeit der Objekte

bool

Standardmäßig ist sie für programmatisch erstellte Objekte auf false gesetzt

Danke, das weiß ich. vdv2001 hat ein Problem damit:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

vdv2001, 2013.04.25 06:10

Ich habe nie versucht, sie mit einem anderen Gegenstand zu bewegen, aber ich habe auch noch nie eine solche Bewegung gesehen.

Oder es ist nun notwendig, die Bewegung aller vom Expert Advisor erstellten Objekte über Ereignisse zu steuern.

//---

Ich wollte sehen, wie er das macht, um seinen Fehler zu finden.


Grund der Beschwerde: