Compare commits
37 Commits
3.6.0
...
pre-identi
Author | SHA1 | Date | |
---|---|---|---|
7bbe02db3b | |||
c0dd450f64 | |||
15c8744da1 | |||
82a8e0845e | |||
48824ee395 | |||
82bbe33572 | |||
851adb2ff4 | |||
b277a0eed4 | |||
11d6dbb3c5 | |||
8d09f63e8d | |||
a375de8558 | |||
afc4ca17e0 | |||
e8c7f85c9a | |||
eb1d4c3e13 | |||
f4fdb20446 | |||
3b1ee5f97a | |||
dd7b686bbc | |||
7abd71264b | |||
46b2686721 | |||
ac58ae94be | |||
a042f7be71 | |||
795f966869 | |||
adb841a1af | |||
a2ecbeaae0 | |||
612dff76f7 | |||
0828e87dfc | |||
53cdd269bb | |||
8f63312e8f | |||
27a57e8269 | |||
2d3ef5bac7 | |||
31badc0e8c | |||
db10660f0c | |||
c20781c7c9 | |||
e835a7d116 | |||
43fe55aa43 | |||
1fc4a85869 | |||
98cb905750 |
13
FAQ.md
13
FAQ.md
@@ -1,13 +0,0 @@
|
|||||||
# Croc Vibes – FAQ
|
|
||||||
denn die immer wiederkehrenden Fragen kosten viel zu viel *unwiederbringliche Lebenszeit*.** 😉
|
|
||||||
|
|
||||||
### Warum muss ich meine Variablen nach einem Update neu zuordnen?
|
|
||||||
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.
|
|
||||||
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. Wer also am Script arbeitet oder externe Indikatoren als Quelle einbindet, muss damit rechnen, die Zuordnungen nach einer Änderung erneut vorzunehmen.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
109
Installation.md
109
Installation.md
@@ -1,109 +0,0 @@
|
|||||||
# 📈 Croc Vibes – Installations- & Nutzungshinweise
|
|
||||||
|
|
||||||
Dieses Skript erkennt diverse Long-Signale im Croc 3.0 System und zeigt sie direkt im TradingView-Chart – inklusive Labels, Marken und automatischer Alerts.
|
|
||||||
Ziel: **visuelles Feedback, wann ein valider Einstieg vorliegt**, z. B. „Pearl Diver“, „Ulti Rally“, „Stephan Setup“ oder „Black Green Rocket Long (BGRL)“.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧭 Voraussetzungen
|
|
||||||
|
|
||||||
- Kostenloser Account bei [tradingview.com](https://www.tradingview.com)
|
|
||||||
- Alle benötigten **Croc-Indikatoren** müssen dem Chart hinzugefügt sein (Lochstreifen, MSI, Cloud etc.)
|
|
||||||
- Du brauchst das Pine Skript `Croc Vibes by Telgos` in der aktuellen Version (unter Mozilla Public License 2.0)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Schritt 1: Skript in TradingView einfügen
|
|
||||||
|
|
||||||
1. Öffne deinen TradingView-Chart (z. B. S&P 500, Nasdaq, BTC …)
|
|
||||||
2. Öffne unten den Reiter **„Pine Editor“**
|
|
||||||
3. Füge das vollständige Skript `Croc Vibes by Telgos` ein
|
|
||||||
4. Klicke oben auf **„Speichern“** → gib dem Skript einen Namen
|
|
||||||
5. Klicke auf **„Zum Chart hinzufügen“**
|
|
||||||
|
|
||||||
Du siehst nun je nach Marktlage **bunte Labels, Punkte, Marken und Signale** direkt im Chart.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧩 Schritt 2: Eingaben korrekt zuweisen (Pflicht)
|
|
||||||
|
|
||||||
Ohne diesen Schritt **funktioniert das Skript nicht** – du siehst keine Signale.
|
|
||||||
|
|
||||||
### 🔧 So geht’s:
|
|
||||||
|
|
||||||
1. Bewege die Maus über den Skript-Namen im Chart
|
|
||||||
2. Klicke auf das ⚙️ **Zahnrad-Symbol** → gehe zum Reiter **„Eingaben“**
|
|
||||||
3. Dort siehst du 4 Gruppen:
|
|
||||||
|
|
||||||
| Gruppe | Bedeutung |
|
|
||||||
|-------------------------|---------------------------------------------------------------------------|
|
|
||||||
| **Chart-Signale** | Verknüpfung zu Croc-Punkten wie Cloud, Pearl, BGRL usw. |
|
|
||||||
| **Lochstreifen** | Status, Trend, Welle, Kerzenfarbe → die Zahl in Klammern = Plot-Nummer |
|
|
||||||
| **MSI** | Bedingungen für Stephan Setup |
|
|
||||||
| **Allgemeine Einstellungen** | Steuerung von Labels, Marken, Abständen |
|
|
||||||
|
|
||||||
> 📌 **Beispiel:** „Trend (3) Grün“ → ist der **dritte Plot** des „Trend“-Indikators.
|
|
||||||
> Wichtig: Die Croc-Indikatoren **müssen auf dem Chart liegen**, sonst erscheinen sie nicht zur Auswahl.
|
|
||||||
> Hier ein Link auf Video zur Zuweisung der Variablen: https://git.cygos.synology.me/Telgos/Croc_Vibes/raw/branch/main/Schritt2.mp4
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Schritt 3: Konfiguration (optional)
|
|
||||||
|
|
||||||
Im Reiter **„Allgemeine Einstellungen“** kannst du das Verhalten des Skripts anpassen:
|
|
||||||
|
|
||||||
| Option | Wirkung |
|
|
||||||
|-------------------------------------|-------------------------------------------------------------------------|
|
|
||||||
| ✅ **Blaue Punkte Labels anzeigen** | Aktiviert Hinweise wie „Ein Hoch kommt noch“ oder „Tief verpasst“ |
|
|
||||||
| 🔢 **Swing-Lookback** | Bestimmt, wie viele Kerzen zurück für Swing-Bewertungen geschaut wird |
|
|
||||||
| 📐 **Label Abstand (ATR Multiplikator)** | Beeinflusst vertikalen Abstand der Labels zu den Kerzen |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔔 Schritt 4: Alerts einrichten (empfohlen)
|
|
||||||
|
|
||||||
1. Klicke im Chart oben auf das Glocken-Symbol 🔔
|
|
||||||
2. Wähle dein Skript als Bedingung aus
|
|
||||||
3. Wähle z. B. **„Pearl Long“** oder **„Stephan Setup“**
|
|
||||||
4. Definiere deine Nachricht (z. B. „🚀 Croc Long-Signal aktiv!“)
|
|
||||||
5. Lege Benachrichtigungsmethode fest (Push, E-Mail, Webhook …)
|
|
||||||
6. Speichern ✅
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✅ Enthaltene Signale (Auswahl)
|
|
||||||
|
|
||||||
| Signaltyp | Bedeutung / Logik |
|
|
||||||
|---------------------|------------------------------------------------------------------------------------|
|
|
||||||
| **Pearl Diver** | Basissignal bei roten Bedingungen + Kerzenfarbe-Kombi |
|
|
||||||
| **Oyster Farmer** | Gegenstück für Short |
|
|
||||||
| **Ulti Rally** | Starker bullischer Ausbruch mit Cloud & Setup |
|
|
||||||
| **Stephan Setup** | Kombi aus MSI‑Filter + Cloud‑Komponenten (z. B. BGRL, Red Devil, Rocket etc.) |
|
|
||||||
| **BGRL** | Black Green Rocket Long (Lochstreifen + grüner Punkt bei schwarzer Kerze) |
|
|
||||||
| **Blauer Punkt erfüllt** | Bestätigung von offenen Punkten basierend auf Swing-Bedingungen |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧾 Lizenz (Mozilla Public License 2.0)
|
|
||||||
|
|
||||||
Der Code unterliegt der [MPL 2.0](https://mozilla.org/MPL/2.0/).
|
|
||||||
|
|
||||||
| Du darfst … | Du musst … |
|
|
||||||
|--------------------------------------|-------------------------------------------------------|
|
|
||||||
| ✅ frei nutzen, verändern, veröffentlichen | ⚠️ Lizenztext erhalten |
|
|
||||||
| ✅ auch kommerziell verwenden | ⚠️ Änderungen ebenfalls unter MPL 2.0 stellen |
|
|
||||||
| ✅ Teile in eigene Projekte einbauen | 🔒 Nur der Script-Teil muss offengelegt werden |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧠 Tipp zum Schluss
|
|
||||||
|
|
||||||
Wenn du beim ersten Setup keine Signale siehst:
|
|
||||||
- Prüfe, ob **alle Quellen korrekt zugewiesen** sind
|
|
||||||
- Achte auf **identische Timeframes**
|
|
||||||
- Nutze **normale Candles**, kein Heikin Ashi (verändert Setup-Verhalten)
|
|
||||||
- Aktiviere im Zweifel **nur einzelne Gruppen (z. B. nur Pearl)** zur Fehlersuche
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
by Telgos – bereitgestellt ohne Support
|
|
||||||
Für Feedback, Erweiterungen oder Bugfixes: bitte eigene Forks nutzen oder melden.
|
|
23
LICENSE.md
Normal file
23
LICENSE.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
⚠️ **Wichtiger Hinweis** ⚠️
|
||||||
|
|
||||||
|
**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.
|
||||||
|
|
||||||
|
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**.
|
||||||
|
|
||||||
|
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.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Lizenz
|
||||||
|
|
||||||
|
Dieses Projekt steht unter der **Mozilla Public License 2.0 (MPL-2.0)**.
|
||||||
|
|
||||||
|
Das bedeutet:
|
||||||
|
- Du darfst den Code frei nutzen, ändern und weitergeben.
|
||||||
|
- Änderungen am Code müssen ebenfalls unter der MPL-2.0 veröffentlicht 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/).
|
154
README.md
154
README.md
@@ -1,93 +1,65 @@
|
|||||||
# Pine Script – Bereitstellung ohne Support
|

|
||||||
|
|
||||||
Im Forum von André ist es aktuell technisch nicht möglich, Pine Script so zu posten, dass ein einfaches Copy & Paste funktioniert. Wenn sich das ändern, wird der Zugriff hierauf deaktiviert.
|
|
||||||
|
|
||||||
🛠️ **Hinweis:**
|
|
||||||
Für das Script gibt es *keinen Support*. Auch Anfragen auf Erweiterungen oder Anpassung dieser Version werden nicht supportet. Du kannst das Script gerne an deine eigenen Bedürfnisse anpassen, umbauen oder erweitern – ganz wie du magst. 💡 Wenn du Ideen oder Wünsche für neue Funktionen hast, kannst du sie gern André direkt vorschlagen – vielleicht landen sie in einer zukünftigen Croc-Version.
|
|
||||||
|
|
||||||
# 📈 Croc Vibes by Telgos – Pine Script Übersicht
|
|
||||||
|
|
||||||
Dieses Skript ist eine erweiterte Indikator-Logik im Croc-Handelssystem, implementiert mit Pine Script® Version 5 für TradingView.
|
|
||||||
Ziel ist es, verschiedene Long-Setups wie Pearl Diver, Stephan Setup oder Ulti Rally anhand von Original-Lochstreifenindikatoren, Wolkenfarben, Candle-Farben und MSI-Werten zu erkennen und visuell wie analytisch darzustellen.
|
|
||||||
|
|
||||||
> 👨💻 Autor: Telgos
|
|
||||||
> 🕊️ Lizenz: [Mozilla Public License 2.0](https://mozilla.org/MPL/2.0/)
|
|
||||||
|
|
||||||
## 🔧 Technische Grundlagen
|
|
||||||
|
|
||||||
Das Skript verwendet:
|
|
||||||
- Pine Script® V5
|
|
||||||
- Externe Inputs aus Connector-Indikatoren (Wolke, Trend, Punkte, MSI)
|
|
||||||
- Swing-Analyse auf Hoch/Tief zur Punktvalidierung
|
|
||||||
- ATR-basierte Visualisierung von Labels
|
|
||||||
- Dynamische SL/TP-Marken
|
|
||||||
- Alerts für Screener / Automatisierung
|
|
||||||
|
|
||||||
## 🧩 Eingabestruktur
|
|
||||||
|
|
||||||
**Gruppe: Chart-Signale**
|
|
||||||
- Cloud-, Red-Devil-, BB-Kombi-, Rocket-, Lollipop- und BGRL-Signale
|
|
||||||
- Blauer Punkt Long/Short
|
|
||||||
- MSI-Level (Day, Week 2, Week 5)
|
|
||||||
|
|
||||||
**Gruppe: Lochstreifen**
|
|
||||||
- Farben: Kerze, Trend, Setter, Welle, Wolke
|
|
||||||
- Status (grün/rot)
|
|
||||||
|
|
||||||
**Allgemeine Einstellungen**
|
|
||||||
- Anzeigeoptionen für Labels
|
|
||||||
- ATR-Multiplikator
|
|
||||||
- Swing-Lookback-Wert
|
|
||||||
|
|
||||||
## 📈 Strategien / Setups
|
|
||||||
|
|
||||||
### 🟣 Pearl Diver / Oyster Farmer
|
|
||||||
- Strikte Farbkombinationen aus Status, Trend, Wolke, Setter und Kerze
|
|
||||||
- Swing-basierte Bestätigung der vorherigen AllRed/AllGreen-Bedingungen
|
|
||||||
|
|
||||||
### 🟢 Stephan Setup
|
|
||||||
- MSI-Level (alle negativ)
|
|
||||||
- Zusatzbedingung (mind. ein aktives Zusatzsignal)
|
|
||||||
- Setter rot + Trend schwarz + Wolke grün
|
|
||||||
|
|
||||||
### 💠 Ulti Rally
|
|
||||||
- Hellgrüner Punkt oberhalb der Wolke
|
|
||||||
- Kein aktiver Bärenmarkt (Welle nicht rot)
|
|
||||||
- Setter rot + Status rot + Kerze rot
|
|
||||||
|
|
||||||
### ⬛ Black Green Rocket Long (BGRL)
|
|
||||||
- Rein auf externes Signal basiert
|
|
||||||
|
|
||||||
## 🔵 Blaue Punkt-Erkennung (Swing Validation)
|
|
||||||
|
|
||||||
Validierung über:
|
|
||||||
- Swing High/Low innerhalb des Lookback
|
|
||||||
- Wolkenfarbe als Trend-Richtung
|
|
||||||
- Signal wird als "erfüllt" markiert oder mit alternativen Labels:
|
|
||||||
- „Ein Hoch kommt noch“
|
|
||||||
- „Ein Tief kommt noch“
|
|
||||||
- „Hoch/Tief verpasst“
|
|
||||||
|
|
||||||
## 🧠 Visualisierung
|
|
||||||
|
|
||||||
- Farbige Labels direkt am Chart
|
|
||||||
- SL/TP-Linien mit Preisangabe neben der letzten Kerze (Entry + minTick)
|
|
||||||
- Shapes für Screener/Backtest (z. B. `plotshape(isPearlLong)`)
|
|
||||||
|
|
||||||
## 🔔 Alerts
|
|
||||||
|
|
||||||
Für folgende Bedingungen:
|
|
||||||
- Pearl Diver / Oyster Farmer
|
|
||||||
- Stephan Setup
|
|
||||||
- Ulti Rally
|
|
||||||
- BGRL
|
|
||||||
- Blauer Punkt erfüllt
|
|
||||||
|
|
||||||
## 🛡️ Hinweise
|
|
||||||
|
|
||||||
- Das Skript nutzt ausschließlich visuelle Darstellung. Kein automatisierter Entry per `strategy.entry`.
|
|
||||||
- Für Screener-/Bot-Zwecke sind die `alertcondition()`-Blöcke ideal vorbereitet.
|
|
||||||
- Eine Backtest-Strategie müsste separat in einer Pine-Strategy-Datei umgesetzt werden.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
> Kein Support – freie Anpassung durch den Nutzer erwünscht.
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
⚠️ **Wichtiger Hinweis** ⚠️
|
||||||
|
|
||||||
|
**Croc Vibes** ist ein *Community-Hilfsskript*.
|
||||||
|
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.
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 Aktuelle Version
|
||||||
|
|
||||||
|
➡️ **[Croc Vibes v4.0.0](./indicators/croc_vibes.pine)** ✅
|
||||||
|
|
||||||
|
👉 Details zu allen Änderungen siehe [CHANGELOG.md](./docs/CHANGELOG.md)
|
||||||
|
|
||||||
|
# ✨ Neues Feature: Telgos 2-Bar-Prime
|
||||||
|
|
||||||
|
**Telgos 2-Bar-Prime** ist ein spezieller Alarmfilter für **Croc Vibes**:
|
||||||
|
|
||||||
|
- **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
|
||||||
|
|
||||||
|
**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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
👉 Details siehe [Installation.md](./docs/Installation.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
👉 Häufige Fragen findest du in der [FAQ.md](./docs/FAQ.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hinweis zur Nutzung
|
||||||
|
|
||||||
|
Croc Vibes ist ein Community-Hilfsskript und nicht offiziell von André.
|
||||||
|
Es gibt keinen Anspruch auf Vollständigkeit oder Support – Nutzung erfolgt auf eigene Verantwortung.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lizenz
|
||||||
|
|
||||||
|
Dieses Projekt steht unter der [Mozilla Public License 2.0](https://mozilla.org/MPL/2.0/).
|
||||||
|
Siehe auch [LICENSE.md](./LICENSE.md).
|
||||||
|
BIN
Schritt2.mp4
BIN
Schritt2.mp4
Binary file not shown.
135
croc_vibes.pine
135
croc_vibes.pine
@@ -1,135 +0,0 @@
|
|||||||
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
|
|
||||||
|
|
||||||
// CrocVibes by Telgos
|
|
||||||
|
|
||||||
// Danke für die Grundlagen und Basisversion: amper04, ray_duke, husky, Audidriver13│
|
|
||||||
|
|
||||||
//@version=5
|
|
||||||
indicator("Croc Vibes V3.6 by Telgos", overlay=true)
|
|
||||||
|
|
||||||
// === Inputs ===
|
|
||||||
// --- Gruppe: Chart-Signale ---
|
|
||||||
wolke_Line_rot = input.source(title="Wolke Linie Pink", defval=close, group="Chart-Signale")
|
|
||||||
blauer_punkt_long = input.source(title="Blauer Punkt Long", defval=close, group="Chart-Signale")
|
|
||||||
blauer_punkt_short = input.source(title="Blauer Punkt Short", defval=close, group="Chart-Signale")
|
|
||||||
hellgruener_punkt_long = input.source(title="Hellgruener 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")
|
|
||||||
bb_kombi_long = input.source(title="BB Kombi long", defval=close, group="Chart-Signale")
|
|
||||||
lollipop_long = input.source(title="Lollipop 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")
|
|
||||||
rotes_plus = input.source(title="Rotes Plus", defval=close, group="Chart-Signale")
|
|
||||||
|
|
||||||
// --- Gruppe: Lochstreifen ---
|
|
||||||
status_g = input.source(title="Status (1) Grün", defval=close, group="Lochstreifen")
|
|
||||||
status_r = input.source(title="Status (2) Rot", 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")
|
|
||||||
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_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_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_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_rr = input.source(title="Welle (6) dunkelRot", 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_r = input.source(title="Kerzenfarbe (3) Rot", defval=close, group="Lochstreifen")
|
|
||||||
|
|
||||||
// --- Gruppe: MSI ---
|
|
||||||
src1 = input.source(close, "Day OverBought 1", group="MSI")
|
|
||||||
|
|
||||||
// --- Gruppe: Allgemeine Einstellungen ---
|
|
||||||
show_blue_dot_labels = input.bool(true, title="Blaue Punkte Labels anzeigen", group="Allgemeine Einstellungen")
|
|
||||||
swing_lookback = input.int(5, title="Swing-Lookback", minval=1, group="Allgemeine Einstellungen")
|
|
||||||
label_offset_mult = input.float(3.0, title="Label Abstand (ATR Multiplikator)", minval=0.1, step=0.1, group="Allgemeine Einstellungen")
|
|
||||||
|
|
||||||
// Signal_close zu Übergeben macht keinen Sinn
|
|
||||||
signal_close = close
|
|
||||||
|
|
||||||
// === Logik ===
|
|
||||||
atr = ta.atr(16)
|
|
||||||
baerische_welle = (welle_rr > 0 or welle_r > 0)
|
|
||||||
bullische_welle = (welle_gg > 0 or welle_g > 0)
|
|
||||||
|
|
||||||
// === Pearl Diver ===
|
|
||||||
allRed = (status_r > 0) and (kerze_r > 0) and (wolke_r > 0) and (trend_r > 0) and (setter_r > 0) and baerische_welle
|
|
||||||
kerzeSG_l = (status_r > 0) and ((kerze_s > 0) or (kerze_g > 0)) and (wolke_r > 0) and (trend_r > 0) and (setter_r > 0) and baerische_welle
|
|
||||||
isPearlLong = kerzeSG_l and allRed[1] and allRed[2]
|
|
||||||
|
|
||||||
allGreen = (status_g > 0) and (kerze_g > 0) and (wolke_g > 0) and (trend_g > 0) and (setter_g > 0) and bullische_welle
|
|
||||||
kerzeSG_s = (status_g > 0) and ((kerze_s > 0) or (kerze_r > 0)) and (wolke_g > 0) and (trend_g > 0) and (setter_g > 0) and bullische_welle
|
|
||||||
isPearlShort = kerzeSG_s and allGreen[1] and allGreen[2]
|
|
||||||
|
|
||||||
// === Stephan-Setup (V2-Logik) ===
|
|
||||||
stephan_zusatzbedingung_erfuellt = (cloud_punkt_long > 0) or
|
|
||||||
(red_devil_long > 0) or
|
|
||||||
(lollipop_long > 0) or
|
|
||||||
(bb_kombi_long > 0) or
|
|
||||||
(aw_rocket_long > 0) or
|
|
||||||
(bgrl_signal > 0)
|
|
||||||
stephan_setup = not na(src1) and (wolke_g > 0) and (trend_s > 0) and (setter_r > 0) and stephan_zusatzbedingung_erfuellt
|
|
||||||
|
|
||||||
// === Ulti Rally (V2-kompatibel) ===
|
|
||||||
Kerze_in_wolke_gr = signal_close - wolke_Line_rot
|
|
||||||
ulti_rally = (hellgruener_punkt_long > 0) and (Kerze_in_wolke_gr > 0) and (status_r > 0) and (kerze_r > 0) and (setter_r > 0) and not baerische_welle
|
|
||||||
|
|
||||||
// === BGRL ===
|
|
||||||
is_bgrl = bgrl_signal > 0
|
|
||||||
|
|
||||||
// === Rotes Plus ===
|
|
||||||
is_rotes_plus = (rotes_plus > 0) and (wolke_g > 0)
|
|
||||||
|
|
||||||
// === Blaue Punkte ===
|
|
||||||
highest_swing = ta.highest(high, swing_lookback)
|
|
||||||
lowest_swing = ta.lowest(low, swing_lookback)
|
|
||||||
isBlueShortFulfilled = (wolke_g > 0 and blauer_punkt_short > high and high == highest_swing)
|
|
||||||
isBlueLongFulfilled = (wolke_r > 0 and blauer_punkt_long < low and low == lowest_swing)
|
|
||||||
punkt_erfuellt = isBlueShortFulfilled or isBlueLongFulfilled
|
|
||||||
|
|
||||||
// === Alerts ===
|
|
||||||
alertcondition(isPearlLong, title="Pearl Long", message="Pearl Diver erkannt")
|
|
||||||
alertcondition(isPearlShort, title="Pearl Short", message="Oyster Farmer erkannt")
|
|
||||||
alertcondition(ulti_rally, title="Ulti Rally", message="Ulti Rally erkannt")
|
|
||||||
alertcondition(stephan_setup, title="Stephan Setup", message="Stephan Setup erkannt")
|
|
||||||
alertcondition(is_bgrl, title="BGRL", message="Black Green Rocket Long erkannt")
|
|
||||||
alertcondition(is_rotes_plus, title="Rotes Kreuz bei grüner Wolke", message="Rotes Kreuz erkannt")
|
|
||||||
|
|
||||||
// === Labels ===
|
|
||||||
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)
|
|
||||||
if isPearlShort
|
|
||||||
label.new(bar_index, high + atr * label_offset_mult, text="Oyster Farmer", style=label.style_label_down, color=color.purple, textcolor=color.white, size=size.small)
|
|
||||||
if ulti_rally
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Ulti", style=label.style_label_up, color=color.aqua, textcolor=color.white, size=size.small)
|
|
||||||
if stephan_setup
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Stephan", style=label.style_label_up, color=color.teal, textcolor=color.white, size=size.small)
|
|
||||||
if is_bgrl
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="BGRL", style=label.style_label_up, color=color.black, textcolor=color.white, size=size.small)
|
|
||||||
if is_rotes_plus
|
|
||||||
label.new(bar_index, high + atr * label_offset_mult, text="Rotes Kreuz", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
|
|
||||||
|
|
||||||
// === Blaue Punkt Labels ===
|
|
||||||
if isBlueShortFulfilled and show_blue_dot_labels
|
|
||||||
label.new(bar_index, high + atr * label_offset_mult, text="Blauer erfüllt", style=label.style_label_down, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
if isBlueLongFulfilled and show_blue_dot_labels
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Blauer erfüllt", style=label.style_label_up, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
if wolke_g > 0 and blauer_punkt_short > high and not punkt_erfuellt and show_blue_dot_labels
|
|
||||||
label.new(bar_index, high + atr * label_offset_mult, text="Ein Hoch kommt noch", style=label.style_label_down, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
if wolke_g > 0 and blauer_punkt_short < low and show_blue_dot_labels
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Tief verpasst", style=label.style_label_up, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
if wolke_r > 0 and blauer_punkt_long < low and not punkt_erfuellt and show_blue_dot_labels
|
|
||||||
label.new(bar_index, low - atr * label_offset_mult, text="Ein Tief kommt noch", style=label.style_label_up, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
if wolke_r > 0 and blauer_punkt_long > high and show_blue_dot_labels
|
|
||||||
label.new(bar_index, high + atr * label_offset_mult, text="Hoch verpasst", style=label.style_label_down, color=color.blue, textcolor=color.white, size=size.small)
|
|
||||||
|
|
||||||
// === Shapes für Screener/Backtest ===
|
|
||||||
plotshape(isPearlLong, title="Pearl Long", location=location.abovebar, color=color.new(color.purple, 100), style=shape.labelup, size=size.tiny)
|
|
||||||
plotshape(isPearlShort, title="Pearl Short", location=location.belowbar, color=color.new(color.purple, 100), style=shape.labeldown, size=size.tiny)
|
|
||||||
plotshape(ulti_rally, title="Ulti Rally", location=location.abovebar, color=color.new(color.aqua, 100), style=shape.diamond, size=size.tiny)
|
|
||||||
plotshape(stephan_setup, title="Stephan Setup", location=location.abovebar, color=color.new(color.teal, 100), style=shape.labelup, size=size.tiny)
|
|
||||||
plotshape(is_bgrl, title="BGRL", location=location.abovebar, color=color.new(color.black, 100), style=shape.triangleup, size=size.tiny)
|
|
||||||
plotshape(is_rotes_plus, title="Rotes Kreuz", location=location.belowbar, color=color.new(color.red, 100), style=shape.labeldown, size=size.tiny)
|
|
53
docs/CHANGELOG.md
Normal file
53
docs/CHANGELOG.md
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [4.1.0] – 2025-09-05
|
||||||
|
### Added
|
||||||
|
- **Telgos 2-Bar-Prime**: Neuer Spezial-Alarmfilter
|
||||||
|
- Löst nur aus, wenn „Ein Hoch kommt noch“ aktiv ist
|
||||||
|
- UND ein Auslöser (Pearl Long, Ulti Rally, Stephan Setup, BGRL, Rotes Kreuz bei grüner Wolke)
|
||||||
|
auf der aktuellen Kerze (0) oder der vorherigen Kerze (−1) erscheint
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [4.0.1] – 2025-09-02
|
||||||
|
### Changed
|
||||||
|
- **Reihenfolge der Signal-Zuweisungen nochmal verbessert** → Kerzenfarben sind jetzt über dem Status
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [4.0.0] – 2025-09-02
|
||||||
|
### Changed
|
||||||
|
- **Signalzuweisung korrigiert:** „Status Grün“ ist jetzt der **3. Parameter von oben**
|
||||||
|
- **Reihenfolge der Signal-Zuweisungen verbessert** → entspricht jetzt der Overlay-Darstellung (oben → unten)
|
||||||
|
- **Dokumentation aktualisiert:** Installation & Beschreibung angepasst; alte Skript-Beschreibungen bleiben im Docs-Ordner, aber nur als Referenz
|
||||||
|
### Removed
|
||||||
|
- **Alte Pine-Skripte entfernt:** `croc_vibes_3.8.0.pine`, `croc_vibes_3.9.0.pine`, `croc_vibes+blues.pine`, `blues_addon.pine`
|
||||||
|
- Ab sofort nur noch ein zentrales Skript: `indicators/croc_vibes.pine`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [3.9.0] – 2025-09-01
|
||||||
|
### Added
|
||||||
|
- **Input „Grünes Plus“** (`gruenes_plus`) als `input.source`
|
||||||
|
- **Stephan-Setup**: „Grünes Plus“ als zusätzliche **ODER**-verknüpfte Zusatzbedingung
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- README & Doku auf v3.9.0 aktualisiert (Aktuelle Version, Komponenten-Tabelle, FAQ-Hinweis)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Kleinere Formulierungen in README vereinheitlicht
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [3.8.0] – 2025-08-24
|
||||||
|
### Added
|
||||||
|
- Blues-Integration im Hauptindikator (Start, Aktiv, Erfüllt, Wolkenbruch) inkl. Alerts
|
||||||
|
- Alert-Combo (bis zu 5 Signale; UND/ODER; Auto-ODER bei beiden Blues)
|
||||||
|
- Screener/Backtest-Plots für „Blues aktiv“
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Einheitliche Labelgrößen
|
||||||
|
- Dokumentation aktualisiert (README, FAQ, Installation)
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
- Separates Blues-Add-on (`blues_addon.pine`) – bitte Kombi-Version nutzen
|
83
docs/FAQ.md
Normal file
83
docs/FAQ.md
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
|
||||||
|
Denn die immer wiederkehrenden Fragen kosten viel zu viel *unwiederbringliche Lebenszeit*. 😉
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Wie richte ich den Telgos 2-Bar-Prime Alarmfilter ein?
|
||||||
|
|
||||||
|
Der **Telgos 2-Bar-Prime** ist ein spezieller Alarmfilter, der zwei Bedingungen kombiniert:
|
||||||
|
|
||||||
|
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*)
|
||||||
|
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.
|
||||||
|
Die eigentliche **Qualität der gefilterten Werte musst du aber selbst einschätzen** – der Filter erleichtert nur die Vorauswahl.
|
||||||
|
|
||||||
|
🎥 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?
|
||||||
|
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.
|
||||||
|
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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Warum kann Croc Vibes nicht im Pinescreener verwendet werden?
|
||||||
|
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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Ich sehe in der Auswahl mehrere Werte (z. B. Kerzenfarbe oder Wolke). Woher weiß ich, welcher richtig ist?
|
||||||
|
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**.
|
||||||
|
**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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Warum sehe ich „Ein Hoch kommt noch“ / „Ein Tief kommt noch“ nicht immer?
|
||||||
|
Aktuelle Regel (ab v3.8.0):
|
||||||
|
- „**Ein Hoch kommt noch**“ wird **nur in grüner Wolke** markiert.
|
||||||
|
- „**Ein Tief kommt noch**“ wird **nur in roter Wolke** markiert.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Wie richte ich die Alert‑Combo ein?
|
||||||
|
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)“).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Welche TradingView-Version brauche ich für Croc Vibes?
|
||||||
|
|
||||||
|
Das hängt von der Anzahl der gleichzeitig laufenden Indikatoren ab:
|
||||||
|
|
||||||
|
- **Essentials** reicht in der Regel aus, wenn du nur **Croc 3.0 + Croc Vibes** parallel laufen lassen möchtest.
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Muss ich alle Croc-Indikatoren aktiv haben, damit Croc Vibes funktioniert?
|
||||||
|
|
||||||
|
Für Croc Vibes v4.0.0 brauchst du die drei Kern-Indikatoren:
|
||||||
|
|
||||||
|
- **Croc Chart**
|
||||||
|
- **Croc Lochstreifen**
|
||||||
|
- **Croc MSI**
|
||||||
|
|
||||||
|
Genau aus diesen Indis kommen die Variablen, die das Script benötigt.
|
38
docs/Installation.md
Normal file
38
docs/Installation.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Installation
|
||||||
|
|
||||||
|
## Dateien
|
||||||
|
`indicators/` – Pine Scripts
|
||||||
|
- `croc_vibes.pine` (v4.0.0, aktuelles Hauptskript) ✅
|
||||||
|
|
||||||
|
Alle anderen Skripte (Blues Add-on, Kombi-Version etc.) wurden entfernt.
|
||||||
|
Die Beschreibungen dazu sind noch in den [Docs](./) enthalten – nur als Referenz.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schritt 1: Script kopieren
|
||||||
|
1. Öffne die Datei `indicators/croc_vibes.pine`.
|
||||||
|
2. Kopiere den gesamten Inhalt.
|
||||||
|
3. In TradingView → **Pine-Editor** einfügen → **Zum Chart hinzufügen**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schritt 2: Variablen zuweisen (input.source)
|
||||||
|
- 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:
|
||||||
|
|
||||||
|
📺 **Videoanleitung (Schritt 2 – Variablen zuweisen):**
|
||||||
|
[Direkt im Browser ansehen](https://share.telgos.de/api/public/dl/6eo9V2cC?inline=true)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schritt 3: Alert-Combo konfigurieren
|
||||||
|
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)“).
|
||||||
|
2. **UND/ODER**: Häkchen „Signale nicht kombinieren“ aktiv = **ODER**, sonst **UND**.
|
||||||
|
3. Wenn **beide Blues** (Long & Short) gewählt sind, erzwingt der Indikator automatisch **ODER**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schritt 4: TradingView-Alerts anlegen
|
||||||
|
- Rechtsklick im Chart → **Alarm hinzufügen** → gewünschten Indikator/Alert auswählen.
|
||||||
|
- Für Blues existieren eigene Alerts: **Start**, **Aktiv**, **Erfüllt**, **Wolkenbruch**.
|
BIN
docs/img/croc_vibes_banner.png
Normal file
BIN
docs/img/croc_vibes_banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
BIN
docs/img/croc_vibes_example.png
Normal file
BIN
docs/img/croc_vibes_example.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 189 KiB |
BIN
docs/img/e_community.png
Normal file
BIN
docs/img/e_community.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
366
indicators/croc_vibes.pine
Normal file
366
indicators/croc_vibes.pine
Normal file
@@ -0,0 +1,366 @@
|
|||||||
|
// =================================================================================================
|
||||||
|
// Croc Vibes by Telgos – Version 4.1.0
|
||||||
|
// Lizenz: Mozilla Public License 2.0 – https://mozilla.org/MPL/2.0/
|
||||||
|
// Danksagung (Basis/Ideen): amper04, ray_duke, husky, Audidriver13
|
||||||
|
// =================================================================================================
|
||||||
|
|
||||||
|
//@version=6
|
||||||
|
indicator("Croc Vibes by Telgos", overlay=true, max_labels_count=500, max_lines_count=500)
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Eingaben: 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")
|
||||||
|
red_devil_long = input.source(title="Red Devil Long", defval=close, group="Chart-Signale")
|
||||||
|
hellgruener_punkt_long = input.source(title="Hellgruener Punkt Long", defval=close, group="Chart-Signale")
|
||||||
|
blauer_punkt_long = input.source(title="Blauer Punkt Long", defval=close, group="Chart-Signale")
|
||||||
|
gruenes_plus = input.source(title="Grünes Plus", defval=close, group="Chart-Signale")
|
||||||
|
bb_kombi_long = input.source(title="BB Kombi long", defval=close, group="Chart-Signale")
|
||||||
|
rotes_plus = input.source(title="Rotes Plus", defval=close, group="Chart-Signale")
|
||||||
|
blauer_punkt_short = input.source(title="Blauer Punkt Short", defval=close, group="Chart-Signale")
|
||||||
|
lollipop_long = input.source(title="Lollipop 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")
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Eingaben: Lochstreifen / MSI
|
||||||
|
// -------------------------------------
|
||||||
|
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_r = input.source(title="Kerzenfarbe (3) 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")
|
||||||
|
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")
|
||||||
|
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_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_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_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_rr = input.source(title="Welle (6) dunkelRot", defval=close, group="Lochstreifen")
|
||||||
|
|
||||||
|
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")
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Helper / Ableitungen
|
||||||
|
// -------------------------------------
|
||||||
|
asBool(src) => nz(src) > 0
|
||||||
|
atr = ta.atr(16)
|
||||||
|
|
||||||
|
b_long = asBool(blauer_punkt_long)
|
||||||
|
b_short = asBool(blauer_punkt_short)
|
||||||
|
hgr_long = asBool(hellgruener_punkt_long)
|
||||||
|
cp_long = asBool(cloud_punkt_long)
|
||||||
|
rd_long = asBool(red_devil_long)
|
||||||
|
bb_long = asBool(bb_kombi_long)
|
||||||
|
lolli_long = asBool(lollipop_long)
|
||||||
|
awr_long = asBool(aw_rocket_long)
|
||||||
|
bgrl = asBool(bgrl_signal)
|
||||||
|
r_plus = asBool(rotes_plus)
|
||||||
|
g_plus = asBool(gruenes_plus)
|
||||||
|
|
||||||
|
st_g = asBool(status_g)
|
||||||
|
st_r = asBool(status_r)
|
||||||
|
wk_g = asBool(wolke_g)
|
||||||
|
wk_r = asBool(wolke_r)
|
||||||
|
tr_s = asBool(trend_s)
|
||||||
|
tr_r = asBool(trend_r)
|
||||||
|
tr_g = asBool(trend_g)
|
||||||
|
set_r = asBool(setter_r)
|
||||||
|
set_g = asBool(setter_g)
|
||||||
|
wl_g = asBool(welle_g)
|
||||||
|
wl_gg = asBool(welle_gg)
|
||||||
|
wl_r = asBool(welle_r)
|
||||||
|
wl_rr = asBool(welle_rr)
|
||||||
|
cz_g = asBool(kerze_g)
|
||||||
|
cz_s = asBool(kerze_s)
|
||||||
|
cz_r = asBool(kerze_r)
|
||||||
|
|
||||||
|
baerische_welle = wl_rr or wl_r
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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]
|
||||||
|
|
||||||
|
stephan_zusatzbedingung_erfuellt = cp_long or rd_long or lolli_long or bb_long or awr_long or bgrl or g_plus
|
||||||
|
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
|
||||||
|
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_rotes_plus = r_plus and wk_g
|
||||||
|
|
||||||
|
g_active = wk_g
|
||||||
|
r_active = wk_r
|
||||||
|
|
||||||
|
f_rise(sig) =>
|
||||||
|
cond_now = (not na(sig)) and (sig > 0)
|
||||||
|
cond_prev = na(sig[1]) or (sig[1] <= 0)
|
||||||
|
cond_now and cond_prev
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Zonenpflege für grüne/rote Wolke (Blues-Logik)
|
||||||
|
// -------------------------------------
|
||||||
|
var int g_zoneStart = na
|
||||||
|
var float g_zoneHigh = na
|
||||||
|
g_switch = barstate.isfirst ? true : (g_active != g_active[1])
|
||||||
|
if bar_index == 0 or g_switch
|
||||||
|
g_zoneStart := bar_index
|
||||||
|
g_zoneHigh := na
|
||||||
|
g_inZone = g_active and bar_index >= g_zoneStart
|
||||||
|
g_zoneHigh_prev = g_zoneHigh
|
||||||
|
if g_inZone
|
||||||
|
if na(g_zoneHigh) or high > g_zoneHigh
|
||||||
|
g_zoneHigh := high
|
||||||
|
|
||||||
|
var int r_zoneStart = na
|
||||||
|
var float r_zoneLow = na
|
||||||
|
r_switch = barstate.isfirst ? true : (r_active != r_active[1])
|
||||||
|
if bar_index == 0 or r_switch
|
||||||
|
r_zoneStart := bar_index
|
||||||
|
r_zoneLow := na
|
||||||
|
r_inZone = r_active and bar_index >= r_zoneStart
|
||||||
|
r_zoneLow_prev = r_zoneLow
|
||||||
|
if r_inZone
|
||||||
|
if na(r_zoneLow) or low < r_zoneLow
|
||||||
|
r_zoneLow := low
|
||||||
|
|
||||||
|
long_blue_now = g_inZone and f_rise(blauer_punkt_short)
|
||||||
|
short_blue_now = r_inZone and f_rise(blauer_punkt_long)
|
||||||
|
long_start_ok = long_blue_now and not na(g_zoneHigh_prev)
|
||||||
|
short_start_ok = short_blue_now and not na(r_zoneLow_prev)
|
||||||
|
|
||||||
|
var bool long_pending_active = false
|
||||||
|
var float long_refHigh = na
|
||||||
|
var label startLblLong = na
|
||||||
|
var line longPendingLine = na
|
||||||
|
|
||||||
|
var bool short_pending_active = false
|
||||||
|
var float short_refLow = na
|
||||||
|
var label startLblShort = na
|
||||||
|
var line shortPendingLine = na
|
||||||
|
|
||||||
|
var bool ev_long_start = false
|
||||||
|
var bool ev_short_start = false
|
||||||
|
var bool ev_long_done = false
|
||||||
|
var bool ev_short_done = false
|
||||||
|
var bool ev_long_break = false
|
||||||
|
var bool ev_short_break = false
|
||||||
|
ev_long_start := false
|
||||||
|
ev_short_start := false
|
||||||
|
ev_long_done := false
|
||||||
|
ev_short_done := false
|
||||||
|
ev_long_break := false
|
||||||
|
ev_short_break := false
|
||||||
|
|
||||||
|
if long_start_ok and not long_pending_active
|
||||||
|
long_pending_active := true
|
||||||
|
long_refHigh := g_zoneHigh_prev
|
||||||
|
ev_long_start := true
|
||||||
|
if high < long_refHigh
|
||||||
|
if not na(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)
|
||||||
|
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)
|
||||||
|
|
||||||
|
if short_start_ok and not short_pending_active
|
||||||
|
short_pending_active := true
|
||||||
|
short_refLow := r_zoneLow_prev
|
||||||
|
ev_short_start := true
|
||||||
|
if low > short_refLow
|
||||||
|
if not na(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)
|
||||||
|
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)
|
||||||
|
|
||||||
|
long_fulfilled_now = long_pending_active and high >= long_refHigh
|
||||||
|
short_fulfilled_now = short_pending_active and low <= short_refLow
|
||||||
|
long_cloud_break = long_pending_active and not g_active
|
||||||
|
short_cloud_break = short_pending_active and not r_active
|
||||||
|
|
||||||
|
if long_fulfilled_now
|
||||||
|
ev_long_done := true
|
||||||
|
if short_fulfilled_now
|
||||||
|
ev_short_done := true
|
||||||
|
if long_cloud_break
|
||||||
|
ev_long_break := true
|
||||||
|
if short_cloud_break
|
||||||
|
ev_short_break := true
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
if end_long
|
||||||
|
if not na(startLblLong)
|
||||||
|
label.delete(startLblLong)
|
||||||
|
startLblLong := na
|
||||||
|
if not na(longPendingLine)
|
||||||
|
line.delete(longPendingLine)
|
||||||
|
longPendingLine := na
|
||||||
|
long_pending_active := false
|
||||||
|
long_refHigh := na
|
||||||
|
|
||||||
|
if end_short
|
||||||
|
if not na(startLblShort)
|
||||||
|
label.delete(startLblShort)
|
||||||
|
startLblShort := na
|
||||||
|
if not na(shortPendingLine)
|
||||||
|
line.delete(shortPendingLine)
|
||||||
|
shortPendingLine := na
|
||||||
|
short_pending_active := false
|
||||||
|
short_refLow := na
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Standard-Alertbedingungen
|
||||||
|
// -------------------------------------
|
||||||
|
alertcondition(isPearlLong, title="Pearl Long", message="Pearl Diver 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(stephan_setup,title="Stephan Setup", message="Stephan Setup erkannt – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(is_bgrl, title="BGRL", message="Black Green Rocket Long erkannt – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(is_rotes_plus,title="Rotes Kreuz bei grüner Wolke", message="Rotes Kreuz erkannt – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
|
alertcondition(long_pending_active, title="Blues: Ein Hoch kommt noch (aktiv)", message="Blues Long aktiv – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(short_pending_active, title="Blues: Ein Tief kommt noch (aktiv)", message="Blues Short aktiv – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(ev_long_start, title="Blues: Ein Hoch kommt noch (Start)", message="Blues Long START – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(ev_short_start, title="Blues: Ein Tief kommt noch (Start)", message="Blues Short START – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(ev_long_done, title="Blues: Ein Hoch kommt noch (Erfüllt)", message="Blues Long FULFILLED – {{ticker}} {{interval}}")
|
||||||
|
alertcondition(ev_short_done, title="Blues: Ein Tief kommt noch (Erfüllt)", message="Blues Short FULFILLED – {{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}}")
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Alert-Kombinator (UND/ODER)
|
||||||
|
// -------------------------------------
|
||||||
|
grp = "ALERT-COMBO"
|
||||||
|
|
||||||
|
optNone = "— (keins) —"
|
||||||
|
optPearlLong = "Pearl Long"
|
||||||
|
optPearlShort = "Pearl Short"
|
||||||
|
optUlti = "Ulti Rally"
|
||||||
|
optStephan = "Stephan Setup"
|
||||||
|
optBGRL = "BGRL"
|
||||||
|
optRotesPlus = "Rotes Kreuz (grüne Wolke)"
|
||||||
|
optBlueLActive = "Blues: Ein Hoch kommt noch (aktiv)"
|
||||||
|
optBlueSActive = "Blues: Ein Tief kommt noch (aktiv)"
|
||||||
|
|
||||||
|
sel1 = input.string(optNone, "Signal-Auswahl 1", options=[optNone,optPearlLong,optPearlShort,optUlti,optStephan,optBGRL,optRotesPlus,optBlueLActive,optBlueSActive], group=grp)
|
||||||
|
sel2 = input.string(optNone, "Signal-Auswahl 2", options=[optNone,optPearlLong,optPearlShort,optUlti,optStephan,optBGRL,optRotesPlus,optBlueLActive,optBlueSActive], group=grp)
|
||||||
|
sel3 = input.string(optNone, "Signal-Auswahl 3", options=[optNone,optPearlLong,optPearlShort,optUlti,optStephan,optBGRL,optRotesPlus,optBlueLActive,optBlueSActive], group=grp)
|
||||||
|
sel4 = input.string(optNone, "Signal-Auswahl 4", options=[optNone,optPearlLong,optPearlShort,optUlti,optStephan,optBGRL,optRotesPlus,optBlueLActive,optBlueSActive], group=grp)
|
||||||
|
sel5 = input.string(optNone, "Signal-Auswahl 5", options=[optNone,optPearlLong,optPearlShort,optUlti,optStephan,optBGRL,optRotesPlus,optBlueLActive,optBlueSActive], group=grp)
|
||||||
|
noCombine = input.bool(false, "Signale nicht kombinieren", group=grp, tooltip="Aus: Alle ausgewählten Signale müssen gleichzeitig zutreffen (UND). Ein: Irgendeins reicht (ODER).")
|
||||||
|
|
||||||
|
f_pick(name) =>
|
||||||
|
bool res = false
|
||||||
|
if name == optPearlLong
|
||||||
|
res := isPearlLong
|
||||||
|
else if name == optPearlShort
|
||||||
|
res := isPearlShort
|
||||||
|
else if name == optUlti
|
||||||
|
res := ulti_rally
|
||||||
|
else if name == optStephan
|
||||||
|
res := stephan_setup
|
||||||
|
else if name == optBGRL
|
||||||
|
res := is_bgrl
|
||||||
|
else if name == optRotesPlus
|
||||||
|
res := is_rotes_plus
|
||||||
|
else if name == optBlueLActive
|
||||||
|
res := long_pending_active
|
||||||
|
else if name == optBlueSActive
|
||||||
|
res := short_pending_active
|
||||||
|
res
|
||||||
|
|
||||||
|
c1 = f_pick(sel1)
|
||||||
|
c2 = f_pick(sel2)
|
||||||
|
c3 = f_pick(sel3)
|
||||||
|
c4 = f_pick(sel4)
|
||||||
|
c5 = f_pick(sel5)
|
||||||
|
|
||||||
|
s1 = sel1 != optNone
|
||||||
|
s2 = sel2 != optNone
|
||||||
|
s3 = sel3 != optNone
|
||||||
|
s4 = sel4 != optNone
|
||||||
|
s5 = sel5 != optNone
|
||||||
|
|
||||||
|
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 )
|
||||||
|
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)
|
||||||
|
pickedBlueS = (sel1 == optBlueSActive) or (sel2 == optBlueSActive) or (sel3 == optBlueSActive) or (sel4 == optBlueSActive) or (sel5 == optBlueSActive)
|
||||||
|
bothBluesSelected = pickedBlueL and pickedBlueS
|
||||||
|
|
||||||
|
useOr = noCombine or bothBluesSelected
|
||||||
|
comboCond = hasSelection ? (useOr ? anySel : allSel) : false
|
||||||
|
|
||||||
|
alertcondition(comboCond, title="ALERT-COMBO (aus Eingaben)", message="ALERT-COMBO erfüllt – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Telgos 2-Bar-Prime (Kerze 0 oder -1)
|
||||||
|
// -------------------------------------
|
||||||
|
grpTHP = "Telgos-Filter"
|
||||||
|
require_since_start = input.bool(true, "2-Bar-Prime: Auslöser seit Blues-Start", group=grpTHP)
|
||||||
|
|
||||||
|
// Auslösermenge für 2-Bar-Prime
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
// 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)
|
||||||
|
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)
|
||||||
|
|
||||||
|
// Ein eigener Alarmtitel/-text
|
||||||
|
alertcondition(telgos_2bar_prime_cond, title="Telgos 2-Bar-Prime", message="Telgos 2-Bar-Prime – {{ticker}} {{interval}}")
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Labels / Shapes (dezente Visualisierung)
|
||||||
|
// -------------------------------------
|
||||||
|
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)
|
||||||
|
if isPearlShort
|
||||||
|
label.new(bar_index, high + atr * label_offset_mult, text="Oyster Farmer", style=label.style_label_down, color=color.purple, textcolor=color.white, size=size.small)
|
||||||
|
if ulti_rally
|
||||||
|
label.new(bar_index, low - atr * label_offset_mult, text="Ulti", style=label.style_label_up, color=color.aqua, textcolor=color.white, size=size.small)
|
||||||
|
if stephan_setup
|
||||||
|
label.new(bar_index, low - atr * label_offset_mult, text="Stephan", style=label.style_label_up, color=color.teal, textcolor=color.white, size=size.small)
|
||||||
|
if is_bgrl
|
||||||
|
label.new(bar_index, low - atr * label_offset_mult, text="BGRL", style=label.style_label_up, color=color.gray, textcolor=color.white, size=size.small)
|
||||||
|
if is_rotes_plus
|
||||||
|
label.new(bar_index, high + atr * label_offset_mult, text="Rotes Kreuz", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
|
||||||
|
|
||||||
|
plotshape(isPearlLong, title="Pearl Long", location=location.abovebar, color=color.new(color.purple, 100), style=shape.labelup, size=size.tiny)
|
||||||
|
plotshape(isPearlShort, title="Pearl Short", location=location.belowbar, color=color.new(color.purple, 100), style=shape.labeldown, size=size.tiny)
|
||||||
|
plotshape(ulti_rally, title="Ulti Rally", location=location.abovebar, color=color.new(color.aqua, 100), style=shape.diamond, size=size.tiny)
|
||||||
|
plotshape(stephan_setup, title="Stephan Setup", location=location.abovebar, color=color.new(color.teal, 100), style=shape.labelup, size=size.tiny)
|
||||||
|
plotshape(is_bgrl, title="BGRL", location=location.abovebar, color=color.new(color.gray, 100), style=shape.triangleup, size=size.tiny)
|
||||||
|
plotshape(is_rotes_plus, title="Rotes Kreuz", location=location.belowbar, color=color.new(color.red, 100), style=shape.labeldown, size=size.tiny)
|
||||||
|
|
||||||
|
plotshape(long_pending_active, title="Ein Hoch kommt noch", location=location.abovebar, color=color.new(color.blue, 100), style=shape.circle, size=size.tiny)
|
||||||
|
plotshape(short_pending_active, title="Ein Tief kommt noch", location=location.belowbar, color=color.new(color.blue, 100), style=shape.circle, size=size.tiny)
|
Reference in New Issue
Block a user