Fragen von einem "Dummy" - Seite 31

 
Interesting:
Wenn die Werte korrekt sind, wird es im normalen Modus gezeichnet. Im Rendermodus wird es wahrscheinlich Probleme mit BMP-Grafiken geben (ich bin mir zu 90% sicher).
Am Wochenende habe ich nur mit Objekten herumgespielt. Wenn nicht alles explizit und eindeutig spezifiziert ist, beginnt man zu stolpern - keine Objekte und keine Fehler.
 
Silent:

Initialisierung - innerhalb der Funktion, Werte - von global? Hm.

Aus der Hilfe, zum Vergleich

Du nimmst das, was in der Hilfe steht, sehr wörtlich. )) Initialisierung innerhalb der Funktion für lokale Variablen. Ich hingegen habe sie global initialisiert.
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
Silent:
Ich habe am Wochenende mit Objekten herumgespielt. Wenn man nicht alles explizit und eindeutig angibt, fängt es an zu stocken - keine Objekte und keine Fehler.
Haben Sie es geschafft, BMP-Objekte im Visualisierungsmodus des Testers anzuzeigen oder nicht, ich verstehe es immer noch nicht? Außerhalb des Prüfgeräts gibt es damit keine Probleme.
 
tol64:
Du nimmst das, was in der Hilfe steht, sehr wörtlich. )) Initialisierung innerhalb der Funktion für lokale Variablen. Ich habe sie global initialisiert.

D.h. es werden globale Werte verwendet, wenn die Namen übereinstimmen? Ist das richtig?

PS fügen Sie jedoch am Ende eine Umzeichnung hinzu.

 
tol64:
Haben Sie es geschafft, BMP-Objekte im Visualisierungsmodus des Testers anzuzeigen oder nicht, ich verstehe es immer noch nicht? Außerhalb des Prüfgeräts gibt es damit keine Probleme.
Antwort auf die obige Frage: Ich habe es noch nicht ausprobiert, ich bin noch nicht so weit. Ich habe gerade etwas in dem Code gesehen, mit dem ich nicht einmal Objekte gezeichnet habe, was bpm.
 
Silent:

D.h. es werden globale Werte verwendet, wenn die Namen übereinstimmen? Ist das richtig?

PS Fügen Sie jedoch am Ende eine Umzeichnung hinzu.

ChartRedraw(); an den richtigen Stellen in den Funktionen OnInit(), OnChartEvent() und OnTick() gesetzt. Ich habe keine zufälligen Namen.))
 
Silent:
Am Wochenende habe ich nur mit Gegenständen herumgespielt. Wenn nicht alles explizit und eindeutig spezifiziert ist, beginnt es zu stocken - keine Objekte und keine Fehler.
Die ursprüngliche Frage bezog sich nicht auf die Möglichkeit, grafische Objekte anzuzeigen, sondern auf die Tatsache, dass dies im normalen Modus möglich ist, nicht aber im Visualisierungsmodus.
Stumm:

Initialisierung - innerhalb der Funktion, Werte - von global? Hm.

Aus der Hilfe, zum Vergleich

Wenn man eine Funktion separat betrachtet, ist sie nur eine Funktion. Die zum Beispiel in eine Bibliothek gestopft und von jedem Ort aus bearbeitet werden können.

Aber das Beispiel aus der Hilfe zeigt das Rendern eines Objekts durch ein Skript.

PS

Was die Funktion selbst betrifft, so fehlt meiner Meinung nach die Überprüfung der Parameter auf Korrektheit (natürlich ist das die persönliche Meinung des Entwicklers).

Außerdem würde ich den Typ bool und nicht void wählen (mit Fehlerbehandlung bei der Objekterzeugung).

 
Interesting:

Was die Funktion selbst betrifft, so fehlt meiner Meinung nach die Überprüfung der Parameter auf ihre Korrektheit (im Prinzip ist das natürlich Sache des Entwicklers)

Das ist ein gutes Argument. Ich bin gerade noch dabei, mql4/mql5 zu studieren und werde den Code verbessern, wenn ich tiefer in diese Umgebung einsteige)). Oder bis mich eine Harke trifft)).
 
tol64:
ChartRedraw(); an den richtigen Stellen in den Befehlen OnInit(), OnChartEvent() und OnTick() gesetzt. Ich habe keine Namensübereinstimmungen.)

Es werden also auch keine Werte zugewiesen.

void Create_BMP_Label(long   chart_id,  // id графика
                      string bmp_nm,    // имя объекта
                      string bmp_path,  // путь к обекту
                      long   anchor,    // точка привязки инициализировали
                      long   corner,    // угол привязки
                      int    x_dist,    // координата по шкале X
                      int    y_dist)    // координата по шкале Y
  {
   ObjectCreate(chart_id,bmp_nm,OBJ_BITMAP_LABEL,0,0,0);          // создание объекта
   ObjectSetString(chart_id,bmp_nm,OBJPROP_BMPFILE,0,bmp_path);   // BMP файл
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_ANCHOR,anchor);       // установка точки привязки использовали, а где взяли значение?
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_CORNER,corner);       // установка угола привязки
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_XDISTANCE,x_dist);    // установка координаты X
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_YDISTANCE,y_dist);    // установка координаты Y
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_SELECTABLE,false);    // нельзя выделить объект, если FALSE
   ObjectSetString(chart_id,bmp_nm,OBJPROP_TOOLTIP,"\n");         // нет всплывающей подсказки, если "\n"
  }
 
Silent:

Es werden also auch keine Werte zugewiesen. Woher haben Sie den Wert?

Ich übergebe diese Objekteigenschaften explizit (ANCHOR_RIGHT_UPPER, CORNER_RIGHT_UPPER):
Create_BMP_Label(0,TI_bmp_nm,TI_bmp_pth,ANCHOR_RIGHT_UPPER,CORNER_RIGHT_UPPER,x,y);
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5