feat: Update auf Version 4.2.0 mit Preisskalen-Labels

- Pine Script auf v4.2.0 aktualisiert
  - Preisskalen-Labels für Wolke Pink, Blues Long und Blues Short hinzugefügt
  - Blues-Level erscheinen nur, wenn aktiv, nur auf letzter Kerze, ohne Pane-Linie
  - Farb-Inputs für alle Preisskalen-Labels ergänzt
  - Block für Preis-Textboxen an Linien auskommentiert (zur späteren Reaktivierung)
  - Fix: keine blauen Linien mehr im Chart, wenn Blues inaktiv

- README.md
  - Aktuelle Version auf v4.2.0 gesetzt
  - neuen Abschnitt „📸 Aktueller Screenshot“ mit screenshot_aktuell.png eingefügt

- CHANGELOG.md
  - Eintrag für Version 4.2.0 hinzugefügt mit Details zu Added/Changed/Fixed
This commit is contained in:
2025-09-15 16:50:03 +02:00
parent a5f54ac435
commit c17ff4378c
5 changed files with 98 additions and 34 deletions

View File

@@ -1,5 +1,5 @@
// =================================================================================================
// Croc Vibes by Telgos Version 4.1.2
// Croc Vibes by Telgos Version 4.2.0
// Lizenz: Mozilla Public License 2.0 https://mozilla.org/MPL/2.0/
// Danksagung (Basis/Ideen): amper04, ray_duke, husky, Audidriver13
// =================================================================================================
@@ -41,7 +41,7 @@ src1 = input.source(close, "Day OverBought 1", group="MSI")
// ========= Darstellung =========
label_offset_mult = input.float(1.5, title="Label-Abstand (ATR x)", minval=0.1, step=0.1, group="Darstellung")
show_price_labels = input.bool(true, "Preis-Textboxen an Blues-Linien anzeigen", group="Darstellung")
show_price_labels = input.bool(true, "Preis-Textboxen an Blues-Linien anzeigen (der Block ist derzeit auskommentiert)", group="Darstellung")
// ========= Helper =========
asBool(src) => nz(src) > 0
@@ -315,38 +315,78 @@ telgos_2bar_prime_cond = long_pending_active and trigger_now_or_prev and (not re
alertcondition(telgos_2bar_prime_cond, title="Telgos 2-Bar-Prime", message="Telgos 2-Bar-Prime {{ticker}} {{interval}}")
// ========= Preis-Textboxen an blauen Linien (Toggle) =========
var label priceLblLong = na
var label priceLblShort = na
// Der gesamte Block ist auskommentiert, damit keine Zahlen-Labels mehr auf den Linien erscheinen.
// Zum Reaktivieren einfach die '//' entfernen.
if show_price_labels and long_pending_active and not na(longPendingLine)
int lx1 = line.get_x1(longPendingLine)
float ly1 = line.get_y1(longPendingLine)
string tL = str.tostring(ly1, format.mintick)
if na(priceLblLong)
priceLblLong := label.new(lx1, ly1, tL, xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_right, textcolor=color.blue, color=color.new(color.white, 100), size=size.normal)
else
label.set_x(priceLblLong, lx1)
label.set_y(priceLblLong, ly1)
label.set_text(priceLblLong, tL)
else
if not na(priceLblLong)
label.delete(priceLblLong)
priceLblLong := na
// var label priceLblLong = na
// var label priceLblShort = na
if show_price_labels and short_pending_active and not na(shortPendingLine)
int sx1 = line.get_x1(shortPendingLine)
float sy1 = line.get_y1(shortPendingLine)
string tS = str.tostring(sy1, format.mintick)
if na(priceLblShort)
priceLblShort := label.new(sx1, sy1, tS, xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_right, textcolor=color.blue, color=color.new(color.white, 100), size=size.normal)
else
label.set_x(priceLblShort, sx1)
label.set_y(priceLblShort, sy1)
label.set_text(priceLblShort, tS)
else
if not na(priceLblShort)
label.delete(priceLblShort)
priceLblShort := na
// if show_price_labels and long_pending_active and not na(longPendingLine)
// int lx1 = line.get_x1(longPendingLine)
// float ly1 = line.get_y1(longPendingLine)
// string tL = str.tostring(ly1, format.mintick)
// if na(priceLblLong)
// priceLblLong := label.new(lx1, ly1, tL, xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_right, textcolor=color.blue, color=color.new(color.white, 100), size=size.normal)
// else
// label.set_x(priceLblLong, lx1)
// label.set_y(priceLblLong, ly1)
// label.set_text(priceLblLong, tL)
// else
// if not na(priceLblLong)
// label.delete(priceLblLong)
// priceLblLong := na
// if show_price_labels and short_pending_active and not na(shortPendingLine)
// int sx1 = line.get_x1(shortPendingLine)
// float sy1 = line.get_y1(shortPendingLine)
// string tS = str.tostring(sy1, format.mintick)
// if na(priceLblShort)
// priceLblShort := label.new(sx1, sy1, tS, xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_right, textcolor=color.blue, color=color.new(color.white, 100), size=size.normal)
// else
// label.set_x(priceLblShort, sx1)
// label.set_y(priceLblShort, sy1)
// label.set_text(priceLblShort, tS)
// else
// if not na(priceLblShort)
// label.delete(priceLblShort)
// priceLblShort := na
// ========= Preisskala-Labels =========
grpPS = "Preisskala-Labels"
show_ps_wolke = input.bool(true, "Wolke Linie Pink auf Preisskala", group=grpPS)
show_ps_bluel = input.bool(true, "Blues Long-Level auf Preisskala (nur aktiv)", group=grpPS)
show_ps_blues = input.bool(true, "Blues Short-Level auf Preisskala (nur aktiv)", group=grpPS)
col_ps_wolke = input.color(color.new(color.fuchsia, 0), "Farbe: Wolke Pink", group=grpPS)
col_ps_bluel = input.color(color.new(color.blue, 0), "Farbe: Blues Long", group=grpPS)
col_ps_blues = input.color(color.new(color.blue, 0), "Farbe: Blues Short", group=grpPS)
// Wolke (Pink): Linie im Pane + Preisskaleneintrag
plot(show_ps_wolke ? wolke_Line_pink : na,
title = "Wolke Pink",
color = col_ps_wolke,
linewidth = 1,
style = plot.style_line,
trackprice = true,
display = display.all)
// Blues NUR Preisskala (keine Linie), nur auf der letzten Kerze und nur wenn aktiv
ps_bluel_val = show_ps_bluel and long_pending_active ? long_refHigh : na
ps_blues_val = show_ps_blues and short_pending_active ? short_refLow : na
ps_bluel_last = barstate.islast ? ps_bluel_val : na
ps_blues_last = barstate.islast ? ps_blues_val : na
plot(ps_bluel_last,
title = "Blues Long-Level",
color = col_ps_bluel,
trackprice = true,
display = display.price_scale)
plot(ps_blues_last,
title = "Blues Short-Level",
color = col_ps_blues,
trackprice = true,
display = display.price_scale)
// ========= Dezente Labels / Shapes =========
if isPearlLong