Compare commits
31 Commits
pre-identi
...
main
Author | SHA1 | Date | |
---|---|---|---|
27cf65e46d | |||
981ffa9ed0 | |||
8a0dde0ebf | |||
1db42acb72 | |||
228a87bca6 | |||
52b0d1aba9 | |||
8bb3840879 | |||
4592860598 | |||
c709c885a3 | |||
40f63237f9 | |||
4c4d0e418e | |||
c17ff4378c | |||
a5f54ac435 | |||
c94939fed5 | |||
dddf125f51 | |||
77ce97c36f | |||
f5023377f3 | |||
ffbb69c471 | |||
554db14cc6 | |||
b8dd293ec1 | |||
34b46462fc | |||
3605d7d96e | |||
35080b54f3 | |||
eab54e2264 | |||
524dc31d64 | |||
eed7281883 | |||
6a901ea687 | |||
227ec7a73b | |||
8b4a556d41 | |||
d6adfe1ba6 | |||
b1be0e3cc2 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
indicators/postman.pine
|
||||||
|
sourceschnipsel/
|
12
LICENSE.md
12
LICENSE.md
@@ -1,14 +1,16 @@
|
|||||||
---
|
---
|
||||||
⚠️ **Wichtiger Hinweis** ⚠️
|
⚠️ **Wichtiger Hinweis** ⚠️
|
||||||
|
---
|
||||||
|
|
||||||
**Croc Vibes** ist ein *temporäres Community-Hilfsskript*, insbesondere für **Anfänger**.
|
**Croc Vibes** ist ein *temporäres Community-Hilfsskript*, insbesondere für **Anfänger**.
|
||||||
Es ist **keine temporäres Community-Hilfsskript** und **kein Ersatz** für den offiziellen Indikator.
|
Es ist **kein offizielles Produkt** und **kein Ersatz** für den Original-Indikator.
|
||||||
|
|
||||||
Der originale **Croc-Indikator** von André ist ein **kommerzielles Produkt** und kann erworben werden.
|
Der originale **Croc-Indikator** von André ist ein **kommerzielles Produkt** und kann erworben werden.
|
||||||
Dieses Projekt **verfolgt keine wirtschaftlichen Interessen** – es ist ein **Beitrag von Telgos für die Community**.
|
Dieses Projekt **verfolgt keine wirtschaftlichen Interessen** – es ist ein **freiwilliger Beitrag von Telgos für die Community**.
|
||||||
|
|
||||||
Das Hilfsskript stellt zusätzliche **Labels**, **Alerts** sowie eine **Speziallogik für offene Blaue** bereit, um Einstieg und Verständnis zu erleichtern.
|
Das Hilfsskript stellt zusätzliche **Labels**, **Alerts** sowie eine **Speziallogik für offene Blaue** bereit, um Einstieg und Verständnis zu erleichtern.
|
||||||
Sobald im Forum das **direkte Teilen von Skripten** möglich ist, wird dieses Hilfsskript eingestellt, damit die Community wieder **geschlossen im Forum** bleibt.
|
Sobald im Forum das **direkte Teilen von Skripten** möglich ist, wird dieses Hilfsskript eingestellt, damit die Community wieder **geschlossen im Forum** bleibt.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Lizenz
|
# Lizenz
|
||||||
@@ -16,8 +18,8 @@ Sobald im Forum das **direkte Teilen von Skripten** möglich ist, wird dieses Hi
|
|||||||
Dieses Projekt steht unter der **Mozilla Public License 2.0 (MPL-2.0)**.
|
Dieses Projekt steht unter der **Mozilla Public License 2.0 (MPL-2.0)**.
|
||||||
|
|
||||||
Das bedeutet:
|
Das bedeutet:
|
||||||
- Du darfst den Code frei nutzen, ändern und weitergeben.
|
- ✅ Du darfst den Code frei nutzen, ändern und weitergeben.
|
||||||
- Änderungen am Code müssen ebenfalls unter der MPL-2.0 veröffentlicht werden.
|
- ✅ Änderungen am Code müssen ebenfalls unter der MPL-2.0 veröffentlicht werden.
|
||||||
- Eine kommerzielle Nutzung ist erlaubt, solange die Lizenzbedingungen eingehalten werden.
|
- ✅ Eine kommerzielle Nutzung ist erlaubt, solange die Lizenzbedingungen eingehalten werden.
|
||||||
|
|
||||||
👉 Den vollständigen Lizenztext findest du hier: [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/).
|
👉 Den vollständigen Lizenztext findest du hier: [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/).
|
||||||
|
74
README.md
74
README.md
@@ -1,4 +1,6 @@
|
|||||||

