From 98cb9057503331b092cae88aad132440fb0bd7d2 Mon Sep 17 00:00:00 2001 From: Telgos Date: Fri, 22 Aug 2025 12:15:43 +0200 Subject: [PATCH] =?UTF-8?q?Funktion(blues):=20Erstes=20Pine=20v6=20Skript?= =?UTF-8?q?=20&=20=C3=9Cberarbeitung=20der=20Projektstruktur=20Dieser=20Co?= =?UTF-8?q?mmit=20f=C3=BChrt=20das=20`blues=5Faddon`=20Skript=20ein.=20Es?= =?UTF-8?q?=20ist=20das=20erste=20Skript=20in=20diesem=20Projekt,=20das=20?= =?UTF-8?q?die=20neue=20Pine=20Script=C2=AE=20Version=206=20verwendet=20un?= =?UTF-8?q?d=20markiert=20damit=20einen=20wichtigen=20technischen=20Schrit?= =?UTF-8?q?t=20nach=20vorne.=20Gleichzeitig=20wurde=20die=20gesamte=20Proj?= =?UTF-8?q?ekt-=20und=20Dokumentationsstruktur=20grundlegend=20=C3=BCberar?= =?UTF-8?q?beitet,=20um=20=C3=9Cbersichtlichkeit=20und=20Skalierbarkeit=20?= =?UTF-8?q?zu=20verbessern:=20-=20Umgestaltung=20der=20README.md=20zur=20z?= =?UTF-8?q?entralen=20=C3=9Cbersichtsseite.=20-=20Auslagerung=20der=20deta?= =?UTF-8?q?illierten=20Beschreibungen=20in=20eigene=20Dateien.=20-=20Erste?= =?UTF-8?q?llung=20separater=20Dateien=20f=C3=BCr=20Installationsanleitung?= =?UTF-8?q?=20(Installation.md)=20und=20FAQ=20(FAQ.md).=20-=20Einf=C3=BChr?= =?UTF-8?q?ung=20einer=20konsistenten=20Benennung=20f=C3=BCr=20alle=20Proj?= =?UTF-8?q?ektdateien.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Blues_Addon_Beschreibung.md | 25 +++++++ Croc_Vibes_Beschreibung.md | 37 +++++++++++ FAQ.md | 2 +- README.md | 120 +++++++++------------------------- blues_addon.pine | 126 ++++++++++++++++++++++++++++++++++++ 5 files changed, 219 insertions(+), 91 deletions(-) create mode 100644 Blues_Addon_Beschreibung.md create mode 100644 Croc_Vibes_Beschreibung.md create mode 100644 blues_addon.pine diff --git a/Blues_Addon_Beschreibung.md b/Blues_Addon_Beschreibung.md new file mode 100644 index 0000000..632d74c --- /dev/null +++ b/Blues_Addon_Beschreibung.md @@ -0,0 +1,25 @@ +# Blues Add-on + +Das "Blues v0.1.0" Skript ist ein optionaler Zusatzindikator für das Croc-Vibes-System. Es bietet eine erweiterte Logik zur Handhabung der "Blauen Punkte"-Signale. + +## Zweck des Add-ons + +Anstatt ein "Blauer Punkt"-Signal sofort als Einstieg zu werten, behandelt dieser Indikator es als **Vorbereitung für einen potenziellen Trade**. Das eigentliche Einstiegssignal wird erst generiert, wenn der Kurs ein relevantes technisches Niveau durchbricht. + +## Funktionsweise + +1. **Signalerkennung:** Der Indikator wartet auf ein "Blauer Punkt"-Signal (Long oder Short), das innerhalb einer aktiven Wolkenzone (grün für Long, rot für Short) auftritt. +2. **Referenzniveau setzen:** Sobald ein Signal erkannt wird, zeichnet der Indikator eine horizontale Linie auf dem Niveau des **vorherigen Hochs** (für Long-Setups) oder **Tiefs** (für Short-Setups) dieser Zone. +3. **Warten auf Ausbruch (Erfüllung):** Das Setup bleibt "wartend" (pending), bis der Kurs diese Linie durchbricht. + - Bei einem Long-Setup muss der Kurs über das vorherige Hoch steigen. + - Bei einem Short-Setup muss der Kurs unter das vorherige Tief fallen. +4. **Signalauflösung:** Das Setup wird beendet, wenn: + - der Ausbruch erfolgt (Erfüllung). + - die Wolke ihre Farbe ändert (Wolkenbruch), bevor der Ausbruch stattgefunden hat. + +## Anwendung + +Um diesen Indikator korrekt zu verwenden, sind zwei Schritte notwendig: + +1. Füge den "Blues v0.1.0" Indikator zu deinem Chart hinzu. +2. Öffne die Einstellungen des Hauptindikators ("Croc Vibes") und **deaktiviere** die Option **"Blaue Punkte Labels anzeigen"**, um doppelte Anzeigen zu vermeiden. \ No newline at end of file diff --git a/Croc_Vibes_Beschreibung.md b/Croc_Vibes_Beschreibung.md new file mode 100644 index 0000000..cba4700 --- /dev/null +++ b/Croc_Vibes_Beschreibung.md @@ -0,0 +1,37 @@ +# Croc Vibes - Hauptindikator + +Der "Croc Vibes by Telgos" ist ein fortschrittlicher Indikator für TradingView (Pine Script® v5), der speziell für das Croc-Trading-System entwickelt wurde. Er dient der visuellen und analytischen Darstellung verschiedener Long-Setups. + +**Wichtiger Hinweis:** Dieses Skript wird ohne Support zur Verfügung gestellt. Es ist als Basis gedacht, die von Nutzern nach eigenem Ermessen angepasst und erweitert werden kann. + +## Kernfunktionen + +- **Visuelle Darstellung:** Der Indikator nutzt eine Kombination aus Original-Lochstreifen-Indikatoren, Wolkenfarben, Kerzenfarben und MSI-Werten, um Handelssignale direkt im Chart zu visualisieren. +- **Setup-Erkennung:** Erkennung und Anzeige bekannter Setups wie: + - Pearl Diver + - Stephan Setup + - Ulti Rally +- **Swing-Analyse:** Integrierte Swing-Analyse zur Validierung von Punkten und zur Erhöhung der Signalqualität. +- **Dynamische SL/TP-Marken:** Automatische Visualisierung von Stop-Loss- und Take-Profit-Niveaus auf Basis der Average True Range (ATR). +- **Alarmfunktionen:** Vorbereitete `alertcondition()`-Blöcke ermöglichen die einfache Einrichtung von Alarmen für verschiedene Handelssignale, was die Nutzung in Screeners oder mit externen Bots erleichtert. + +## Eingaben (Inputs) + +Die Einstellungen des Indikators sind in drei Hauptbereiche unterteilt: + +1. **Chart-Signale:** Hier werden die grundlegenden Signale wie die "blauen Punkte" und andere Kerzensignale mit dem Indikator verbunden. +2. **Lochstreifen (Punch Tape):** Anbindung der externen Konnektor-Indikatoren, die den Zustand der Wolken, Farben und des MSI übermitteln. +3. **Allgemeine Einstellungen:** Anpassungen für die visuelle Darstellung, wie z.B. die Abstände von Labels und Linien. + +## Strategien im Detail + +### Pearl Diver +Dieses Setup basiert auf einer strengen Kombination von Farben und wird durch eine Swing-basierte Logik bestätigt, um die Zuverlässigkeit zu erhöhen. + +### Stephan Setup +Hierbei handelt es sich um ein Setup, das auf spezifischen MSI-Levels in Kombination mit bestimmten Farbbedingungen basiert. + +### Blue Dot (Blaue Punkte) +Die Erkennung von blauen Punkten wird ebenfalls durch eine Swing-Validierung verfeinert, um potenzielle Trendwenden zu identifizieren. + +**Hinweis:** Dieser Indikator ist ein reines Visualisierungswerkzeug und führt keine automatisierten Trades aus. Für Backtesting muss eine separate Pine-Strategie-Datei erstellt werden. \ No newline at end of file diff --git a/FAQ.md b/FAQ.md index a8ba32d..2b0a77f 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1,5 +1,5 @@ # Croc Vibes – FAQ -denn die immer wiederkehrenden Fragen kosten viel zu viel *unwiederbringliche Lebenszeit*.** 😉 +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. diff --git a/README.md b/README.md index 7a2b37c..af4001b 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,33 @@ -# Pine Script – Bereitstellung ohne Support +# Croc Vibes by Telgos -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. +Dieses Repository dient als zentrale Anlaufstelle für die Pine Scripts des Croc-Trading-Systems, da das direkte Teilen im Forum von André Limitierungen unterliegt. --- -> Kein Support – freie Anpassung durch den Nutzer erwünscht. \ No newline at end of file + +### ## Wichtiger Hinweis + +> 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 ändert, wird der Zugriff auf dieses Repository deaktiviert. + +--- + +## Komponenten + +Dieses Projekt besteht aus den folgenden Skripten: + +* **[Croc Vibes (Hauptindikator)](./Croc_Vibes_Beschreibung.md)**: Der Kernindikator, der verschiedene Long-Setups wie Pearl Diver, Stephan Setup und Ulti Rally visualisiert. +* **[Blues Add-on](./Blues_Addon_Beschreibung.md)**: Ein optionaler Zusatzindikator, der die "Blauen Punkte"-Signale verfeinert und auf einen nachfolgenden Ausbruch wartet. + +--- + +## Installation + +1. Öffne den gewünschten Indikator-Code über die Links oben. +2. Kopiere den gesamten Code aus der Datei. +3. Öffne den **Pine-Editor** in deinem TradingView-Chart. +4. Füge den Code ein und klicke auf **"Zum Chart hinzufügen"**. + +--- + +## Lizenz + +Dieses Projekt steht unter der [Mozilla Public License 2.0](https://mozilla.org/MPL/2.0/). \ No newline at end of file diff --git a/blues_addon.pine b/blues_addon.pine new file mode 100644 index 0000000..26a4b79 --- /dev/null +++ b/blues_addon.pine @@ -0,0 +1,126 @@ +// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ +//@version=6 +indicator("Blues v0.1.0", overlay=true, max_lines_count=500, max_labels_count=500) + +// 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") + +// Wolkenstatus +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") + +// Anzeige +label_offset_mult = input.float(3.0, title="Label-Abstand (ATR x)", minval=0.1, step=0.1, group="Darstellung") + +// ========= Basics ========= +atr = ta.atr(16) +g_active = (wolke_g > 0) +r_active = (wolke_r > 0) + +// ========= Helper: steigende Flanke (series float/bool robust) ========= +f_rise(sig) => + // true, wenn das Signal JETZT neu > 0 ist, vorher aber nicht + cond_now = (not na(sig)) and (sig > 0) + cond_prev = na(sig[1]) or (sig[1] <= 0) + cond_now and cond_prev + +// ========= Zonen-Tracking ========= +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 + +// ========= Blue-Trigger & Startbedingungen ========= +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) + +// ========= States, Referenzen, Objekte ========= +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 + +// ========= Start (Label + Linie) ========= +if long_start_ok and not long_pending_active + long_pending_active := true + long_refHigh := g_zoneHigh_prev + 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.normal) + 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 + 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.normal) + 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) + +// ========= Erfüllung & Wolkenbruch ========= +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 + +// ========= Ende & Aufräumen ========= +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