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
|
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,
|
CFD übertragbar sind, wird gerade gemessen (`analyze_bookflow.py` im HL-Projekt,
|
||||||
Datensammlung seit 2026-07-30, Urteil in ~2 Wochen). Der Indikator
|
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,
|
den PFEIL**, rechtsbündig am aktuellen Rand (in `RepositionLabels()` nachgeführt,
|
||||||
bleibt beim Scrollen rechts; Details im **Tooltip**) — Linie und Text-Label sind
|
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
|
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). |
|
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
||||||
//+------------------------------------------------------------------+
|
//+------------------------------------------------------------------+
|
||||||
#property copyright "Oil Trading Bot"
|
#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/
|
// v1.20 (2026-07-30): aktuelle KURSLINIE weiss (User-Vorgabe) — CHART_COLOR_BID/
|
||||||
// ASK/LAST auf InpThemeBidLine, Bid-Linie explizit eingeschaltet.
|
// ASK/LAST auf InpThemeBidLine, Bid-Linie explizit eingeschaltet.
|
||||||
// v1.19 (2026-07-30): Liquiditaetszone TRANSPARENT (User: „Transparenz der Zone
|
// 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 int InpLiqZoneAlpha = 10; // Deckkraft der Zonenfuellung in % (10 = sehr transparent)
|
||||||
input bool InpShowPrice = true; // aktuellen Kurs oben rechts anzeigen
|
input bool InpShowPrice = true; // aktuellen Kurs oben rechts anzeigen
|
||||||
input int InpPriceSize = 20; // Schriftgroesse des Kurses
|
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
|
input color InpPriceColor = C'230,237,243'; // Kurs-Farbe
|
||||||
// ── Chart-THEME (User-Vorgabe 2026-07-30 „Farben im MT5 wie im Bild") ────────
|
// ── 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
|
// Setzt beim Start die Chart-Eigenschaften auf die Dashboard-Palette, damit MT5
|
||||||
@@ -189,11 +194,20 @@ datetime CenterTime()
|
|||||||
return iTime(_Symbol, PERIOD_CURRENT, mid);
|
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()
|
void RepositionLabels()
|
||||||
{
|
{
|
||||||
datetime ct = CenterTime();
|
datetime ct = RightTime();
|
||||||
int total = ObjectsTotal(0, 0, OBJ_TEXT);
|
int total = ObjectsTotal(0, 0, OBJ_TEXT);
|
||||||
for(int i = 0; i < total; i++)
|
for(int i = 0; i < total; i++)
|
||||||
{
|
{
|
||||||
@@ -202,6 +216,8 @@ void RepositionLabels()
|
|||||||
{
|
{
|
||||||
double pr = ObjectGetDouble(0, nm, OBJPROP_PRICE);
|
double pr = ObjectGetDouble(0, nm, OBJPROP_PRICE);
|
||||||
ObjectMove(0, nm, 0, ct, pr);
|
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
|
// 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);
|
ObjectSetInteger(0, nm, OBJPROP_SELECTABLE, false);
|
||||||
ObjectSetString (0, nm, OBJPROP_TEXT, lbl); // Tooltip
|
ObjectSetString (0, nm, OBJPROP_TEXT, lbl); // Tooltip
|
||||||
}
|
}
|
||||||
// Beschriftung als eigenes Text-Objekt: horizontal ZENTRIERT im sicht-
|
// Beschriftung als eigenes Text-Objekt — RECHTSBÜNDIG am rechten Chart-
|
||||||
// baren Chart, direkt über der Linie (bleibt via RepositionLabels()
|
// Rand (User-Vorgabe 2026-07-30; vorher horizontal zentriert). Bleibt via
|
||||||
// auch beim Scrollen/Zoomen zentriert)
|
// 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);
|
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);
|
ObjectSetString (0, tn, OBJPROP_TEXT, lbl);
|
||||||
ObjectSetInteger(0, tn, OBJPROP_COLOR, col);
|
ObjectSetInteger(0, tn, OBJPROP_COLOR, col);
|
||||||
ObjectSetInteger(0, tn, OBJPROP_FONTSIZE, 8);
|
ObjectSetInteger(0, tn, OBJPROP_FONTSIZE, InpLabelSize);
|
||||||
ObjectSetInteger(0, tn, OBJPROP_ANCHOR, ANCHOR_LOWER); // zentriert über dem Punkt
|
ObjectSetInteger(0, tn, OBJPROP_ANCHOR, ANCHOR_RIGHT_LOWER);
|
||||||
ObjectSetInteger(0, tn, OBJPROP_BACK, false);
|
ObjectSetInteger(0, tn, OBJPROP_BACK, false);
|
||||||
ObjectSetInteger(0, tn, OBJPROP_SELECTABLE, false);
|
ObjectSetInteger(0, tn, OBJPROP_SELECTABLE, false);
|
||||||
}
|
}
|
||||||
@@ -591,7 +608,7 @@ void Redraw()
|
|||||||
{
|
{
|
||||||
ObjectSetString (0, tl, OBJPROP_TEXT, tt);
|
ObjectSetString (0, tl, OBJPROP_TEXT, tt);
|
||||||
ObjectSetInteger(0, tl, OBJPROP_COLOR, InpLiqTrendColor);
|
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_ANCHOR, ANCHOR_LOWER);
|
||||||
ObjectSetInteger(0, tl, OBJPROP_SELECTABLE, false);
|
ObjectSetInteger(0, tl, OBJPROP_SELECTABLE, false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user