Meldungen oben links neu positioniert (Indikator v1.39)
User: die Anzeigetexte oben links ueberlagern sich. Zwei Fehler im alten
'16 + i*(size+6)':
(1) START zu hoch -- MT5 zeichnet oben links SELBST die Symbol-/Zeitrahmen-
Zeile; y=16 landete mitten darin. Beleg: es ueberlagerte sich, obwohl nur
EINE MS-Zeile aktiv war -- es konnten also gar nicht zwei Meldungen sein.
(2) ABSTAND zu knapp -- OBJPROP_FONTSIZE ist PUNKT, nicht Pixel; 10 pt rendern
je nach DPI 16-20 px. Bei 16 px Zeilenabstand ueberlappen mehrere
Meldungen zwangslaeufig.
Jetzt Startabstand ueber InpMeldungY (40) und Zeilenabstand Faktor 2,0.
Kompiliert ins richtige Terminal: 0 errors, 0 warnings.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
adcae09317
commit
046d9c6948
+20
-2
@@ -12,7 +12,13 @@
|
|||||||
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
||||||
//+------------------------------------------------------------------+
|
//+------------------------------------------------------------------+
|
||||||
#property copyright "Oil Trading Bot"
|
#property copyright "Oil Trading Bot"
|
||||||
#property version "1.38"
|
#property version "1.39"
|
||||||
|
// v1.39 (2026-08-19): MELDUNGEN oben links neu positioniert (User: "die
|
||||||
|
// Anzeigetexte ueberlagern sich"). Zwei Fehler: der Start lag bei y=16
|
||||||
|
// und damit in MT5s EIGENER Symbol-/OHLC-Zeile, und der Zeilenabstand
|
||||||
|
// rechnete FONTSIZE wie Pixel -- es ist aber PUNKT (10 pt = 16-20 px je
|
||||||
|
// nach DPI). Jetzt Startabstand ueber InpMeldungY (40) und Abstand
|
||||||
|
// Faktor 2,0 der Schriftgroesse.
|
||||||
// v1.38 (2026-08-17): Beschriftung der KONSOLIDIERUNGS-BOX entfernt (User-Wunsch).
|
// v1.38 (2026-08-17): Beschriftung der KONSOLIDIERUNGS-BOX entfernt (User-Wunsch).
|
||||||
// Sie kam in v1.30 auf die Frage "was bedeutet die graue Box" und stand
|
// Sie kam in v1.30 auf die Frage "was bedeutet die graue Box" und stand
|
||||||
// seither dauerhaft im Chart. Der erklaerende Text bleibt als TOOLTIP an
|
// seither dauerhaft im Chart. Der erklaerende Text bleibt als TOOLTIP an
|
||||||
@@ -239,6 +245,7 @@ input bool InpShowTradeLevels = true; // MT5-Positionslinien+Labels (st
|
|||||||
// (`[trading] export_meldungen=false`) ODER hier.
|
// (`[trading] export_meldungen=false`) ODER hier.
|
||||||
input bool InpShowMeldungen = true; // Meldungen oben links einblenden
|
input bool InpShowMeldungen = true; // Meldungen oben links einblenden
|
||||||
input int InpMeldungSize = 10; // Schriftgroesse der Meldungen
|
input int InpMeldungSize = 10; // Schriftgroesse der Meldungen
|
||||||
|
input int InpMeldungY = 40; // Startabstand von oben (unter MT5s eigener Symbol-Zeile)
|
||||||
input color InpMeldungColor = clrGainsboro; // Farbe der Meldungen
|
input color InpMeldungColor = clrGainsboro; // Farbe der Meldungen
|
||||||
// Zonen statt nackter Linien (User-Wunsch 2026-08-17). Die BREITE ist die echte
|
// Zonen statt nackter Linien (User-Wunsch 2026-08-17). Die BREITE ist die echte
|
||||||
// Spanne der Pivots im Cluster — NICHT Fibonacci (im Projekt gemessen und
|
// Spanne der Pivots im Cluster — NICHT Fibonacci (im Projekt gemessen und
|
||||||
@@ -968,8 +975,19 @@ void Redraw()
|
|||||||
ObjectSetInteger(0, mn, OBJPROP_SELECTABLE, false);
|
ObjectSetInteger(0, mn, OBJPROP_SELECTABLE, false);
|
||||||
ObjectSetInteger(0, mn, OBJPROP_BACK, false);
|
ObjectSetInteger(0, mn, OBJPROP_BACK, false);
|
||||||
}
|
}
|
||||||
|
// ⚠⚠ POSITION KORRIGIERT (User 2026-08-19: „die Anzeigetexte oben links
|
||||||
|
// ueberlagern sich"). ZWEI Fehler steckten im alten `16 + i*(size+6)`:
|
||||||
|
// (1) START zu hoch: MT5 zeichnet oben links SELBST die Symbol-/
|
||||||
|
// Zeitrahmen-Beschriftung ("SpotCrude,M5") und ggf. die
|
||||||
|
// OHLC-Zeile. y=16 landete mitten darin. Der Beleg war, dass sich
|
||||||
|
// etwas ueberlagerte, obwohl nur EINE MS-Zeile aktiv war — es
|
||||||
|
// konnten also gar nicht zwei Meldungen sein.
|
||||||
|
// (2) ABSTAND zu knapp: `OBJPROP_FONTSIZE` ist in PUNKT, nicht Pixel.
|
||||||
|
// 10 pt rendern je nach DPI-Skalierung 16-20 px hoch — bei 16 px
|
||||||
|
// Zeilenabstand ueberlappen mehrere Meldungen zwangslaeufig.
|
||||||
|
// Jetzt Faktor 2,0 (10 pt -> 20 px), das traegt auch 125 % DPI.
|
||||||
ObjectSetInteger(0, mn, OBJPROP_YDISTANCE,
|
ObjectSetInteger(0, mn, OBJPROP_YDISTANCE,
|
||||||
16 + msg_idx * (InpMeldungSize + 6));
|
InpMeldungY + msg_idx * (int)(InpMeldungSize * 2.0));
|
||||||
ObjectSetString (0, mn, OBJPROP_TEXT, p[1]);
|
ObjectSetString (0, mn, OBJPROP_TEXT, p[1]);
|
||||||
ObjectSetInteger(0, mn, OBJPROP_COLOR, InpMeldungColor);
|
ObjectSetInteger(0, mn, OBJPROP_COLOR, InpMeldungColor);
|
||||||
msg_idx++;
|
msg_idx++;
|
||||||
|
|||||||
Reference in New Issue
Block a user