Momentum-Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-23 15:17:45
Tags:

img

Übersicht

Dies ist eine Momentum-Breakout-Handelsstrategie, die auf den Linien K und D des Smoothed Stochastic Oscillator-Indikators basiert.

Strategie Logik

Die Strategie besteht aus folgenden Teilen:

  1. Einstellungen des Anzeigers

    Die Verwendung eines 14-Perioden-RSI zur Erstellung von K- und D-Linien des Smoothed Stochastic Oscillator-Indikators mit einer 3-Perioden-SMA auf den Linien K und D.

  2. Erzeugung von Signalen

    Wenn die K-Linie über das Niveau 20 geht, wird ein Kaufsignal für einen Long-Eintrag generiert.

  3. Stop-Loss

    Der Trailing Stop Loss wird mit einer festen Trailing Stop Distanz verwendet.

  4. Positionsgröße

    Die Anzahl der Punkte zwischen dem Stop-Loss-Preis und dem aktuellen Closing wird anhand des untersten Tiefstands der letzten 20 Perioden berechnet.

Auf diese Weise identifiziert die Strategie als Einstiegssignal einen Momentum-Breakout bei einer Überverkaufsrückkehr und nimmt eine genaue Positionsgröße und einen Stop-Loss für die Umkehrung der Handelsmomentum mit einer effektiven Risikokontrolle an.

Vorteile

Die Strategie hat folgende Vorteile:

  1. Klares Eintrittssignal bei Ausbruch aus der überkauften Zone mit starker Dynamik.

  2. Flexible Stoppbewegungen bei Marktschwankungen.

  3. Eine genaue Positionsgröße kontrolliert das einzelne Handelsrisiko.

  4. Genauer Stop-Loss basierend auf historischem Tief.

  5. Einfache und klare Positionsgrößenlogik.

  6. Einfache und klare Strategie-Logik, leicht zu verstehen.

  7. Saubere Code-Struktur, leicht zu lesen und zu ändern.

Risiken

Die Strategie birgt einige Risiken:

  1. Häufige Stop-Loss-Trigger während volatiler Märkte.

  2. Das Potenzial übersteigt den Handel.

  3. Ein Richtungsholding, nicht in der Lage, von einer umgekehrten Kursbewegung zu profitieren.

  4. Unwirksame Filterung der Marktbedingungen. Häufige Stop-Loss-Trigger während des Range-Marktes.

Die folgenden Optimierungen können zur Risikomanagement beitragen:

  1. Optimieren Sie die Parameter, um Überhandelungen zu vermeiden.

  2. Verwenden Sie abgestufte Einträge, um ein einseitiges Risiko zu verringern.

  3. Hinzufügen einer Analyse der Entwicklung eines größeren Zeitrahmens, um den Handel unter ungünstigen Marktbedingungen zu vermeiden.

  4. Optimieren Sie die Stop-Loss-Strategie, um eine übermäßige Empfindlichkeit zu vermeiden.

Optimierung

Die folgenden Aspekte der Strategie können optimiert werden:

  1. Optimieren Sie den Stop-Loss, um dynamischen Trailing-Stop, abgestuften Stop-Loss, gleitenden Durchschnitt usw. zu verwenden, um ihn reibungsloser zu gestalten.

  2. Hinzufügen von Analyse von größeren Zeitrahmen Trend, um den Handel in seitlichen Märkten zu vermeiden. Kann Trendanalyse mit gleitenden Durchschnitten, Kanal-Breakouts usw.

  3. Betrachten wir zwei Richtungsholdings, um von Rückschlägen zu profitieren.

  4. Verwenden Sie maschinelles Lernen für die automatische Optimierung von Parametern, um optimale Parameter für sich ändernde Marktbedingungen zu finden.

  5. Optimierung der Positionsgröße durch Verwendung von festen Prozentsätzen, festem Kapital usw. zur Verbesserung der Kapitalverwertung.

  6. Fügen Sie mehr Filter mit Indikatoren wie Volumen, Bollinger Bands hinzu, um die Qualität der Handelssignale zu verbessern.

Zusammenfassung

Insgesamt handelt es sich um eine einfache und klare Momentum-Breakout-Strategie. Es wird ein umsichtiger Stop-Loss-Ansatz angewandt, um das einzelne Handelsrisiko effektiv zu kontrollieren. Allerdings sind noch Optimierungen erforderlich, um die Strategie besser an spezifische Marktbedingungen anzupassen, ineffektive Signale zu filtern und ein besseres Gleichgewicht zwischen Rendite und Risiko zu erreichen. Die Verbesserung der Analyse größerer Zeitrahmentrends und die Positionsgröße sind wichtige Optimierungsrichtungen für diese Strategie. Zusammenfassend ist es als grundlegende Momentum-Breakout-Strategie immer noch praktisch und lohnt sich eine weitere Forschung, um sie an die Marktbedingungen bestimmter Handelsinstrumente anzupassen.


//@version=2
//descripcion: 
//entrada en saturacion oscilador estocastico
//salida por trailing
strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)

//condicion de compra: k>80
buycondition=crossover(k,oversold)
//entrada a la posicion
posicionabierta=0
if year>2015
    if buycondition 
        stoplow=lowest(stop_dentro_de_los_ultimos_lows)   
        riesgo_en_pips = (close - stoplow)   
        valor_del_pip = (riesgo_en_dolares / riesgo_en_pips)
        tamanio_de_la_posicion= ( valor_del_pip)              //la posicion la esta calculando bien
        strategy.entry("buy",strategy.long)
        strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow))

//////////////////////////////////condicion de stop por drodown 10% equity
//strategy.risk.max_drawdown(15,strategy.cash)
// condicion de stop por perdida mayor a $15 en op abierta
//strategy.risk.max_intraday_loss(15,strategy.cash)
//formas de tomar stop:
// cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order
// determinado por un numero de pips strategy.exit
// determinado por el calculo de la posicion:
//tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop
//calcular la posicion en base a ese stop:
//prcio de entrada - precio de stop = pips_en-reisgo
//riesgo_e_dolares / pips_en_riesgo = pip_value
//position_size=10000 * pip_value


Mehr