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

1
.gitignore vendored
View File

@@ -1 +1,2 @@
indicators/postman.pine
sourceschnipsel/

View File

@@ -29,7 +29,13 @@
---
## 📌 Aktuelle Version
➡️ **[Croc Vibes v4.1.2](./indicators/croc_vibes.pine)** ✅
### 📸 Aktueller Screenshot
![Aktueller Screenshot](./docs/img/screenshot_aktuell.png)
➡️ **[Croc Vibes v4.2.0](./indicators/croc_vibes.pine)** ✅
👉 Alle Änderungen im [CHANGELOG.md](./docs/CHANGELOG.md)
---

View File

@@ -1,5 +1,22 @@
# Changelog
## [4.2.0] 2025-09-15
### Added
- **Preisskalen-Labels** für wichtige Levels
- *Wolke Pink*: permanent auf der Preisskala (`trackprice=true`)
- *Blues Long/Short*: **nur wenn aktiv**, **nur auf der letzten Kerze**, **ohne Linien im Chart**
(`display=display.price_scale` + `barstate.islast`)
- Farb-Inputs für alle drei Preisskalen-Einträge
### Changed
- **Preis-Textboxen an Blues-Linien** sind weiterhin im Code, aber **standardmäßig auskommentiert**
- Toggle „Preis-Textboxen an Blues-Linien anzeigen“ bleibt zur späteren Reaktivierung erhalten
### Fixed
- Verhindert, dass eine blaue Pane-Linie angezeigt wird, wenn Blues nicht aktiv ist
---
## [4.1.2] 2025-09-06
### Added
- **Toggle für Preis-Textboxen**
@@ -75,4 +92,4 @@
- Dokumentation aktualisiert (README, FAQ, Installation)
### Deprecated
- Separates Blues-Add-on (`blues_addon.pine`) bitte Kombi-Version nutzen
- Separates Blues-Add-on (`blues_addon.pine`) bitte Kombi-Version nutzen

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

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