MQL5 v1.43: Meldungen groesser (10->11 pt) und Zeilenabstand 2.0 -> 2.6

User: 'die meldungen sind eine schriftgroesse zu klein und ueberlagern sich im MT5'.

Zwei Aenderungen an derselben Stelle, weil beide Symptome dieselbe Ursache haben:
OBJPROP_FONTSIZE ist in PUNKT, nicht Pixel. 11 pt rendern je nach DPI 18-24 px
hoch - mit Faktor 2.0 (=22 px) beruehren sich zwei Zeilen bereits. Faktor 2.6
(=28 px bei 11 pt) traegt auch 125 % DPI.

⚠ Die Schriftgroesse zu erhoehen OHNE den Abstand mitzuziehen haette die
Ueberlagerung VERSCHLIMMERT - der Abstand haengt am Faktor, nicht am Absolutwert.

Kompiliert ins RICHTIGE Terminal (D0E8209F.., das mit sr_levels.csv - der
dokumentierte Fallstrick): 0 errors, 0 warnings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-19 18:53:05 +02:00
co-authored by Claude Opus 5
parent 444ed27ade
commit 1b5bdf98e4
+3 -3
View File
@@ -12,7 +12,7 @@
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
//+------------------------------------------------------------------+
#property copyright "Oil Trading Bot"
#property version "1.42"
#property version "1.43"
// v1.42 (2026-08-19): Y-Stapel oben rechts GEMESSEN statt geschaetzt. Der
// Faktor 1,8 aus v1.41 war nur die naechste Schaetzung; jetzt liefert
// TextGetSize die TATSAECHLICHE Pixelhoehe (LabelH). Ausserdem wird Y bei
@@ -261,7 +261,7 @@ input bool InpShowTradeLevels = true; // MT5-Positionslinien+Labels (st
// Dashboard-Karte „Meldungen". Der Bot deckelt auf 5; abschaltbar per ini
// (`[trading] export_meldungen=false`) ODER hier.
input bool InpShowMeldungen = true; // Meldungen oben links einblenden
input int InpMeldungSize = 10; // Schriftgroesse der Meldungen
input int InpMeldungSize = 11; // Schriftgroesse der Meldungen (v1.43: 10 -> 11, User "eine Groesse zu klein")
input int InpMeldungY = 24; // Startabstand von oben (zentriert -> MT5s Symbol-Zeile stoert nicht)
input color InpMeldungColor = clrGainsboro; // Farbe der Meldungen
// Zonen statt nackter Linien (User-Wunsch 2026-08-17). Die BREITE ist die echte
@@ -1043,7 +1043,7 @@ void Redraw()
ObjectSetInteger(0, mn, OBJPROP_XDISTANCE,
(int)ChartGetInteger(0, CHART_WIDTH_IN_PIXELS) / 2);
ObjectSetInteger(0, mn, OBJPROP_YDISTANCE,
InpMeldungY + msg_idx * (int)(InpMeldungSize * 2.0));
InpMeldungY + msg_idx * (int)(InpMeldungSize * 2.6));
ObjectSetString (0, mn, OBJPROP_TEXT, p[1]);
ObjectSetInteger(0, mn, OBJPROP_COLOR, InpMeldungColor);
msg_idx++;