Beschreibung
Angora Trading System — BB + RSI Range Grid cBot
--------------------------------------------------
ÜBERSICHT
Angora Trading System ist ein Mean-Reversion-cBot. Er sucht nach Preisen, die bis zum Rand der Bollinger-Bänder gedehnt sind, während der RSI eine überkaufte oder überverkaufte Bedingung bestätigt, und handelt die Bewegung zurück zur mittleren Linie. Der ADX-Indikator entscheidet, ob der Markt sich in einer Seitwärtsbewegung oder einem Trend befindet, sodass der Bot nur handelt, wenn die Bedingungen für diesen Ansatz geeignet sind. Ein optionales, auf ATR basierendes Grid kann Positionen zum Korb hinzufügen, wenn sich der Preis gegen den ersten Einstieg bewegt. Jedes Bein teilt sich einen gemeinsamen Korb-Stoppverlust, der mit jeder Order an den Broker gesendet wird.
Der Bot wurde für BTCUSD, US30, XAUUSD, EURUSD, GBPUSD und USDJPY M15 entworfen und getestet. Er funktioniert für jedes Symbol und jeden Zeitrahmen, aber Sie sollten die Parameter für jedes Instrument backtesten und anpassen.
VERWENDETE INDIKATOREN
- Bollinger-Bänder: Einstiegszonen (oberes und unteres Band) und das Ausstiegsziel (mittleres Band oder gegenüberliegendes Band).
- RSI (Relative Strength Index): bestätigt überkaufte und überverkaufte Bedingungen für Einstiege und Grid-Ergänzungen.
- ADX mit +DI / -DI (Directional Movement System): identifiziert das Marktregime (Seitwärtsbewegung oder Trend) und die Trendrichtung und löst den Trendbruch-Ausgang aus.
- ATR (Average True Range): skaliert alles an die aktuelle Volatilität, einschließlich Grid-Abstand, Korb-Stopp-Distanz, Bandbreitenfilter, Zielabstandsfilter und Spread-Filter.
Alle Signale verwenden nur geschlossene Bars, sodass sie nicht neu gezeichnet werden.
WIE ER HANDELT
1) Marktregime (ADX)
- ADX unter "ADX Max Entry" (Standard 25) = SEITWÄRTS. Der Bot handelt Bandumkehrungen in beide Richtungen.
- ADX zwischen "ADX Max Entry" und "Trend ADX Max" (Standard 25-45) = TREND, wenn Trend Aligned Mode aktiviert ist. Der Bot handelt nur Rücksetzer in Trendrichtung: er kauft das untere Band in einem Aufwärtstrend (+DI > -DI) und verkauft das obere Band in einem Abwärtstrend (-DI > +DI).
- ADX über "Trend ADX Max" = keine neuen Einstiege (extreme oder parabolische Bewegung).
- Im SEITWÄRTS-Modus werden Einstiege übersprungen, wenn der ADX schnell steigt, da ein neuer Trend beginnen könnte.
2) Einstiegssignal
- ReEntry-Modus (Standard): Die vorherige Kerze berührte oder schloss außerhalb eines Bandes, und die letzte Kerze schloss wieder innerhalb. RSI muss überverkauft (Kauf) oder überkauft (Verkauf) an einer der letzten zwei Kerzen sein.
- Touch-Modus: Eine Kerze, die das Band berührt, plus die RSI-Bedingung reichen aus.
- Filter: minimale Bollinger-Band-Breite (vermeidet Squeezes und Vor-Ausbruch-Bedingungen), minimale Entfernung zum Ziel (die Bewegung muss groß genug sein, um Kosten zu decken), Spread, Session und Kontoschutz.
3) Grid (optional)
- Wenn sich der Preis um "Grid Step" x ATR gegen den Korb bewegt, fügt der Bot ein neues Bein in dieselbe Richtung hinzu, bis zu "Max Grid Levels" Beinen insgesamt. Geschlossene Beine zählen ebenfalls zu diesem Limit.
- Eine Grid-Ergänzung erfordert, dass der RSI weiterhin in der Extremzone ist und der ADX unter dem Grid-Limit bleibt. Im Trendmodus muss DI weiterhin in Korbrichtung zeigen.
- Alle Beine teilen sich einen Korb-Stoppverlust, der jenseits des letzten möglichen Grid-Levels platziert ist. Er wird mit jeder Order gesendet, sodass nie eine Position ohne Stoppverlust offen ist.
- Es werden keine Grid-Ergänzungen vorgenommen, wenn der Gewinnschutz aktiv ist.
4) Ausstiege
- Ziel: Preis erreicht das mittlere Band (oder das gegenüberliegende Band) und der Korbgewinn beträgt mindestens "Min Basket Profit at Target".
- Gewinnschutz: Break-even-Sicherung und ein nachziehender Gewinnboden (siehe unten).
- Maximales Korbverlust (in R), plus der Korb-Stoppverlust auf Broker-Seite.
- Weicher Zeit-Ausstieg (Schließen bei Break-even oder besser nach N Bars) und harter Zeit-Ausstieg (Schließen nach N Bars).
- Trendbruch-Ausgang: schließt einen verlierenden Korb, wenn ADX über den Schwellenwert steigt und DI sich gegen den Korb dreht.
WAS IST "R"?
Der Bot misst Risiko und Gewinn in R:
- 1R (Korb) = der Gesamtbetrag, der verloren geht, wenn alle Grid-Levels gefüllt sind und der Korb-Stoppverlust ausgelöst wird.
- Rp (Schutz) = das Risiko des ersten Beins bis zum Korb-Stoppverlust. Gewinnschutz-Schwellenwerte verwenden standardmäßig Rp, damit sie sinnvoll bleiben, wenn das Grid aktiviert ist. Ohne Grid sind R und Rp gleich.
PARAMETER
[Trading]
- Feste Volumen verwenden: EIN = jedes Bein verwendet "Fixed Volume per Leg". AUS = Positionsgröße wird aus "Basket Risk %" berechnet.
- Fixed Volume per Leg (Lots): Lotgröße jedes Beins, wenn festes Volumen aktiviert ist. Standard 0.01.
- Basket Risk %: Prozentsatz des Kapitals, der verloren geht, wenn alle Grid-Levels gefüllt sind und der Korb-Stopp ausgelöst wird (1R). Wird verwendet, wenn festes Volumen aus ist. Standard 2.
- Max Volume per Leg (Lots): harte Obergrenze für die Größe eines einzelnen Beins. Standard 1.0.
- Verlust-Abkühlung (Bars): Anzahl der Bars, die nach einem verlierenden Korb gewartet wird. Standard 4.
- Max Slippage (Pips): über 0 werden Orders als Market Range Orders mit diesem Slippage-Limit gesendet. 0 = normale Market Order.
- Label / Auto Label Suffix: Positionslabel. Mit Suffix wird das Label zu Label_Symbol_Timeframe, sodass mehrere Instanzen ohne Interferenzen laufen können.
[Bollinger & RSI]
- BB Period / BB Std Dev / BB MA Type: Bollinger-Band-Einstellungen. Standard 20 / 2.0 / Einfach.
- RSI Period: Standard 14.
- RSI Überverkauft (KAUF) / RSI Überkauft (VERKAUF): RSI-Schwellenwerte im SEITWÄRTS-Modus. Standard 30 / 70.
[Einstieg]
- Einstiegsmodus: ReEntry (Standard) oder Touch.
- Min Bandbreite (xATR): die Bänder müssen mindestens so viele ATRs auseinander liegen. Standard 2.0.
- Min Zielabstand (xATR): die Entfernung vom Einstieg zum Ziel muss mindestens so viele ATRs betragen. Standard 0.8.
- Kauf erlauben / Verkauf erlauben: jede Richtung aktivieren oder deaktivieren.
[Trendmodus]
- Trend Aligned Mode verwenden: erlaubt Einstiege bei Rücksetzern in Trendrichtung, wenn ADX über dem Seitwärts-Schwellenwert liegt. Standard EIN.
- Trend ADX Max: keine neuen Einstiege über diesem ADX-Wert. Standard 45.
- Trend Min DI Spread: minimale Differenz zwischen +DI und -DI, um die Trendrichtung zu bestätigen. Standard 5.
- Trend RSI Überverkauft / Überkauft: lockerere RSI-Schwellenwerte für Rücksetzer. Standard 40 / 60.
- Trend Grid Step Mult: multipliziert den Grid-Schritt für Trendkörbe. Standard 1.5.
- Trend Max Grid Levels: maximale Beine für einen Trendkorb. Standard 3.
[ADX & ATR]
- ADX Period: Standard 14.
- ADX Max Entry: der SEITWÄRTS / TREND-Schwellenwert. Standard 25.
- ADX Slope Lookback / ADX Max Rising Slope: überspringt SEITWÄRTS-Einstiege, wenn ADX über den Lookback mehr als diesen Wert gestiegen ist. Standard 3 Bars / 3.0 (0 = aus).
- ATR Period: Standard 14.
[Grid]
- Grid verwenden: Grid-Ergänzungen aktivieren oder deaktivieren. Standard EIN.
- Grid Step (xATR): Abstand zwischen Grid-Beinen bei Gegenbewegung. Standard 1.0.
- Max Grid Levels: maximale Beine pro Korb, inklusive des ersten Einstiegs. Standard 4.
- Grid Volume Mult: Lot-Multiplikator pro Level. 1.0 = gleiche Lots (empfohlen). Werte über 1.3 lösen eine Martingale-Warnung aus.
- Stop Buffer (xATR): Abstand des Korb-Stoppverlusts über dem letzten Grid-Level. Standard 1.5.
- Grid Add Requires RSI / Grid Add RSI Buffer: ein Grid-Bein wird nur hinzugefügt, wenn RSI innerhalb des Schwellenwerts plus diesem Puffer ist. Standard EIN / 10.
- Grid Max ADX: keine Grid-Ergänzungen über diesem ADX-Wert (Seitwärtskörbe). Standard 30.
- Grid Min Add Interval (Sek): minimale Zeit zwischen Grid-Versuchen. Standard 60.
[Ausstieg]
- Ausstiegsziel: MiddleBand (Standard) oder OppositeBand.
- Min Basket Profit at Target (R): das Ziel wird nur ausgelöst, wenn der Korbgewinn mindestens so hoch ist. Standard 0.05.
- Basket Max Loss (R): schließt den Korb bei diesem Verlust. Standard 1.0 (0 = aus).
- Weicher Zeit-Ausstieg (Bars): schließt nach dieser Anzahl Bars, sobald der Korb Break-even oder besser ist. Standard 32.
- Harte Zeit-Ausstieg (Bars): schließt immer nach dieser Anzahl Bars. Standard 96.
- Trend Break Exit / Trend Break ADX: schließt einen verlierenden Korb, wenn ADX diesen Wert erreicht und DI gegen die Position zeigt. Standard EIN / 35.
[Gewinnschutz]
- Gewinnschutz verwenden: Standard EIN.
- Protection R Base: FirstLeg (Standard, empfohlen mit Grid) oder FullBasket.
- BE Trigger / BE Lock (R): sobald der Spitzengewinn den Trigger erreicht, wird ein Mindestgewinn in Höhe des Locks gesichert. Standard 0.75 / 0.1.
- Trail Start / Trail Keep Fraction: sobald der Spitzengewinn Trail Start erreicht, behält der Bot diesen Bruchteil des Spitzengewinns. Der Boden bewegt sich nur nach oben. Standard 2.0 / 0.5.
- Broker SL zum Boden verschieben: wandelt den geschützten Gewinn in einen Preis um und verschiebt den Stoppverlust jedes Beins dorthin, sodass der Gewinn auch auf Broker-Seite geschützt ist. Standard EIN.
- Teilweises TP verwenden / Teilweises TP (R) / Teilweiser Schließungsanteil: schließt einen Teil des Korbs bei einem bestimmten Gewinn. Standard AUS.
- Fester TP (R): schließt den gesamten Korb bei einem festen Gewinn, unabhängig von den Bändern. 0 = aus.
[Marktfilter]
- Max Spread (Pips) / Max Spread (xATR): überspringt Einstiege und Grid-Ergänzungen, wenn der Spread zu breit ist. Standard aus / 0.2 x ATR.
- Session-Filter verwenden / Session Start / End Hour (UTC): Handel nur innerhalb der angegebenen Stunden. Standard AUS.
- Wochenendschutz / Freitag Cutoff Hour: optionaler Wochenendschutz.
[Kontoschutz]
- Max Tagesverlust (% Kapital) / Positionen bei Tageslimit schließen: stoppt neue Einstiege für den Rest des Tages und kann offene Positionen schließen. Standard 5% / EIN.
- Max Drawdown (% Höchstkapital) / Bot bei Max Drawdown stoppen: schließt alles und kann den Bot stoppen. Standard 20% / EIN.
- Max Trades pro Tag: 0 = unbegrenzt.
- Max Gesamtrisiko (% Kapital): Obergrenze für das gesamte offene Risiko bis zum Stoppverlust. Standard 3%. Immer angewendet, wenn nach Risikoprozent skaliert wird.
- Risikobegrenzung im festen Modus anwenden: wendet die obige Begrenzung auch an, wenn festes Volumen aktiviert ist. Standard AUS.
[Protokoll]
- Protokollstufe: Leise, Normal oder Ausführlich.
- CSV-Handelszeilen drucken: druckt eine CSV-Zeile pro abgeschlossenem Korb für einfache Analyse.
SICHERHEIT BEI NEUSTART UND BERICHTERSTATTUNG
- Nach einem Neustart oder einer Wiederverbindung baut der Bot den offenen Korb (Richtung, Beine, Stopp, realisierter Gewinn) aus Positionskommentaren und Handelsverlauf wieder auf.
- Wenn der Bot stoppt, druckt er eine Statistikübersicht: Trades, Gewinnrate, Profitfaktor, durchschnittlicher Gewinn und Verlust, maximaler Drawdown und Verlustserie sowie Ergebnisse gruppiert nach Ausstiegsgrund (z.B. SEITWÄRTS/Ziel, TREND/Gewinnsicherung).
ERSTE SCHRITTE
1. Starten Sie einen Backtest mit Ihrem Symbol und Zeitrahmen mit den Standardparametern, unter Verwendung von Tick-Daten und einer Periode von mindestens 3-6 Monaten.
2. Prüfen Sie die "STATS BY REASON"-Zeilen im Protokoll, um zu sehen, welche Ausstiege Gewinn oder Verlust bringen.
3. Halten Sie das Grid konservativ: gleiche Lots (Grid Volume Mult = 1.0) und 3-4 Levels.
4. Halten Sie das Risiko pro Korb (oder festes Lot) auf einem Niveau, bei dem der Tagesverlustschutz durch normale Trades nicht erreicht wird.
5. Führen Sie einen Forward-Test auf einem Demokonto durch, bevor Sie live handeln.
RISIKOHINWEIS
Der Handel mit gehebelten Produkten wie CFDs und Kryptowährungen birgt ein hohes Risiko und ist möglicherweise nicht für alle Anleger geeignet. Grid- und Averaging-Strategien können Verluste während starker Trends erhöhen. Vergangene Leistungen, einschließlich Backtestergebnissen, garantieren keine zukünftigen Ergebnisse. Verwenden Sie diesen cBot auf eigenes Risiko und nur mit Kapital, dessen Verlust Sie verkraften können.
Zusammenfassung
The system supports an optional ATR-based grid that adds positions when the price moves against the initial entry, with all legs sharing a single basket stop loss sent to the broker. Exits include reaching target bands, profit protection via break-even locks and trailing stops, basket max loss limits, time-based exits, and trend-break exits triggered by ADX signals.
Designed and tested on multiple instruments including BTCUSD, US30, XAUUSD, EURUSD, GBPUSD, and USDJPY on the M15 timeframe, it is adaptable to other symbols and timeframes with parameter adjustments. Risk and profit are measured in "R" units, representing the basket risk. The bot includes configurable parameters for trading volume, grid settings, market filters, and risk management tools such as stop loss, take profit, trailing stop, break-even management, and daily loss guards. It supports market orders and reconstructs open positions after restarts for continuity.
