MQL5 v1.15: Chart-Theme wie im Dashboard (User-Vorgabe mit Referenzbild)
ApplyTheme() setzt beim Indikator-Start die Chart-Eigenschaften auf die Dashboard-Palette: Bull #3B82F6 (blau) - Bear #EF4444 (rot) - BG #0D1117 Gitter #10151C (dezent) - Text #8B949E - Kerzen gefuellt (CHART_CANDLES) Liquiditaets-Pfeile Gold #F59E0B (= "Liquiditaetszone" der Legende) Periodentrenner aus, Bid/Ask in Bull/Bear-Farbe. Abschaltbar via InpApplyTheme, alle Farben einzeln als Inputs ueberschreibbar. WARNUNG dokumentiert: aendert das Chart dauerhaft (bleibt nach Entfernen des Indikators bestehen). Kompiliert. CLAUDE.md aktualisiert (Indikator-Stand v1.12 -> v1.15, inkl. der v1.14-Umstellung auf "nur Pfeile rechtsbuendig"). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
a9908cf0fb
commit
b75997d703
@@ -1202,9 +1202,18 @@ 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.12** — `LQ`-Handler: dick gestrichelt + Größen-Label
|
||||
„Liquidität NACHFRAGE/ANGEBOT <kontrakte>", `InpShowWalls`/`InpWallBidColor`/
|
||||
`InpWallAskColor`; PT-Handler entfernt; in `MQL5\Indicators\`, **braucht
|
||||
**`mql5/SR_Levels.mq5`** (**v1.15** — `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
|
||||
MT5 wie im Bild"): `ApplyTheme()` setzt beim Start Hintergrund/Gitter/Kerzenfarben
|
||||
auf die Dashboard-Palette — Bull **#3B82F6**, Bear **#EF4444**, BG **#0D1117**,
|
||||
Gitter **#10151C** (dezent), Text #8B949E; Liquiditäts-Pfeile **Gold #F59E0B**
|
||||
(= „Liquiditätszone" der Legende). ⚠ Das ändert das Chart **dauerhaft** (bleibt
|
||||
auch nach Entfernen des Indikators) → `InpApplyTheme=false` schaltet es ab, alle
|
||||
Farben sind einzeln als Inputs überschreibbar. Schalter: `InpShowWalls`/
|
||||
`InpWallBidColor`/`InpWallAskColor`/`InpShowLiqTrend`/`InpLiqTrendColor`;
|
||||
PT-Handler entfernt; in `MQL5\Indicators\`, **braucht
|
||||
`OnCalculate` als No-op** sonst Compile-Error, F7-kompilieren, auf den Chart ziehen)
|
||||
liest die S/R-Linien per Timer (OBJ_HLINE) UND den **M30-Regressionskanal als 3
|
||||
diagonale Trendlinien** (OBJ_TREND, nach rechts verlängert, oben/unten gestrichelt/
|
||||
|
||||
+47
-3
@@ -12,7 +12,12 @@
|
||||
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
||||
//+------------------------------------------------------------------+
|
||||
#property copyright "Oil Trading Bot"
|
||||
#property version "1.14"
|
||||
#property version "1.15"
|
||||
// v1.15 (2026-07-30): CHART-THEME (User: „Farben im MT5 wie im Bild") — setzt beim
|
||||
// Start Hintergrund/Gitter/Kerzenfarben auf die Dashboard-Palette
|
||||
// (Bull #3B82F6, Bear #EF4444, BG #0D1117, Gitter #10151C dezent).
|
||||
// Liquiditäts-Pfeile jetzt GOLD #F59E0B (= „Liquiditätszone" der Legende).
|
||||
// Abschaltbar via InpApplyTheme. ⚠ ändert das Chart dauerhaft.
|
||||
// v1.14 (2026-07-30): Liquiditäts-LINIEN + Text-Labels ENTFERNT (User: „blende die
|
||||
// liquiditätslinien aus, nur die Pfeile sollen rechtsbündig angezeigt werden").
|
||||
// Es bleibt NUR der Pfeil auf dem Wand-Preis, RECHTSBÜNDIG am aktuellen Rand
|
||||
@@ -47,10 +52,23 @@ input bool InpRangeFill = false; // Range füllen (aus = nur Umris
|
||||
input bool InpShowChannel = true; // Regressionskanal (M30) zeichnen
|
||||
input color InpChanColor = clrYellow; // Kanal-Farbe
|
||||
input bool InpShowWalls = true; // echte Liquiditäts-Wände (Hyperliquid-Orderbuch)
|
||||
input color InpWallBidColor = clrMediumSpringGreen; // Nachfrage-Wand (Bid, Käufer)
|
||||
input color InpWallAskColor = clrOrangeRed; // Angebots-Wand (Ask, Verkäufer)
|
||||
input color InpWallBidColor = C'245,158,11'; // Liquidität Nachfrage (Bid) — Gold
|
||||
input color InpWallAskColor = C'245,158,11'; // Liquidität Angebot (Ask) — Gold
|
||||
input bool InpShowLiqTrend = true; // Liquiditäts-Trendlinie zeichnen
|
||||
input color InpLiqTrendColor = clrMagenta; // Liquiditäts-Trend (pink)
|
||||
// ── 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
|
||||
// und die PWA gleich aussehen. Farben in MQL5-Notation C'R,G,B'.
|
||||
// Bullish #3B82F6 · Bearish #EF4444 · Liquidität #F59E0B · Entry/Target #22C55E
|
||||
// Hintergrund #0D1117 · Gitter #10151C (sehr dezent) · Text #8B949E
|
||||
// ⚠ Ändert das Chart dauerhaft (bleibt auch nach Entfernen des Indikators) —
|
||||
// deshalb per Schalter abschaltbar.
|
||||
input bool InpApplyTheme = true; // Chart-Farben setzen (Dashboard-Look)
|
||||
input color InpThemeBull = C'59,130,246'; // Bullish Candle (blau)
|
||||
input color InpThemeBear = C'239,68,68'; // Bearish Candle (rot)
|
||||
input color InpThemeBg = C'13,17,23'; // Hintergrund
|
||||
input color InpThemeGrid = C'16,21,28'; // Gitternetz (dezent)
|
||||
input color InpThemeText = C'139,148,158'; // Achsen/Text
|
||||
|
||||
const string PFX = "SRB_"; // Präfix S/R-Linien (aus Datei)
|
||||
const string RPFX = "SRR_"; // Präfix dynamische Range (aus Chart)
|
||||
@@ -60,12 +78,38 @@ bool g_range_drawn = false; // hat DIESE Instanz die Range ge
|
||||
//+------------------------------------------------------------------+
|
||||
int OnInit()
|
||||
{
|
||||
if(InpApplyTheme) ApplyTheme();
|
||||
EventSetTimer(MathMax(1, InpRefreshS));
|
||||
Redraw();
|
||||
DrawRange();
|
||||
return(INIT_SUCCEEDED);
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//| Chart-Farben auf die Dashboard-Palette setzen (User-Vorgabe). |
|
||||
//| Kerzen werden GEFÜLLT gezeichnet (Body in Bull-/Bear-Farbe), damit|
|
||||
//| es aussieht wie im Referenzbild. |
|
||||
//+------------------------------------------------------------------+
|
||||
void ApplyTheme()
|
||||
{
|
||||
ChartSetInteger(0, CHART_MODE, CHART_CANDLES);
|
||||
ChartSetInteger(0, CHART_COLOR_BACKGROUND, InpThemeBg);
|
||||
ChartSetInteger(0, CHART_COLOR_FOREGROUND, InpThemeText);
|
||||
ChartSetInteger(0, CHART_SHOW_GRID, true);
|
||||
ChartSetInteger(0, CHART_COLOR_GRID, InpThemeGrid);
|
||||
// Body-Füllung
|
||||
ChartSetInteger(0, CHART_COLOR_CANDLE_BULL, InpThemeBull);
|
||||
ChartSetInteger(0, CHART_COLOR_CANDLE_BEAR, InpThemeBear);
|
||||
// Umriss + Docht in derselben Farbe → klare, flächige Kerzen wie im Bild
|
||||
ChartSetInteger(0, CHART_COLOR_CHART_UP, InpThemeBull);
|
||||
ChartSetInteger(0, CHART_COLOR_CHART_DOWN, InpThemeBear);
|
||||
ChartSetInteger(0, CHART_COLOR_CHART_LINE, InpThemeText);
|
||||
ChartSetInteger(0, CHART_COLOR_BID, InpThemeBull);
|
||||
ChartSetInteger(0, CHART_COLOR_ASK, InpThemeBear);
|
||||
ChartSetInteger(0, CHART_COLOR_STOP_LEVEL, C'239,68,68');
|
||||
ChartSetInteger(0, CHART_SHOW_PERIOD_SEP, false);
|
||||
ChartRedraw();
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
void OnDeinit(const int reason)
|
||||
{
|
||||
EventKillTimer();
|
||||
|
||||
Reference in New Issue
Block a user