Extreme Swing-Distributionsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-13 17:03:08
Tags:

img

Diese Strategie zielt darauf ab, Extreme des Chande Momentum Oszillators mit extremer Verteilungserkennung in 1-Minuten-Zeitrahmen vor allem für Bitcoin und Kryptowährungen zu erkennen.

Nach umfangreichen Recherchen über den Chande-Impuls-Oszillator beschloss ich, eine Strategie zu entwickeln, die die normalen Verteilungsperzentilniveaus verwendet, um Einträge zu schneiden. Dies wiederum kann über aufeinanderfolgende Tage im 1-Minuten-Zeitrahmen schöne Gewinne erzielen, wobei das Endziel darin besteht, eine stärkere Version dieser Strategie auf einem Bot auszuführen und etwas Geld zu drucken. Die Strategie ist eng definiert, kann aber auch gelockert werden, um mehr Trades zu tätigen, was eine höhere Stichprobengröße und ein besseres Sharpe-Verhältnis ermöglicht.

Die Strategie prüft, ob sich der Chande-Wert in einem extremen Perzentil befindet, basierend auf den letzten ein paar hundert Chande-Werten - wenn dies der Fall ist, wird eine Position eröffnet.

Keine Stop-Loss oder Take-Profit ist in der Schaukel noch implementiert, aber dies wird die nächste Ergänzung sein, um wirklich Verluste zu minimieren und potenzielle Gewinne zu verstärken.

Jedes flüssige Krypto-Paar auf den niedrigeren Zeitrahmen wird mit dieser Strategie ein gutes Ergebnis erzielen.

Wir haben auch eine kostenlose 15M und 1H Strategie zur Verfügung.

Strategie Logik

Die Strategie berechnet zunächst den Chande-Momentumsoszillator, der auf der Veränderung zwischen dem Ende der aktuellen Periode und dem Ende der vorherigen Periode basiert.

Es zeichnet dann die Chande-Werte über einen bestimmten Lookback-Zeitraum (Standard 425-Perioden) auf und berechnet die verschiedenen Perzentilniveaus. Wenn der aktuelle Chande-Wert ein voreingestelltes extremes Perzentil erreicht (Standard 1% für Kauf, 99% für Verkauf), löst es ein langes/kurzes Eingangssignal aus. Die Ausgangssignale werden ausgelöst, wenn der Chande-Wert das normale Perzentil erreicht (Standard 97,5% und 2,5%).

Auf diese Weise kann die Strategie extreme Ausbrüche des Chande-Wertes erfassen, so dass sie plötzliche Trendbewegungen erfassen kann.

Analyse der Vorteile

  • Erfasst Marktplatzen schnell mit der Dynamik des Chande-Indikators
  • Niedriges Zugriffsrisiko bei extremer Erkennung bei normaler Verteilung
  • Flexible Parameter, die an verschiedene Marktordnungen angepasst werden können
  • Einfache und intuitive Strategielogik, leicht zu verstehen und umzusetzen

Risikoanalyse

  • Chande anfällig für falsche Signale als Momentindikator, der kurzfristigem Lärm empfindlich ist
  • Lange Abzugszeiten mit extremem Werthandel, geringe Intraday-Handelsfrequenz
  • Risikopositionsrisiko ohne Stop-Loss-/Gewinnziel
  • Risiko einer Überoptimierung bei unsachgemäßem Parameter-Tuning

Das Risikomanagement sollte sich auf die Verwendung von Stops, die Normalisierung extremer Parameter und das Filtern von Signalen mit dem Trend konzentrieren.

Optimierungsrichtlinien

Die Strategie kann in mehreren Aspekten optimiert werden:

  1. Hinzufügen von Stop-Loss/Profit-Taking, um Verluste pro Handel auf angemessenen Niveaus zu kontrollieren.

  2. Optimieren von Parametern durch Anpassung von kurzen/langen Lookbacks für verschiedene Märkte.

  3. Fügen Sie Filterbedingungen mit Trendindikatoren wie MA hinzu, um falsche Signale gegen den Gesamttrend zu entfernen.

  4. Kombinieren Sie mehrere Zeitrahmen und verwenden Sie einen höheren TF zur Beurteilung der Trendrichtung und einen niedrigeren TF für den Einstieg.

  5. Die Robustheit der Parameter für verschiedene Produkte prüfen und für mehr Sorten anpassen.

  6. Einführung von maschinellem Lernen zur dynamischen Optimierung von Parametern und Filtern.

Schlussfolgerung

Insgesamt handelt es sich um eine Strategie, die extreme Werte des Chande-Impuls-Oszillators nutzt, um Trendbewegungen zu erfassen. Ihre einfache Logik und effiziente Ausführung machen sie sehr geeignet, um schnell von Burst-Trends zu profitieren. Gleichzeitig ist die Kontrolle des Risikos, die Vermeidung von Überoptimierung und die mehrdimensionale Optimierung erforderlich, um sie an alle Marktregime anzupassen. Zusammenfassend bietet sie einen effektiven Ansatz für den Handel mit Marktausbrüchen, der weitere Forschung und Anwendung wert ist.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Chande Minute Swinger", overlay=true)

//Chande

length = input(9, minval=1)
src = close
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)

//Parameters to change

lengthLookback = 425 //425 golden number
buyPercentile = 1
sellPercentile = 99
linePercentileLow = 2.5
linePercentileHigh = 97.5

buy = percentile_nearest_rank(chandeMO, lengthLookback, buyPercentile)
exitBuy= percentile_nearest_rank(chandeMO, lengthLookback, linePercentileHigh)
sell = percentile_nearest_rank(chandeMO, lengthLookback, sellPercentile)
exitSell = percentile_nearest_rank(chandeMO, lengthLookback, linePercentileLow)

chandeMA = sma(chandeMO, 9) //sma for potential other strategies implementing cross / trend

//Entry conditions

closeLongCondition = chandeMO > exitBuy ? true : false
closeShortCondition = chandeMO < exitSell ? true : false
longCondition = chandeMO < buy
shortCondition = chandeMO > sell

if (longCondition)
    strategy.entry("long", strategy.long)
    

if (shortCondition)
    strategy.entry("short", strategy.short)
    
//Introducing the closes and a stoploss will minimise loss and bring up the sharpe ratio
//Current settings are enabled for maximum potential but big risk
    
//strategy.close("long", when=(closeLongCondition == true))
//strategy.close("short", when=(closeShortCondition == true))

Mehr