|
<p align="left">
|
||||||
|
<img src="./docs/img/croc_vibes_banner.png" alt="Croc Vibes Banner" width="600">
|
||||||
|
</p>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -8,58 +10,70 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
⚠️ **Wichtiger Hinweis** ⚠️
|
# Croc Vibes – Community Hilfsskript
|
||||||
|
|
||||||
**Croc Vibes** ist ein *Community-Hilfsskript*.
|
 [**Audiozusammenfassung Croc Vibes**](https://share.telgos.de/api/public/dl/1fcoY2qG?inline=true)
|
||||||
Dieses Projekt **verfolgt keine wirtschaftlichen Interessen** – es ist ein **Beitrag von Telgos für die Community**.
|
|
||||||
Sobald im Forum das **direkte Teilen von Skripten** möglich ist, wird dieses Repository eingestellt.
|
---
|
||||||

|
|
||||||
|
⚠️ **Wichtiger Hinweis** ⚠️
|
||||||
|
*Croc Vibes* ist ein **Community-Projekt** und **kein offizielles Skript von André Tiedje**.
|
||||||
|
➡️ Nutzung **auf eigene Verantwortung** – es gibt **keinen Anspruch auf Support**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📖 Inhaltsverzeichnis
|
||||||
|
- [Aktuelle Version](#-aktuelle-version)
|
||||||
|
- [Über das Projekt](#-über-das-projekt)
|
||||||
|
- [Installation](#-installation)
|
||||||
|
- [FAQ](#-faq)
|
||||||
|
- [Hinweis zur Nutzung](#-hinweis-zur-nutzung)
|
||||||
|
- [Lizenz](#-lizenz)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📌 Aktuelle Version
|
## 📌 Aktuelle Version
|
||||||
|
|
||||||
➡️ **[Croc Vibes v4.0.0](./indicators/croc_vibes.pine)** ✅
|
|
||||||
|
|
||||||
👉 Details zu allen Änderungen siehe [CHANGELOG.md](./docs/CHANGELOG.md)
|
### 📸 Aktueller Screenshot
|
||||||
|
|
||||||
# ✨ Neues Feature: Telgos 2-Bar-Prime
|

|
||||||
|
|
||||||
**Telgos 2-Bar-Prime** ist ein spezieller Alarmfilter für **Croc Vibes**:
|
➡️ **[Croc Vibes v4.2.2](./indicators/croc_vibes.pine)** ✅
|
||||||
|
👉 Alle Änderungen im [CHANGELOG.md](./docs/CHANGELOG.md)
|
||||||
- **Bedingung 1:** „Ein Hoch kommt noch“ (Blues Long) ist aktiv
|
|
||||||
- **Bedingung 2:** Mindestens ein definierter Auslöser (*Pearl Long, Ulti Rally, Stephan Setup, BGRL, Rotes Kreuz bei grüner Wolke*)
|
|
||||||
muss auf der **aktuellen Kerze (0)** oder der **vorherigen Kerze (−1)** aufgetreten sein
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Community-Hilfsskript
|
## 💡 Über das Projekt
|
||||||
|
|
||||||
**Croc Vibes** wurde entwickelt, weil der Croc 3.0 nur eine begrenzte Anzahl an Labels ausgibt.
|
**Croc Vibes** wurde entwickelt, weil der Croc 3.0 nur eine begrenzte Anzahl an Labels ausgibt.
|
||||||
Gerade Anfänger profitieren von zusätzlichen Labels und klareren Signalzuweisungen.
|
Gerade **Anfänger** profitieren von:
|
||||||
|
- zusätzlichen Labels 🎯
|
||||||
|
- klareren Signalzuweisungen 📊
|
||||||
|
- besserer Übersicht im Chart 🖥️
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Installation
|
## ⚙️ Installation
|
||||||
|
📥 Anleitung: [Installation.md](./docs/Installation.md)
|
||||||
👉 Details siehe [Installation.md](./docs/Installation.md).
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## FAQ
|
## ❓ FAQ
|
||||||
|
🙋 Antworten auf häufige Fragen: [FAQ.md](./docs/FAQ.md)
|
||||||
👉 Häufige Fragen findest du in der [FAQ.md](./docs/FAQ.md).
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Hinweis zur Nutzung
|
## 🛠 Hinweis zur Nutzung
|
||||||
|
Dieses Skript dient ausschließlich **zu Lern- und Community-Zwecken**.
|
||||||
Croc Vibes ist ein Community-Hilfsskript und nicht offiziell von André.
|
Handel immer eigenverantwortlich! 💡
|
||||||
Es gibt keinen Anspruch auf Vollständigkeit oder Support – Nutzung erfolgt auf eigene Verantwortung.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Lizenz
|
## 📜 Lizenz
|
||||||
|
Dieses Projekt steht unter der
|
||||||
|
[Mozilla Public License 2.0](https://mozilla.org/MPL/2.0/)
|
||||||
|
➡️ Details in [LICENSE.md](./LICENSE.md).
|
||||||
|
|
||||||
Dieses Projekt steht unter der [Mozilla Public License 2.0](https://mozilla.org/MPL/2.0/).
|
---
|
||||||
Siehe auch [LICENSE.md](./LICENSE.md).
|
|
||||||
|
<p align="center">🐊 Mit ❤️ von <b>Telgos</b> für die Community 🐊</p>
|
||||||
|
@@ -1,4 +1,53 @@
|
|||||||
# Changelog
|
## [4.2.2] – 2025-09-16
|
||||||
|
### Fixed
|
||||||
|
- **Stephan-Setup** berücksichtigt wieder das **Rote Plus** als gültige Zusatzbedingung
|
||||||
|
- war in v4.2.1 versehentlich entfernt worden
|
||||||
|
- jetzt erneut korrekt mit OR-Verknüpfung eingebunden
|
||||||
|
- Versionsnummer im Header und Indikatornamen auf **v4.2.2** erhöht
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [4.2.1] – 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**
|
||||||
|
- Neue Option im Menü: „Preis-Textboxen an Blues-Linien anzeigen“
|
||||||
|
- Standard: aktiviert
|
||||||
|
- Kann deaktiviert werden, wenn ein „cleanes“ Chart ohne Preisangaben bevorzugt wird
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **Telgos 2-Bar-Prime: Filter-Option **
|
||||||
|
- Neuer Klartext: „Ein Hoch/Tief kommt noch für Filter aktiv“
|
||||||
|
- Mit Tooltip-Erklärung
|
||||||
|
- Standard: aktiviert
|
||||||
|
- Deaktivieren = lockerer Modus (Auslöser reicht, wenn er in den letzten beiden Kerzen vorkam)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [4.1.1] – 2025-09-06
|
||||||
|
### Added
|
||||||
|
- **Preis-Textboxen an blauen Linien**
|
||||||
|
- Zeigt den exakten Preis der aktiven Blues-Linie (Long/Short) im Chart an
|
||||||
|
- Darstellung: Groß & blau, Position links am Startpunkt der Linie
|
||||||
|
- Verhindert Überschneidung mit der Linie → bessere Lesbarkeit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [4.1.0] – 2025-09-05
|
## [4.1.0] – 2025-09-05
|
||||||
### Added
|
### Added
|
||||||
|
257
docs/FAQ.md
257
docs/FAQ.md
@@ -1,83 +1,250 @@
|
|||||||
# Croc Vibes – FAQ
|
# Croc Vibes – FAQ
|
||||||
Dieses Projekt richtet sich **insbesondere an Anfänger** und erleichtert die Nutzung durch zusätzliche Labels, Alerts und eine Speziallogik für offene Blaue.
|
|
||||||
|
|
||||||
|
|
||||||
|
Dieses Projekt richtet sich an **Anfänger**, um die Nutzung durch zusätzliche Labels, Alerts und eine Speziallogik für offene Blaue zu erleichtern.
|
||||||
Denn die immer wiederkehrenden Fragen kosten viel zu viel *unwiederbringliche Lebenszeit*. 😉
|
Denn die immer wiederkehrenden Fragen kosten viel zu viel *unwiederbringliche Lebenszeit*. 😉
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Wie richte ich den Telgos 2-Bar-Prime Alarmfilter ein?
|
## Übersicht
|
||||||
|
|
||||||
Der **Telgos 2-Bar-Prime** ist ein spezieller Alarmfilter, der zwei Bedingungen kombiniert:
|
* [Allgemeines zu TradingView](#allgemeines-zu-tradingview)
|
||||||
|
* [Croc Vibes Nutzung](#croc-vibes-nutzung)
|
||||||
|
* [Technik & Logik](#technik--logik)
|
||||||
|
* [Performance von Croc Vibes](#-warum-wirkt-croc-vibes-manchmal-langsam-oder-hängt)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Allgemeines zu TradingView
|
||||||
|
|
||||||
|
### ❓ Warum kommen nach Börsenschluss keine Alarme mehr?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Nach Börsenschluss gibt es keine Kursdaten mehr → keine neuen Alarme.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* TradingView-Alarme basieren auf neuen Kursdaten
|
||||||
|
* Nach Börsenschluss liefert der Datenanbieter keine Ticks → keine neuen Kerzen, keine Alarme
|
||||||
|
* Das ist **kein Fehler im Script**, sondern TradingView-Design
|
||||||
|
* Mit Marktöffnung laufen deine Alarme automatisch weiter
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Warum muss ich meine Variablen nach einem Update neu zuordnen?
|
||||||
|
|
||||||
|
✅ Kurzantwort: TradingView behandelt ein aktualisiertes Script wie ein neues.
|
||||||
|
Das Zurücksetzen der Variablen ist **by design** und nicht vermeidbar.
|
||||||
|
|
||||||
|
📖 Siehe auch die ausführliche [Installation & Update-Anleitung](./Installation.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Welche TradingView-Version brauche ich für Croc Vibes?
|
||||||
|
|
||||||
|
✅ Kurzantwort: **Essentials** reicht für Croc 3.0 + Croc Vibes.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* Pine läuft in allen TV-Plänen
|
||||||
|
* Entscheidend: maximale Anzahl gleichzeitiger Indikatoren
|
||||||
|
* Viele Zusatz-Indis → höherer Plan evtl. sinnvoll
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Croc Vibes Nutzung
|
||||||
|
|
||||||
|
### ❓ Wie richte ich den Telgos 2-Bar-Prime Alarmfilter ein?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Zwei Bedingungen müssen erfüllt sein:
|
||||||
|
|
||||||
1. „Ein Hoch kommt noch“ (Blues Long) ist aktiv
|
1. „Ein Hoch kommt noch“ (Blues Long) ist aktiv
|
||||||
2. Mindestens ein definierter Auslöser (*Pearl Long, Ulti Rally, Stephan Setup, BGRL, Rotes Kreuz bei grüner Wolke*)
|
2. Mindestens ein Auslöser (*Pearl Long, Ulti Rally, Stephan Setup, BGRL, Rotes Kreuz bei grüner Wolke*) liegt auf der aktuellen oder der vorherigen Kerze
|
||||||
muss auf der aktuellen Kerze (0) oder der vorherigen Kerze (−1) aufgetreten sein
|
|
||||||
|
|
||||||
Damit lassen sich aus Watchlisten mögliche Kandidaten für kurzfristige Setups herausfiltern.
|
🔎 Hinweis: Filter ist nur Vorauswahl – Qualität musst du selbst prüfen.
|
||||||
Die eigentliche **Qualität der gefilterten Werte musst du aber selbst einschätzen** – der Filter erleichtert nur die Vorauswahl.
|
🎥 Video: [Telgos 2-Bar-Prime einrichten](https://share.telgos.de/api/public/dl/w1pHQeR6?inline=true)
|
||||||
|
|
||||||
🎥 Im folgendem Video wird Schritt für Schritt gezeigt, wie du den Alarm einrichtest:
|
|
||||||
[Telgos 2-Bar-Prime einrichten (Video)](https://share.telgos.de/api/public/dl/w1pHQeR6?inline=true)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Warum muss ich meine Variablen nach einem Update neu zuordnen?
|
### ❓ Was ist der Unterschied zwischen dem Telgos 2-Bar-Prime und den selbst gebauten Combo-Alarmen?
|
||||||
Wenn der Original-Indikator entfernt oder aktualisiert wird – oder wenn du am Code selbst etwas änderst – behandelt TradingView den Indikator wie ein neues Script.
|
|
||||||
Das bedeutet, dass alle zuvor gemachten Eingaben und Variablen-Zuordnungen zurückgesetzt werden.
|
✅ **Kurzantwort:**
|
||||||
So ist die Plattform konzipiert – es handelt sich also nicht um einen Fehler, sondern um ein Verhalten **„by design“**.
|
|
||||||
Leider gibt es keine Möglichkeit, dieses Verhalten zu umgehen.
|
* **Combo-Alarme** → du wählst selbst aus, welche Signale kombiniert werden sollen. Es wird nur die aktuelle Kerze geprüft.
|
||||||
|
* **2-Bar-Prime** → festes Setup, das automatisch die letzten **zwei Kerzen** durchsucht. Es meldet alle Long-Signale, bei denen ein offener blauer Punkt aktiv ist.
|
||||||
|
|
||||||
|
🔎 **Details:**
|
||||||
|
|
||||||
|
* **Alert-Combo** ist ein Baukasten: flexibel, aber aufwändiger. Du musst jedes Signal einzeln auswählen und festlegen, ob UND/ODER gilt.
|
||||||
|
* **2-Bar-Prime** ist ein fertiger Filter: er sammelt automatisch alle relevanten Long-Signale der letzten beiden Kerzen zusammen mit offenen Blauen.
|
||||||
|
* Ergebnis: **Zeitersparnis** und **weniger Klickarbeit**, da die Logik für dich gebündelt ist.
|
||||||
|
|
||||||
|
💡 Hinweis: Der Prime ist nur eine **Arbeitshilfe**. Er ersetzt nicht die eigene Signal-Prüfung, macht das Screening aber deutlich schneller.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Warum kann Croc Vibes nicht im Pinescreener verwendet werden?
|
### ❓ Warum gibt es den Telgos 2-Bar-Prime überhaupt?
|
||||||
Das temporäre Community-Hilfsskript **Croc Vibes** entstand nur, weil der Croc 3.0 eine begrenzte Anzahl an Labels ausgibt und wir Anfänger von ein paar zusätzlichen Labels profitieren.
|
|
||||||
Da der Croc ständig weiterentwickelt wird, hoffen wir, dass in künftigen Versionen mehr Labels direkt enthalten sind.
|
✅ **Kurzantwort:** Weil es mühsam ist, alle Signal-Kombinationen jedes Mal neu in der Combo oder im Screener zusammenzuklicken.
|
||||||
|
|
||||||
|
🔎 **Details:**
|
||||||
|
|
||||||
|
* Der 2-Bar-Prime entstand aus reiner **Arbeitserleichterung**.
|
||||||
|
* Er schaut automatisch auf die letzten zwei Kerzen und sammelt alle relevanten Long-Signale mit offenen Blauen.
|
||||||
|
* Dadurch entsteht im Protokoll sofort eine übersichtliche Liste – ohne dass man selbst jedes Signal einzeln auswählen muss.
|
||||||
|
* Ergebnis: **schnelleres Screening** und weniger Klickerei, die eigentliche Prüfung machst du dann direkt an den Charts.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Ich sehe in der Auswahl mehrere Werte (z. B. Kerzenfarbe oder Wolke). Woher weiß ich, welcher richtig ist?
|
### ❓ Reicht Croc Basic oder brauche ich Professional für Croc Vibes?
|
||||||
Die Croc-Indikatoren liefern mehrere interne Werte (z. B. Kerze 1 = Grün, Kerze 2 = Schwarz, Kerze 3 = Rot).
|
|
||||||
In der Signal-Auswahl musst du den jeweils passenden Wert **manuell zuordnen**.
|
✅ **Kurzantwort:** Für die Grundfunktionen reicht **Croc Basic**. Bestimmte Setups wie das **Stephan-Setup** benötigen jedoch zwingend den **MSI (Momentum Status Indikator)** aus dem **Croc Professional**.
|
||||||
**Die Zahl steht für die Reihenfolge von oben** – also der wievielte Parameter zugeordnet werden muss.
|
|
||||||
📖 Siehe den Installations-Guide – im Video zu Schritt 2 wird die Zuweisung gezeigt.
|
🔎 **Details:**
|
||||||
|
|
||||||
|
* Croc Vibes liest seine Eingabevariablen direkt aus dem Croc-Indikator.
|
||||||
|
* Welche Variablen im **Croc Basic** vorhanden sind, ist eingeschränkt dokumentiert. Mit **Croc Professional** sind alle benötigten Inputs verfügbar.
|
||||||
|
* Der **MSI** ist Pflichtbestandteil für Setups wie **Stephan**, **Ulti Rally** und **BGRL**.
|
||||||
|
* Ohne Zuweisung des MSI-Werts vom Croc zum Croc Vibes können diese Setups **nicht funktionieren**.
|
||||||
|
|
||||||
|
👉 Fazit: **Basic reicht** für die klassischen Signale (Pearl Diver, Deluxe, Red Devil etc.).
|
||||||
|
Für Setups mit Momentum-Logik (Stephan, Ulti Rally, BGRL) ist **Professional notwendig**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Warum sehe ich „Ein Hoch kommt noch“ / „Ein Tief kommt noch“ nicht immer?
|
### ❓ Wie nutze ich den TradingView-Aktienscreener in Verbindung mit Croc Vibes?
|
||||||
Aktuelle Regel (ab v3.8.0):
|
|
||||||
- „**Ein Hoch kommt noch**“ wird **nur in grüner Wolke** markiert.
|
✅ Kurzantwort: Der Aktienscreener ist eine **TradingView-Funktion**, kein Teil von Croc Vibes. Damit kannst du dir eigene Watchlisten zusammenstellen, auf denen dann die Croc-Signale/Alarme laufen.
|
||||||
- „**Ein Tief kommt noch**“ wird **nur in roter Wolke** markiert.
|
|
||||||
|
🔎 **Details:**
|
||||||
|
|
||||||
|
* Öffne unten in TradingView den Reiter **„Screener“** → **„Aktien-Screener“**.
|
||||||
|
* Dort kannst du nach Kriterien wie Land, Index, Branche, Volumen oder technische Filter suchen.
|
||||||
|
* Ausgewählte Werte kannst du in eine **eigene Watchlist übernehmen**.
|
||||||
|
* Auf dieser Watchlist laufen dann deine **Croc Vibes Alarme** → so hast du die Treffer direkt gesammelt.
|
||||||
|
|
||||||
|
💡 Tipp: Du musst im Screener **keine Croc-Signale eintippen** – er ist nur für die Vorauswahl der Werte da.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Wie richte ich die Alert‑Combo ein?
|
### ❓ Warum zeigt der 2-Bar-Prime manchmal Fehler bei einzelnen Symbolen?
|
||||||
Im Eingabe‑Reiter unter **ALERT‑COMBO**:
|
|
||||||
- bis zu **5** Signale wählbar
|
|
||||||
- **UND/ODER** schaltbar (Häkchen „Signale nicht kombinieren“)
|
|
||||||
- **Auto‑ODER**, wenn **beide Blues** (Long & Short) ausgewählt sind
|
|
||||||
|
|
||||||
Zusätzlich kannst du einzelne System‑Alerts in TradingView über **„Alarm hinzufügen“** auf die jeweiligen Bedingungen legen (z. B. „Blues: … (Erfüllt)“).
|
✅ Kurzantwort: Weil er immer die letzten **zwei Kerzen** braucht. Fehlen Kerzen oder sind unvollständig, kann er nicht berechnen.
|
||||||
|
|
||||||
|
🔎 **Details:**
|
||||||
|
|
||||||
|
* Passiert oft bei Märkten mit dünnem Handel oder abweichenden Handelszeiten (z. B. manche mexikanische Aktien).
|
||||||
|
* Auch fehlerhafte Datenfeeds oder Splits können `na`-Werte erzeugen.
|
||||||
|
* Bei großen, liquiden US/EU-Aktien tritt das Problem praktisch nie auf.
|
||||||
|
|
||||||
|
👉 Lösung: Ich nehme solche Werte einfach aus der Watchlist, dann läuft der Prime stabil.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Welche TradingView-Version brauche ich für Croc Vibes?
|
### ❓ Warum kann Croc Vibes nicht im Pinescreener verwendet werden?
|
||||||
|
|
||||||
Das hängt von der Anzahl der gleichzeitig laufenden Indikatoren ab:
|
✅ Kurzantwort: Croc Vibes ist ein Community-Hilfsskript, kein vollwertiger Indikator.
|
||||||
|
|
||||||
- **Essentials** reicht in der Regel aus, wenn du nur **Croc 3.0 + Croc Vibes** parallel laufen lassen möchtest.
|
🔎 Details:
|
||||||
- Falls du viele zusätzliche Indikatoren/Setups einbindest, kann ein höherer Plan sinnvoll sein (mehr gleichzeitige Indikatoren-Slots).
|
|
||||||
|
|
||||||
👉 Es geht also **nicht** darum, dass Pine Script nur in der „Professional-Version“ funktioniert – Pine läuft in allen TV-Plänen. Entscheidend ist die maximale Zahl an Indikatoren, die dein Abo erlaubt.
|
* Dient nur zur Ergänzung (mehr Labels für Anfänger)
|
||||||
|
* Croc 3.0 ist die Basis, Vibes erweitert nur
|
||||||
|
* Pinescreener-Unterstützung ist nicht vorgesehen
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Muss ich alle Croc-Indikatoren aktiv haben, damit Croc Vibes funktioniert?
|
### ❓ Ich sehe in der Auswahl mehrere Werte (z. B. Kerzenfarbe oder Wolke). Woher weiß ich, welcher richtig ist?
|
||||||
|
|
||||||
Für Croc Vibes v4.0.0 brauchst du die drei Kern-Indikatoren:
|
✅ Kurzantwort: Die Zahl steht für die Reihenfolge von oben.
|
||||||
|
|
||||||
- **Croc Chart**
|
🔎 Details:
|
||||||
- **Croc Lochstreifen**
|
|
||||||
- **Croc MSI**
|
|
||||||
|
|
||||||
Genau aus diesen Indis kommen die Variablen, die das Script benötigt.
|
* Croc-Indikatoren liefern mehrere interne Werte
|
||||||
|
* Signal-Auswahl muss **manuell** zugeordnet werden
|
||||||
|
* 📖 Installations-Guide → Video Schritt 2 zeigt Zuweisung
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Warum sehe ich „Ein Hoch kommt noch“ / „Ein Tief kommt noch“ nicht immer?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Diese Signale erscheinen nur abhängig von der Wolke.
|
||||||
|
|
||||||
|
🔎 Details (ab v3.8.0):
|
||||||
|
|
||||||
|
* „Ein Hoch kommt noch“ → **nur in grüner Wolke**
|
||||||
|
* „Ein Tief kommt noch“ → **nur in roter Wolke**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Wie richte ich die Alert-Combo ein?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Bis zu 5 Signale kombinierbar, UND/ODER schaltbar.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* Eingabe-Reiter → **ALERT-COMBO**
|
||||||
|
* Max. 5 Signale auswählbar
|
||||||
|
* „Signale nicht kombinieren“ = UND/ODER umschalten
|
||||||
|
* Auto-ODER, wenn beide Blues (Long & Short) ausgewählt sind
|
||||||
|
* Zusätzlich: TV-Alarme pro Signal möglich
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Technik & Logik
|
||||||
|
|
||||||
|
### ❓ Was bedeutet „Zonenpflege für grüne/rote Wolke (Blues-Logik)“?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Die Zonenpflege vereinfacht die 78,6 %-Retracement-Regel mit Wolken und Swings.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* Grüne Wolke → höchstes Hoch = Basis für „Ein Hoch kommt noch“
|
||||||
|
* Rote Wolke → tiefstes Tief = Basis für „Ein Tief kommt noch“
|
||||||
|
* Zone wird nicht angezeigt → liefert Referenz für blaue Linie & Blues-Label
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Muss ich alle Croc-Indikatoren aktiv haben, damit Croc Vibes funktioniert?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Ja, für v4.0.0 brauchst du die 3 Kern-Indikatoren.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* **Croc Chart**
|
||||||
|
* **Croc Lochstreifen**
|
||||||
|
* **Croc MSI**
|
||||||
|
* Daraus kommen die Variablen, die Croc Vibes benötigt
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❓ Warum wirkt Croc Vibes manchmal langsam oder „hängt“?
|
||||||
|
|
||||||
|
✅ Kurzantwort: Croc Vibes selbst ist schlank. Die Last entsteht in der Übergabe der vielen Signale aus Croc 3.0.
|
||||||
|
|
||||||
|
🔎 Details:
|
||||||
|
|
||||||
|
* Croc Vibes kombiniert nur die fertigen Signale über `input.source()`.
|
||||||
|
* Die eigentliche Berechnung passiert in Croc 3.0.
|
||||||
|
* Erst wenn alle Werte übergeben sind, kann Croc Vibes sie anzeigen.
|
||||||
|
* Der Flaschenhals ist daher nicht Vibes und auch nicht Croc 3.0 allein, sondern die **Übergabe der vielen `input.source`-Serien zwischen beiden**.
|
||||||
|
|
||||||
|
💡 Lösung in der Praxis:
|
||||||
|
|
||||||
|
* Nur **ein Fenster pro Symbol** mit Croc 3.0 + Croc Vibes gleichzeitig verwenden.
|
||||||
|
* Den **Screener nur bei Bedarf** laufen lassen.
|
||||||
|
* Damit treten im Alltag keine Probleme mehr auf.
|
||||||
|
|
||||||
|
🔄 Was bei anderen Nutzern geholfen hat:
|
||||||
|
|
||||||
|
* Ein neues Chartfenster öffnen, das alte schließen und Croc 3.0 + Croc Vibes dort neu einrichten.
|
||||||
|
* Vermutlich bleiben bei zu vielen offenen Anfragen manchmal Übergaben in TradingView hängen. Das ist allerdings nur eine Vermutung, da man nicht in die TradingView-Engine schauen kann.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
### ❓ Wie installiere ich die aktuelle Croc Vibes Version richtig?
|
||||||
|
|
||||||
|
✅ Kurzantwort:
|
||||||
|
- Alte Croc Vibes Indikatoren und Screener löschen
|
||||||
|
- Neuen Code in TradingView einfügen
|
||||||
|
- Dem Chart hinzufügen und prüfen, ob die Versionsnummer sichtbar ist
|
||||||
|
|
||||||
|
📖 Für die ausführliche Schritt-für-Schritt-Anleitung siehe [Installation & Update](./Installation.md)
|
||||||
|
@@ -1,11 +1,23 @@
|
|||||||
# Installation
|
# Installation & Update
|
||||||
|
|
||||||
|
## Wichtig bei Updates
|
||||||
|
👉 Nur relevant, wenn du Croc Vibes **schon einmal installiert hast**:
|
||||||
|
|
||||||
|
1. **Alle alten Croc Vibes Indikatoren löschen** (alles, was mit „Croc Vibes…“ beginnt).
|
||||||
|
2. **Alle alten Screener auf Croc Vibes Basis löschen** (falls vorhanden).
|
||||||
|
3. In TradingView → **Neu erstellen → Indikator** wählen.
|
||||||
|
4. Den neuen Code aus `croc_vibes.pine` einfügen und speichern.
|
||||||
|
5. Dem Chart hinzufügen und prüfen, ob die **aktuelle Versionsnummer** angezeigt wird.
|
||||||
|
|
||||||
|
⚠️ Nur so vermeidest du Konflikte mit alten Versionen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Dateien
|
## Dateien
|
||||||
`indicators/` – Pine Scripts
|
`indicators/` – Pine Scripts
|
||||||
- `croc_vibes.pine` (v4.0.0, aktuelles Hauptskript) ✅
|
- `croc_vibes.pine` ✅
|
||||||
|
|
||||||
Alle anderen Skripte (Blues Add-on, Kombi-Version etc.) wurden entfernt.
|
(Weitere Beschreibungen sind in den [Docs](./) enthalten – nur als Referenz.)
|
||||||
Die Beschreibungen dazu sind noch in den [Docs](./) enthalten – nur als Referenz.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -18,14 +30,14 @@ Die Beschreibungen dazu sind noch in den [Docs](./) enthalten – nur als Refere
|
|||||||
|
|
||||||
## Schritt 2: Variablen zuweisen (input.source)
|
## Schritt 2: Variablen zuweisen (input.source)
|
||||||
- In den „**Eingaben**“ alle benötigten Quellen (Croc/Lochstreifen/MSI) zuordnen.
|
- In den „**Eingaben**“ alle benötigten Quellen (Croc/Lochstreifen/MSI) zuordnen.
|
||||||
- Die Reihenfolge ist ab v4.0.0 **verbessert** und entspricht jetzt der visuellen Darstellung im Overlay:
|
- Die Reihenfolge ist ab v4.0.0 **verbessert** und entspricht jetzt der visuellen Darstellung im Overlay.
|
||||||
|
|
||||||
📺 **Videoanleitung (Schritt 2 – Variablen zuweisen):**
|
📺 **Videoanleitung (Schritt 2 – Variablen zuweisen):**
|
||||||
[Direkt im Browser ansehen](https://share.telgos.de/api/public/dl/6eo9V2cC?inline=true)
|
[Direkt im Browser ansehen](https://share.telgos.de/api/public/dl/6eo9V2cC?inline=true)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Schritt 3: Alert-Combo konfigurieren
|
## Optional – Schritt 3: Alert-Combo konfigurieren
|
||||||
Im Reiter **Eingaben** findest du den Bereich **ALERT-COMBO**:
|
Im Reiter **Eingaben** findest du den Bereich **ALERT-COMBO**:
|
||||||
1. Wähle bis zu **5 Signale** (z. B. „Pearl Long“, „Blues: Ein Hoch kommt noch (aktiv)“).
|
1. Wähle bis zu **5 Signale** (z. B. „Pearl Long“, „Blues: Ein Hoch kommt noch (aktiv)“).
|
||||||
2. **UND/ODER**: Häkchen „Signale nicht kombinieren“ aktiv = **ODER**, sonst **UND**.
|
2. **UND/ODER**: Häkchen „Signale nicht kombinieren“ aktiv = **ODER**, sonst **UND**.
|
||||||
@@ -33,6 +45,6 @@ Im Reiter **Eingaben** findest du den Bereich **ALERT-COMBO**:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Schritt 4: TradingView-Alerts anlegen
|
## Optional – Schritt 4: TradingView-Alerts anlegen
|
||||||
- Rechtsklick im Chart → **Alarm hinzufügen** → gewünschten Indikator/Alert auswählen.
|
- Rechtsklick im Chart → **Alarm hinzufügen** → gewünschten Indikator/Alert auswählen.
|
||||||
- Für Blues existieren eigene Alerts: **Start**, **Aktiv**, **Erfüllt**, **Wolkenbruch**.
|
- Für Blues existieren eigene Alerts: **Start**, **Aktiv**, **Erfüllt**, **Wolkenbruch**.
|
||||||
|
BIN
docs/img/screenshot_aktuell.png
Normal file
BIN
docs/img/screenshot_aktuell.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 222 KiB |
@@ -1,15 +1,12 @@
|
|||||||
// =================================================================================================
|
// =================================================================================================
|
||||||
// Croc Vibes by Telgos – Version 4.1.0
|
// Croc Vibes by Telgos – Version 4.2.2
|
||||||
// Lizenz: Mozilla Public License 2.0 – https://mozilla.org/MPL/2.0/
|
// Lizenz: Mozilla Public License 2.0 – https://mozilla.org/MPL/2.0/
|
||||||
// Danksagung (Basis/Ideen): amper04, ray_duke, husky, Audidriver13
|
// Danksagung (Basis/Ideen): amper04, ray_duke, husky, Audidriver13
|
||||||
// =================================================================================================
|
// =================================================================================================
|
||||||
|
|
||||||
//@version=6
|
//@version=6
|
||||||
indicator("Croc Vibes by Telgos", overlay=true, max_labels_count=500, max_lines_count=500)
|
indicator("Croc Vibes by Telgos v4.2.2", overlay=true, max_labels_count=500, max_lines_count=500)
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Eingaben: Chart-Signale =========
|
||||||
// Eingaben: Chart-Signale
|
|
||||||
// -------------------------------------
|
|
||||||
wolke_Line_pink = input.source(title="Wolke Linie Pink", defval=close, group="Chart-Signale")
|
wolke_Line_pink = input.source(title="Wolke Linie Pink", defval=close, group="Chart-Signale")
|
||||||
cloud_punkt_long = input.source(title="Cloud Punkt Long", defval=close, group="Chart-Signale")
|
cloud_punkt_long = input.source(title="Cloud Punkt Long", defval=close, group="Chart-Signale")
|
||||||
red_devil_long = input.source(title="Red Devil Long", defval=close, group="Chart-Signale")
|
red_devil_long = input.source(title="Red Devil Long", defval=close, group="Chart-Signale")
|
||||||
@@ -23,36 +20,37 @@ lollipop_long = input.source(title="Lollipop long", defval=close, group
|
|||||||
aw_rocket_long = input.source(title="AW-Rocket long", defval=close, group="Chart-Signale")
|
aw_rocket_long = input.source(title="AW-Rocket long", defval=close, group="Chart-Signale")
|
||||||
bgrl_signal = input.source(title="Black Green Rocket Long", defval=close, group="Chart-Signale")
|
bgrl_signal = input.source(title="Black Green Rocket Long", defval=close, group="Chart-Signale")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Eingaben: Lochstreifen / MSI =========
|
||||||
// Eingaben: Lochstreifen / MSI
|
|
||||||
// -------------------------------------
|
|
||||||
kerze_g = input.source(title="Kerzenfarbe (1) Gruen", defval=close, group="Lochstreifen")
|
kerze_g = input.source(title="Kerzenfarbe (1) Gruen", defval=close, group="Lochstreifen")
|
||||||
kerze_s = input.source(title="Kerzenfarbe (2) Schwarz", defval=close, group="Lochstreifen")
|
kerze_s = input.source(title="Kerzenfarbe (2) Schwarz", defval=close, group="Lochstreifen")
|
||||||
kerze_r = input.source(title="Kerzenfarbe (3) Rot", defval=close, group="Lochstreifen")
|
kerze_r = input.source(title="Kerzenfarbe (3) Rot", defval=close, group="Lochstreifen")
|
||||||
status_r = input.source(title="Status (2) Rot", defval=close, group="Lochstreifen")
|
status_r = input.source(title="Status (2) Rot", defval=close, group="Lochstreifen")
|
||||||
status_g = input.source(title="Status (3) Grün", defval=close, group="Lochstreifen")
|
status_g = input.source(title="Status (3) Grün", defval=close, group="Lochstreifen")
|
||||||
wolke_g = input.source(title="Wolke (1) Grün", defval=close, group="Lochstreifen")
|
wolke_g = input.source(title="Wolke (1) Grün", defval=close, group="Lochstreifen")
|
||||||
wolke_r = input.source(title="Wolke (3) Rot", defval=close, group="Lochstreifen")
|
wolke_r = input.source(title="Wolke (3) Rot", defval=close, group="Lochstreifen")
|
||||||
trend_s = input.source(title="Trend (1) Schwarz", defval=close, group="Lochstreifen")
|
trend_s = input.source(title="Trend (1) Schwarz", defval=close, group="Lochstreifen")
|
||||||
trend_r = input.source(title="Trend (2) Rot", defval=close, group="Lochstreifen")
|
trend_r = input.source(title="Trend (2) Rot", defval=close, group="Lochstreifen")
|
||||||
trend_g = input.source(title="Trend (3) Grün", defval=close, group="Lochstreifen")
|
trend_g = input.source(title="Trend (3) Grün", defval=close, group="Lochstreifen")
|
||||||
setter_r = input.source(title="Setter (Trend 5) Rot", defval=close, group="Lochstreifen")
|
setter_r = input.source(title="Setter (Trend 5) Rot", defval=close, group="Lochstreifen")
|
||||||
setter_g = input.source(title="Setter (Trend 6) grün", defval=close, group="Lochstreifen")
|
setter_g = input.source(title="Setter (Trend 6) grün", defval=close, group="Lochstreifen")
|
||||||
welle_g = input.source(title="Welle (1) grün", defval=close, group="Lochstreifen")
|
welle_g = input.source(title="Welle (1) grün", defval=close, group="Lochstreifen")
|
||||||
welle_gg = input.source(title="Welle (2) dunkelgrün", defval=close, group="Lochstreifen")
|
welle_gg = input.source(title="Welle (2) dunkelgrün", defval=close, group="Lochstreifen")
|
||||||
welle_r = input.source(title="Welle (4) Rot", defval=close, group="Lochstreifen")
|
welle_r = input.source(title="Welle (4) Rot", defval=close, group="Lochstreifen")
|
||||||
welle_rr = input.source(title="Welle (6) dunkelRot", defval=close, group="Lochstreifen")
|
welle_rr = input.source(title="Welle (6) dunkelRot", defval=close, group="Lochstreifen")
|
||||||
|
|
||||||
src1 = input.source(close, "Day OverBought 1", group="MSI")
|
src1 = input.source(close, "Day OverBought 1", group="MSI")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Darstellung =========
|
||||||
// Darstellung
|
label_offset_mult = input.float(1.5, title="Label-Abstand (ATR x)", minval=0.1, step=0.1, group="Darstellung")
|
||||||
// -------------------------------------
|
show_price_textbox = input.bool(true, "Preis-Textboxen an Blues-Level anzeigen", group="Darstellung")
|
||||||
label_offset_mult = input.float(1.5, title="Label-Abstand (ATR x)", minval=0.1, step=0.1, group="Darstellung")
|
show_blues_lines = input.bool(true, "Blaue Pending-Linien im Chart anzeigen", group="Darstellung")
|
||||||
|
show_ps_wolke = input.bool(true, "Wolke Linie Pink auf Preisskala", group="Darstellung")
|
||||||
|
show_ps_bluel = input.bool(true, "Blues Long-Level auf Preisskala (nur aktiv)", group="Darstellung")
|
||||||
|
show_ps_blues = input.bool(true, "Blues Short-Level auf Preisskala (nur aktiv)", group="Darstellung")
|
||||||
|
col_ps_wolke = input.color(color.new(color.fuchsia, 0), "Farbe: Wolke Pink", group="Darstellung")
|
||||||
|
col_ps_bluel = input.color(color.new(color.blue, 0), "Farbe: Blues Long", group="Darstellung")
|
||||||
|
col_ps_blues = input.color(color.new(color.blue, 0), "Farbe: Blues Short", group="Darstellung")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Helper =========
|
||||||
// Helper / Ableitungen
|
|
||||||
// -------------------------------------
|
|
||||||
asBool(src) => nz(src) > 0
|
asBool(src) => nz(src) > 0
|
||||||
atr = ta.atr(16)
|
atr = ta.atr(16)
|
||||||
|
|
||||||
@@ -88,23 +86,27 @@ cz_r = asBool(kerze_r)
|
|||||||
baerische_welle = wl_rr or wl_r
|
baerische_welle = wl_rr or wl_r
|
||||||
bullische_welle = wl_gg or wl_g
|
bullische_welle = wl_gg or wl_g
|
||||||
|
|
||||||
allRed = st_r and cz_r and wk_r and tr_r and set_r and baerische_welle
|
// ========= Kernsignale =========
|
||||||
kerzeSG_l = st_r and (cz_s or cz_g) and wk_r and tr_r and set_r and baerische_welle
|
allRed = st_r and cz_r and wk_r and tr_r and set_r and baerische_welle
|
||||||
isPearlLong = kerzeSG_l and allRed[1] and allRed[2]
|
kerzeSG_l = st_r and (cz_s or cz_g) and wk_r and tr_r and set_r and baerische_welle
|
||||||
|
isPearlLong = kerzeSG_l and allRed[1] and allRed[2]
|
||||||
|
|
||||||
allGreen = st_g and cz_g and wk_g and tr_g and set_g and bullische_welle
|
allGreen = st_g and cz_g and wk_g and tr_g and set_g and bullische_welle
|
||||||
kerzeSG_s = st_g and (cz_s or cz_r) and wk_g and tr_g and set_g and bullische_welle
|
kerzeSG_s = st_g and (cz_s or cz_r) and wk_g and tr_g and set_g and bullische_welle
|
||||||
isPearlShort = kerzeSG_s and allGreen[1] and allGreen[2]
|
isPearlShort = kerzeSG_s and allGreen[1] and allGreen[2]
|
||||||
|
|
||||||
stephan_zusatzbedingung_erfuellt = cp_long or rd_long or lolli_long or bb_long or awr_long or bgrl or g_plus
|
// --- NEU: „Rotes Plus“ (r_plus) als Zusatzbedingung aufgenommen ---
|
||||||
|
stephan_zusatzbedingung_erfuellt = cp_long or rd_long or lolli_long or bb_long or awr_long or bgrl or g_plus or r_plus
|
||||||
|
|
||||||
stephan_setup = not na(src1) and wk_g and tr_s and set_r and stephan_zusatzbedingung_erfuellt
|
stephan_setup = not na(src1) and wk_g and tr_s and set_r and stephan_zusatzbedingung_erfuellt
|
||||||
|
|
||||||
Kerze_in_wolke_gr = close - wolke_Line_pink
|
Kerze_in_wolke_gr = close - wolke_Line_pink
|
||||||
ulti_rally = hgr_long and (Kerze_in_wolke_gr > 0) and st_r and cz_r and set_r and not baerische_welle
|
ulti_rally = hgr_long and (Kerze_in_wolke_gr > 0) and st_r and cz_r and set_r and not baerische_welle
|
||||||
|
|
||||||
is_bgrl = bgrl
|
is_bgrl = bgrl
|
||||||
is_rotes_plus = r_plus and wk_g
|
is_rotes_plus = r_plus and wk_g
|
||||||
|
|
||||||
|
// ========= Blues-Zonenpflege =========
|
||||||
g_active = wk_g
|
g_active = wk_g
|
||||||
r_active = wk_r
|
r_active = wk_r
|
||||||
|
|
||||||
@@ -113,16 +115,13 @@ f_rise(sig) =>
|
|||||||
cond_prev = na(sig[1]) or (sig[1] <= 0)
|
cond_prev = na(sig[1]) or (sig[1] <= 0)
|
||||||
cond_now and cond_prev
|
cond_now and cond_prev
|
||||||
|
|
||||||
// -------------------------------------
|
|
||||||
// Zonenpflege für grüne/rote Wolke (Blues-Logik)
|
|
||||||
// -------------------------------------
|
|
||||||
var int g_zoneStart = na
|
var int g_zoneStart = na
|
||||||
var float g_zoneHigh = na
|
var float g_zoneHigh = na
|
||||||
g_switch = barstate.isfirst ? true : (g_active != g_active[1])
|
g_switch = barstate.isfirst ? true : (g_active != g_active[1])
|
||||||
if bar_index == 0 or g_switch
|
if bar_index == 0 or g_switch
|
||||||
g_zoneStart := bar_index
|
g_zoneStart := bar_index
|
||||||
g_zoneHigh := na
|
g_zoneHigh := na
|
||||||
g_inZone = g_active and bar_index >= g_zoneStart
|
g_inZone = g_active and bar_index >= g_zoneStart
|
||||||
g_zoneHigh_prev = g_zoneHigh
|
g_zoneHigh_prev = g_zoneHigh
|
||||||
if g_inZone
|
if g_inZone
|
||||||
if na(g_zoneHigh) or high > g_zoneHigh
|
if na(g_zoneHigh) or high > g_zoneHigh
|
||||||
@@ -134,7 +133,7 @@ r_switch = barstate.isfirst ? true : (r_active != r_active[1])
|
|||||||
if bar_index == 0 or r_switch
|
if bar_index == 0 or r_switch
|
||||||
r_zoneStart := bar_index
|
r_zoneStart := bar_index
|
||||||
r_zoneLow := na
|
r_zoneLow := na
|
||||||
r_inZone = r_active and bar_index >= r_zoneStart
|
r_inZone = r_active and bar_index >= r_zoneStart
|
||||||
r_zoneLow_prev = r_zoneLow
|
r_zoneLow_prev = r_zoneLow
|
||||||
if r_inZone
|
if r_inZone
|
||||||
if na(r_zoneLow) or low < r_zoneLow
|
if na(r_zoneLow) or low < r_zoneLow
|
||||||
@@ -145,6 +144,7 @@ short_blue_now = r_inZone and f_rise(blauer_punkt_long)
|
|||||||
long_start_ok = long_blue_now and not na(g_zoneHigh_prev)
|
long_start_ok = long_blue_now and not na(g_zoneHigh_prev)
|
||||||
short_start_ok = short_blue_now and not na(r_zoneLow_prev)
|
short_start_ok = short_blue_now and not na(r_zoneLow_prev)
|
||||||
|
|
||||||
|
// --- State & Zeichnungsobjekte ---
|
||||||
var bool long_pending_active = false
|
var bool long_pending_active = false
|
||||||
var float long_refHigh = na
|
var float long_refHigh = na
|
||||||
var label startLblLong = na
|
var label startLblLong = na
|
||||||
@@ -155,6 +155,11 @@ var float short_refLow = na
|
|||||||
var label startLblShort = na
|
var label startLblShort = na
|
||||||
var line shortPendingLine = na
|
var line shortPendingLine = na
|
||||||
|
|
||||||
|
// --- Preis-Textboxen (Labels) ---
|
||||||
|
var label priceLblLong = na
|
||||||
|
var label priceLblShort = na
|
||||||
|
|
||||||
|
// --- Events (für Alerts) ---
|
||||||
var bool ev_long_start = false
|
var bool ev_long_start = false
|
||||||
var bool ev_short_start = false
|
var bool ev_short_start = false
|
||||||
var bool ev_long_done = false
|
var bool ev_long_done = false
|
||||||
@@ -168,30 +173,69 @@ ev_short_done := false
|
|||||||
ev_long_break := false
|
ev_long_break := false
|
||||||
ev_short_break := false
|
ev_short_break := false
|
||||||
|
|
||||||
|
// --- Start Long ---
|
||||||
if long_start_ok and not long_pending_active
|
if long_start_ok and not long_pending_active
|
||||||
|
// Gegen-Zone beenden → immer nur 1 Zone aktiv
|
||||||
|
if short_pending_active
|
||||||
|
if not na(startLblShort)
|
||||||
|
label.delete(startLblShort)
|
||||||
|
startLblShort := na
|
||||||
|
if not na(shortPendingLine)
|
||||||
|
line.delete(shortPendingLine)
|
||||||
|
shortPendingLine := na
|
||||||
|
if not na(priceLblShort)
|
||||||
|
label.delete(priceLblShort)
|
||||||
|
priceLblShort := na
|
||||||
|
short_pending_active := false
|
||||||
|
short_refLow := na
|
||||||
|
|
||||||
long_pending_active := true
|
long_pending_active := true
|
||||||
long_refHigh := g_zoneHigh_prev
|
long_refHigh := g_zoneHigh_prev
|
||||||
ev_long_start := true
|
ev_long_start := true
|
||||||
|
|
||||||
if high < long_refHigh
|
if high < long_refHigh
|
||||||
if not na(startLblLong)
|
if not na(startLblLong)
|
||||||
label.delete(startLblLong)
|
label.delete(startLblLong)
|
||||||
startLblLong := label.new(bar_index, high + atr * label_offset_mult, "Ein Hoch kommt noch", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=color.blue, textcolor=color.white, size=size.small)
|
startLblLong := label.new(bar_index, high + atr * label_offset_mult, "Ein Hoch kommt noch", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=color.blue, textcolor=color.white, size=size.small)
|
||||||
if not na(longPendingLine)
|
|
||||||
line.delete(longPendingLine)
|
|
||||||
longPendingLine := line.new(bar_index, long_refHigh, bar_index + 1, long_refHigh, xloc=xloc.bar_index, extend=extend.right, color=color.blue, width=2)
|
|
||||||
|
|
||||||
|
// Linie nur, wenn Haken gesetzt
|
||||||
|
if show_blues_lines
|
||||||
|
if not na(longPendingLine)
|
||||||
|
line.delete(longPendingLine)
|
||||||
|
longPendingLine := line.new(bar_index, long_refHigh, bar_index + 1, long_refHigh, xloc=xloc.bar_index, extend=extend.right, color=color.blue, width=2)
|
||||||
|
|
||||||
|
// --- Start Short ---
|
||||||
if short_start_ok and not short_pending_active
|
if short_start_ok and not short_pending_active
|
||||||
|
// Gegen-Zone beenden → immer nur 1 Zone aktiv
|
||||||
|
if long_pending_active
|
||||||
|
if not na(startLblLong)
|
||||||
|
label.delete(startLblLong)
|
||||||
|
startLblLong := na
|
||||||
|
if not na(longPendingLine)
|
||||||
|
line.delete(longPendingLine)
|
||||||
|
longPendingLine := na
|
||||||
|
if not na(priceLblLong)
|
||||||
|
label.delete(priceLblLong)
|
||||||
|
priceLblLong := na
|
||||||
|
long_pending_active := false
|
||||||
|
long_refHigh := na
|
||||||
|
|
||||||
short_pending_active := true
|
short_pending_active := true
|
||||||
short_refLow := r_zoneLow_prev
|
short_refLow := r_zoneLow_prev
|
||||||
ev_short_start := true
|
ev_short_start := true
|
||||||
|
|
||||||
if low > short_refLow
|
if low > short_refLow
|
||||||
if not na(startLblShort)
|
if not na(startLblShort)
|
||||||
label.delete(startLblShort)
|
label.delete(startLblShort)
|
||||||
startLblShort := label.new(bar_index, low - atr * label_offset_mult, "Ein Tief kommt noch", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_up, color=color.blue, textcolor=color.white, size=size.small)
|
startLblShort := label.new(bar_index, low - atr * label_offset_mult, "Ein Tief kommt noch", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_up, color=color.blue, textcolor=color.white, size=size.small)
|
||||||
if not na(shortPendingLine)
|
|
||||||
line.delete(shortPendingLine)
|
|
||||||
shortPendingLine := line.new(bar_index, short_refLow, bar_index + 1, short_refLow, xloc=xloc.bar_index, extend=extend.right, color=color.blue, width=2)
|
|
||||||
|
|
||||||
|
// Linie nur, wenn Haken gesetzt
|
||||||
|
if show_blues_lines
|
||||||
|
if not na(shortPendingLine)
|
||||||
|
line.delete(shortPendingLine)
|
||||||
|
shortPendingLine := line.new(bar_index, short_refLow, bar_index + 1, short_refLow, xloc=xloc.bar_index, extend=extend.right, color=color.blue, width=2)
|
||||||
|
|
||||||
|
// --- Fulfillment / Cloud-Break ---
|
||||||
long_fulfilled_now = long_pending_active and high >= long_refHigh
|
long_fulfilled_now = long_pending_active and high >= long_refHigh
|
||||||
short_fulfilled_now = short_pending_active and low <= short_refLow
|
short_fulfilled_now = short_pending_active and low <= short_refLow
|
||||||
long_cloud_break = long_pending_active and not g_active
|
long_cloud_break = long_pending_active and not g_active
|
||||||
@@ -209,6 +253,7 @@ if short_cloud_break
|
|||||||
end_long = long_pending_active and (long_fulfilled_now or long_cloud_break)
|
end_long = long_pending_active and (long_fulfilled_now or long_cloud_break)
|
||||||
end_short = short_pending_active and (short_fulfilled_now or short_cloud_break)
|
end_short = short_pending_active and (short_fulfilled_now or short_cloud_break)
|
||||||
|
|
||||||
|
// --- End Long (inline) ---
|
||||||
if end_long
|
if end_long
|
||||||
if not na(startLblLong)
|
if not na(startLblLong)
|
||||||
label.delete(startLblLong)
|
label.delete(startLblLong)
|
||||||
@@ -216,9 +261,13 @@ if end_long
|
|||||||
if not na(longPendingLine)
|
if not na(longPendingLine)
|
||||||
line.delete(longPendingLine)
|
line.delete(longPendingLine)
|
||||||
longPendingLine := na
|
longPendingLine := na
|
||||||
|
if not na(priceLblLong)
|
||||||
|
label.delete(priceLblLong)
|
||||||
|
priceLblLong := na
|
||||||
long_pending_active := false
|
long_pending_active := false
|
||||||
long_refHigh := na
|
long_refHigh := na
|
||||||
|
|
||||||
|
// --- End Short (inline) ---
|
||||||
if end_short
|
if end_short
|
||||||
if not na(startLblShort)
|
if not na(startLblShort)
|
||||||
label.delete(startLblShort)
|
label.delete(startLblShort)
|
||||||
@@ -226,12 +275,53 @@ if end_short
|
|||||||
if not na(shortPendingLine)
|
if not na(shortPendingLine)
|
||||||
line.delete(shortPendingLine)
|
line.delete(shortPendingLine)
|
||||||
shortPendingLine := na
|
shortPendingLine := na
|
||||||
|
if not na(priceLblShort)
|
||||||
|
label.delete(priceLblShort)
|
||||||
|
priceLblShort := na
|
||||||
short_pending_active := false
|
short_pending_active := false
|
||||||
short_refLow := na
|
short_refLow := na
|
||||||
|
|
||||||
// -------------------------------------
|
// --- Linien entfernen, wenn Haken aus ---
|
||||||
// Standard-Alertbedingungen
|
if not show_blues_lines
|
||||||
// -------------------------------------
|
if not na(longPendingLine)
|
||||||
|
line.delete(longPendingLine)
|
||||||
|
longPendingLine := na
|
||||||
|
if not na(shortPendingLine)
|
||||||
|
line.delete(shortPendingLine)
|
||||||
|
shortPendingLine := na
|
||||||
|
|
||||||
|
// --- Preis-Textboxen zeichnen / aktualisieren ---
|
||||||
|
if show_price_textbox and long_pending_active
|
||||||
|
int lx = na(longPendingLine) ? bar_index : line.get_x1(longPendingLine)
|
||||||
|
float ly = long_refHigh
|
||||||
|
string t = str.tostring(ly, format.mintick)
|
||||||
|
if na(priceLblLong)
|
||||||
|
priceLblLong := label.new(lx, ly, t, 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, lx)
|
||||||
|
label.set_y(priceLblLong, ly)
|
||||||
|
label.set_text(priceLblLong, t)
|
||||||
|
else
|
||||||
|
if not na(priceLblLong)
|
||||||
|
label.delete(priceLblLong)
|
||||||
|
priceLblLong := na
|
||||||
|
|
||||||
|
if show_price_textbox and short_pending_active
|
||||||
|
int sx = na(shortPendingLine) ? bar_index : line.get_x1(shortPendingLine)
|
||||||
|
float sy = short_refLow
|
||||||
|
string ts = str.tostring(sy, format.mintick)
|
||||||
|
if na(priceLblShort)
|
||||||
|
priceLblShort := label.new(sx, sy, 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, sx)
|
||||||
|
label.set_y(priceLblShort, sy)
|
||||||
|
label.set_text(priceLblShort, ts)
|
||||||
|
else
|
||||||
|
if not na(priceLblShort)
|
||||||
|
label.delete(priceLblShort)
|
||||||
|
priceLblShort := na
|
||||||
|
|
||||||
|
// ========= Alerts: Standard =========
|
||||||
alertcondition(isPearlLong, title="Pearl Long", message="Pearl Diver erkannt – {{ticker}} {{interval}}")
|
alertcondition(isPearlLong, title="Pearl Long", message="Pearl Diver erkannt – {{ticker}} {{interval}}")
|
||||||
alertcondition(isPearlShort, title="Pearl Short", message="Oyster Farmer erkannt – {{ticker}} {{interval}}")
|
alertcondition(isPearlShort, title="Pearl Short", message="Oyster Farmer erkannt – {{ticker}} {{interval}}")
|
||||||
alertcondition(ulti_rally, title="Ulti Rally", message="Ulti Rally erkannt – {{ticker}} {{interval}}")
|
alertcondition(ulti_rally, title="Ulti Rally", message="Ulti Rally erkannt – {{ticker}} {{interval}}")
|
||||||
@@ -248,18 +338,15 @@ alertcondition(ev_short_done, title="Blues: Ein Tief kommt noch (Erfüllt)",
|
|||||||
alertcondition(ev_long_break, title="Blues: Ein Hoch kommt noch (Wolkenbruch)", message="Blues Long INVALID (Cloud Break) – {{ticker}} {{interval}}")
|
alertcondition(ev_long_break, title="Blues: Ein Hoch kommt noch (Wolkenbruch)", message="Blues Long INVALID (Cloud Break) – {{ticker}} {{interval}}")
|
||||||
alertcondition(ev_short_break, title="Blues: Ein Tief kommt noch (Wolkenbruch)", message="Blues Short INVALID (Cloud Break) – {{ticker}} {{interval}}")
|
alertcondition(ev_short_break, title="Blues: Ein Tief kommt noch (Wolkenbruch)", message="Blues Short INVALID (Cloud Break) – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Alert-Kombinator (UND/ODER) =========
|
||||||
// Alert-Kombinator (UND/ODER)
|
|
||||||
// -------------------------------------
|
|
||||||
grp = "ALERT-COMBO"
|
grp = "ALERT-COMBO"
|
||||||
|
optNone = "— (keins) —"
|
||||||
optNone = "— (keins) —"
|
optPearlLong = "Pearl Long"
|
||||||
optPearlLong = "Pearl Long"
|
optPearlShort = "Pearl Short"
|
||||||
optPearlShort = "Pearl Short"
|
optUlti = "Ulti Rally"
|
||||||
optUlti = "Ulti Rally"
|
optStephan = "Stephan Setup"
|
||||||
optStephan = "Stephan Setup"
|
optBGRL = "BGRL"
|
||||||
optBGRL = "BGRL"
|
optRotesPlus = "Rotes Kreuz (grüne Wolke)"
|
||||||
optRotesPlus = "Rotes Kreuz (grüne Wolke)"
|
|
||||||
optBlueLActive = "Blues: Ein Hoch kommt noch (aktiv)"
|
optBlueLActive = "Blues: Ein Hoch kommt noch (aktiv)"
|
||||||
optBlueSActive = "Blues: Ein Tief kommt noch (aktiv)"
|
optBlueSActive = "Blues: Ein Tief kommt noch (aktiv)"
|
||||||
|
|
||||||
@@ -303,7 +390,7 @@ s4 = sel4 != optNone
|
|||||||
s5 = sel5 != optNone
|
s5 = sel5 != optNone
|
||||||
|
|
||||||
anySel = (s1 ? c1 : false) or (s2 ? c2 : false) or (s3 ? c3 : false) or (s4 ? c4 : false) or (s5 ? c5 : false)
|
anySel = (s1 ? c1 : false) or (s2 ? c2 : false) or (s3 ? c3 : false) or (s4 ? c4 : false) or (s5 ? c5 : false)
|
||||||
allSel = (s1 ? c1 : true ) and (s2 ? c2 : true ) and (s3 ? c3 : true ) and (s4 ? c4 : true ) and (s5 ? c5 : true )
|
allSel = (s1 ? c1 : true) and (s2 ? c2 : true) and (s3 ? c3 : true) and (s4 ? c4 : true) and (s5 ? c5 : true)
|
||||||
hasSelection = s1 or s2 or s3 or s4 or s5
|
hasSelection = s1 or s2 or s3 or s4 or s5
|
||||||
|
|
||||||
pickedBlueL = (sel1 == optBlueLActive) or (sel2 == optBlueLActive) or (sel3 == optBlueLActive) or (sel4 == optBlueLActive) or (sel5 == optBlueLActive)
|
pickedBlueL = (sel1 == optBlueLActive) or (sel2 == optBlueLActive) or (sel3 == optBlueLActive) or (sel4 == optBlueLActive) or (sel5 == optBlueLActive)
|
||||||
@@ -315,33 +402,41 @@ comboCond = hasSelection ? (useOr ? anySel : allSel) : false
|
|||||||
|
|
||||||
alertcondition(comboCond, title="ALERT-COMBO (aus Eingaben)", message="ALERT-COMBO erfüllt – {{ticker}} {{interval}}")
|
alertcondition(comboCond, title="ALERT-COMBO (aus Eingaben)", message="ALERT-COMBO erfüllt – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Telgos 2-Bar-Prime =========
|
||||||
// Telgos 2-Bar-Prime (Kerze 0 oder -1)
|
|
||||||
// -------------------------------------
|
|
||||||
grpTHP = "Telgos-Filter"
|
grpTHP = "Telgos-Filter"
|
||||||
require_since_start = input.bool(true, "2-Bar-Prime: Auslöser seit Blues-Start", group=grpTHP)
|
require_since_start = input.bool(true, "Ein Hoch/Tief kommt noch für Filter aktiv", group=grpTHP, tooltip="Wenn aktiviert: Nur Auslöser berücksichtigen, die seit Beginn des aktuellen 'Ein Hoch/Tief kommt noch' aufgetreten sind")
|
||||||
|
|
||||||
// Auslösermenge für 2-Bar-Prime
|
|
||||||
ausloeser_signal = isPearlLong or ulti_rally or stephan_setup or is_bgrl or is_rotes_plus
|
ausloeser_signal = isPearlLong or ulti_rally or stephan_setup or is_bgrl or is_rotes_plus
|
||||||
|
|
||||||
// Kerzenfenster: nur aktuelle Kerze (0) oder vorherige Kerze (-1)
|
|
||||||
trigger_now_or_prev = ausloeser_signal or (bar_index > 0 ? ausloeser_signal[1] : false)
|
trigger_now_or_prev = ausloeser_signal or (bar_index > 0 ? ausloeser_signal[1] : false)
|
||||||
|
|
||||||
|
since_start = ta.barssince(ev_long_start)
|
||||||
// Optional: Der Auslöser muss seit Beginn der aktuellen Blues-Phase aufgetreten sein
|
|
||||||
since_start = ta.barssince(ev_long_start)
|
|
||||||
since_trigger = ta.barssince(ausloeser_signal)
|
since_trigger = ta.barssince(ausloeser_signal)
|
||||||
cond_since_start = not na(since_start) and not na(since_trigger) and since_trigger <= since_start
|
cond_since_start = not na(since_start) and not na(since_trigger) and since_trigger <= since_start
|
||||||
|
|
||||||
// Finale Bedingung
|
|
||||||
telgos_2bar_prime_cond = long_pending_active and trigger_now_or_prev and (not require_since_start or cond_since_start)
|
telgos_2bar_prime_cond = long_pending_active and trigger_now_or_prev and (not require_since_start or cond_since_start)
|
||||||
|
|
||||||
// Ein eigener Alarmtitel/-text
|
|
||||||
alertcondition(telgos_2bar_prime_cond, title="Telgos 2-Bar-Prime", message="Telgos 2-Bar-Prime – {{ticker}} {{interval}}")
|
alertcondition(telgos_2bar_prime_cond, title="Telgos 2-Bar-Prime", message="Telgos 2-Bar-Prime – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
// -------------------------------------
|
// ========= Preisskala-Labels =========
|
||||||
// Labels / Shapes (dezente Visualisierung)
|
|
||||||
// -------------------------------------
|
// 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
|
if isPearlLong
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Pearl Diver", style=label.style_label_up, color=color.purple, textcolor=color.white, size=size.small)
|
label.new(bar_index, low - atr * label_offset_mult, text="Pearl Diver", style=label.style_label_up, color=color.purple, textcolor=color.white, size=size.small)
|
||||||
if isPearlShort
|
if isPearlShort
|
||||||
|
Reference in New Issue
Block a user