MQL5 v1.21: Beschriftungen rechtsbuendig + 4px groesser
User-Vorgaben: Beschriftung aller Linien rechtsbuendig, Schrift 4 Pixel groesser. - Neue Hilfsfunktion RightTime() (rechter Chart-Rand im Shift-Bereich); die S/R-Labels werden dort erzeugt UND von RepositionLabels() dort gehalten (vorher zentriert via CenterTime). - ANCHOR_RIGHT_LOWER: der Text ENDET am Anker und laeuft nach links -> ragt nicht ueber den Chartrand hinaus. - Schriftgroesse 8 -> 12 (+4), einstellbar via InpLabelSize; gilt auch fuer das (per Default ausgeblendete) Trendlinien-Label. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
6d279e0886
commit
e40e962db4
@@ -1202,7 +1202,7 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
Daten älter als 60 s werden verworfen. **REINE ANZEIGE** — ob HL-Buch-Signale auf den
|
||||
CFD übertragbar sind, wird gerade gemessen (`analyze_bookflow.py` im HL-Projekt,
|
||||
Datensammlung seit 2026-07-30, Urteil in ~2 Wochen). Der Indikator
|
||||
**`mql5/SR_Levels.mq5`** (**v1.20** — `LQ`-Handler zeichnet seit v1.14 **nur noch
|
||||
**`mql5/SR_Levels.mq5`** (**v1.21** — `LQ`-Handler zeichnet seit v1.14 **nur noch
|
||||
den PFEIL**, rechtsbündig am aktuellen Rand (in `RepositionLabels()` nachgeführt,
|
||||
bleibt beim Scrollen rechts; Details im **Tooltip**) — Linie und Text-Label sind
|
||||
auf User-Wunsch raus („Chart zu voll"). **v1.15 = CHART-THEME** (User „Farben im
|
||||
|
||||
+27
-10
@@ -12,7 +12,11 @@
|
||||
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
||||
//+------------------------------------------------------------------+
|
||||
#property copyright "Oil Trading Bot"
|
||||
#property version "1.20"
|
||||
#property version "1.21"
|
||||
// v1.21 (2026-07-30): Beschriftungen aller Linien RECHTSBUENDIG am rechten
|
||||
// Chart-Rand (vorher zentriert; ANCHOR_RIGHT_LOWER -> Text endet am Anker,
|
||||
// laeuft nach links, ragt nicht raus) + Schriftgroesse 8 -> 12 (+4 px,
|
||||
// User-Wunsch). Neu einstellbar via InpLabelSize.
|
||||
// v1.20 (2026-07-30): aktuelle KURSLINIE weiss (User-Vorgabe) — CHART_COLOR_BID/
|
||||
// ASK/LAST auf InpThemeBidLine, Bid-Linie explizit eingeschaltet.
|
||||
// v1.19 (2026-07-30): Liquiditaetszone TRANSPARENT (User: „Transparenz der Zone
|
||||
@@ -86,6 +90,7 @@ input color InpLiqZoneColor = C'245,158,11'; // Zonen-Grundfarbe (Gold #F59E0B
|
||||
input int InpLiqZoneAlpha = 10; // Deckkraft der Zonenfuellung in % (10 = sehr transparent)
|
||||
input bool InpShowPrice = true; // aktuellen Kurs oben rechts anzeigen
|
||||
input int InpPriceSize = 20; // Schriftgroesse des Kurses
|
||||
input int InpLabelSize = 12; // Schriftgroesse der Linien-Beschriftungen (+4 per User-Wunsch)
|
||||
input color InpPriceColor = C'230,237,243'; // Kurs-Farbe
|
||||
// ── Chart-THEME (User-Vorgabe 2026-07-30 „Farben im MT5 wie im Bild") ────────
|
||||
// Setzt beim Start die Chart-Eigenschaften auf die Dashboard-Palette, damit MT5
|
||||
@@ -189,11 +194,20 @@ datetime CenterTime()
|
||||
return iTime(_Symbol, PERIOD_CURRENT, mid);
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//| Hält die S/R-Beschriftungen beim Scrollen/Zoomen mittig |
|
||||
//| Zeitpunkt am RECHTEN Chart-Rand (im Shift-Bereich hinter der |
|
||||
//| letzten Kerze) — dort sitzen ALLE Beschriftungen (User-Vorgabe |
|
||||
//| 2026-07-30 „Beschriftung aller Linien bitte rechtsbündig"). |
|
||||
//+------------------------------------------------------------------+
|
||||
datetime RightTime()
|
||||
{
|
||||
return iTime(_Symbol, PERIOD_CURRENT, 0) + (datetime)(PeriodSeconds() * 2);
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//| Hält die Beschriftungen beim Scrollen/Zoomen am rechten Rand |
|
||||
//+------------------------------------------------------------------+
|
||||
void RepositionLabels()
|
||||
{
|
||||
datetime ct = CenterTime();
|
||||
datetime ct = RightTime();
|
||||
int total = ObjectsTotal(0, 0, OBJ_TEXT);
|
||||
for(int i = 0; i < total; i++)
|
||||
{
|
||||
@@ -202,6 +216,8 @@ void RepositionLabels()
|
||||
{
|
||||
double pr = ObjectGetDouble(0, nm, OBJPROP_PRICE);
|
||||
ObjectMove(0, nm, 0, ct, pr);
|
||||
// rechtsbündig = Text endet am Anker und läuft nach LINKS
|
||||
ObjectSetInteger(0, nm, OBJPROP_ANCHOR, ANCHOR_RIGHT_LOWER);
|
||||
}
|
||||
}
|
||||
// Liquiditäts-PFEILE rechtsbündig halten: die CSV ändert sich nicht bei jedem
|
||||
@@ -339,16 +355,17 @@ void Redraw()
|
||||
ObjectSetInteger(0, nm, OBJPROP_SELECTABLE, false);
|
||||
ObjectSetString (0, nm, OBJPROP_TEXT, lbl); // Tooltip
|
||||
}
|
||||
// Beschriftung als eigenes Text-Objekt: horizontal ZENTRIERT im sicht-
|
||||
// baren Chart, direkt über der Linie (bleibt via RepositionLabels()
|
||||
// auch beim Scrollen/Zoomen zentriert)
|
||||
// Beschriftung als eigenes Text-Objekt — RECHTSBÜNDIG am rechten Chart-
|
||||
// Rand (User-Vorgabe 2026-07-30; vorher horizontal zentriert). Bleibt via
|
||||
// RepositionLabels() beim Scrollen/Zoomen dort. ANCHOR_RIGHT_LOWER: der
|
||||
// Text ENDET am Anker und läuft nach links → ragt nicht aus dem Chart.
|
||||
string tn = PFX + "T" + typ + "_" + IntegerToString(idx);
|
||||
if(ObjectCreate(0, tn, OBJ_TEXT, 0, CenterTime(), price))
|
||||
if(ObjectCreate(0, tn, OBJ_TEXT, 0, RightTime(), price))
|
||||
{
|
||||
ObjectSetString (0, tn, OBJPROP_TEXT, lbl);
|
||||
ObjectSetInteger(0, tn, OBJPROP_COLOR, col);
|
||||
ObjectSetInteger(0, tn, OBJPROP_FONTSIZE, 8);
|
||||
ObjectSetInteger(0, tn, OBJPROP_ANCHOR, ANCHOR_LOWER); // zentriert über dem Punkt
|
||||
ObjectSetInteger(0, tn, OBJPROP_FONTSIZE, InpLabelSize);
|
||||
ObjectSetInteger(0, tn, OBJPROP_ANCHOR, ANCHOR_RIGHT_LOWER);
|
||||
ObjectSetInteger(0, tn, OBJPROP_BACK, false);
|
||||
ObjectSetInteger(0, tn, OBJPROP_SELECTABLE, false);
|
||||
}
|
||||
@@ -591,7 +608,7 @@ void Redraw()
|
||||
{
|
||||
ObjectSetString (0, tl, OBJPROP_TEXT, tt);
|
||||
ObjectSetInteger(0, tl, OBJPROP_COLOR, InpLiqTrendColor);
|
||||
ObjectSetInteger(0, tl, OBJPROP_FONTSIZE, 9);
|
||||
ObjectSetInteger(0, tl, OBJPROP_FONTSIZE, InpLabelSize);
|
||||
ObjectSetInteger(0, tl, OBJPROP_ANCHOR, ANCHOR_LOWER);
|
||||
ObjectSetInteger(0, tl, OBJPROP_SELECTABLE, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user