Innertägige Bullish-Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-03-29 16:13:30
Tags:

img

Übersicht

Diese Strategie ist eine Intraday-Bullish-Handelsstrategie, die auf technischen Indikatoren basiert. Sie verwendet hauptsächlich drei technische Indikatoren, um den Zeitpunkt von Long-Einträgen zu bestimmen: 1. Swing low 2. Bullish Candlestick-Muster 3. Extreme Überverkauf. Gleichzeitig verwendet sie den ATR (Average True Range) Indikator, um Stop-Loss- und Take-Profit-Preise zu berechnen. Diese Strategie ist auf alle Zeitrahmen und alle zugrunde liegenden Vermögenswerte anwendbar.

Strategieprinzipien

Die Strategie beruht hauptsächlich auf folgenden Grundsätzen:

  1. Bei einem Aufwärtstrend ziehen sich die Aktienkurse oft zurück und bilden lokale Tiefststände, die oft gute Kaufmöglichkeiten sind.
  2. Einige spezielle Kerzenmuster signalisieren oft Trendumkehrungen oder -fortsetzungen.
  3. Nach aufeinanderfolgenden Tagen des Rückgangs schwächt sich die bärische Dynamik allmählich ab und der Raum für einen weiteren Rückgang ist begrenzt. Der Aktienkurs kann jederzeit zurückschlagen. Die Strategie verwendet den extremen Überverkaufsindicator, um diese Umkehrkaufmöglichkeiten zu erfassen.
  4. Aktienkursschwankungen haben eine Periodizität und Ähnlichkeit, die durch den ATR-Indikator gemessen und zur Berechnung geeigneter Stop-Loss- und Take-Profit-Distanzen verwendet werden können.

Strategische Vorteile

  1. Kombination von drei klassischen technischen Indikatoren zu einem strengen quantitativen Handelssystem, das die Nachteile der Subjektivität vermeidet.
  2. Die Stop-Loss- und Take-Profit-Level basieren auf dem ATR-Volatilitätsindikator, der objektiv quantifiziert werden kann, wodurch die Nachteile der Subjektivität vermieden werden.
  3. Eine breite Palette von Anwendungen, ohne zeitliche Beschränkungen oder Einschränkungen für die zugrunde liegenden Vermögenswerte, die eine vollständige Nutzung der Vorteile für den Gewinn ermöglichen.

Strategische Risiken

  1. Hohe Genauigkeit bei der Beurteilung einseitiger Aufwärtstrends, aber häufige Eintritte in einen volatilen Markt können zu erhöhten Verlusten führen.
  2. Die Gewinnspanne ist zu hoch, was zu einer langsamen Gewinnspanne und einer geringen Kapitalnutzung führt.
  3. Der Indikator für extreme Überverkäufe hat nur eine begrenzte Fähigkeit, Umkehrungen zu beurteilen, und kann in Trendmärkten fehlschlagen.

Strategieoptimierungsrichtlinien

  1. Um die allgemeine Trendrichtung zu bestimmen, sollten Trendindikatoren wie MA und MACD hinzugefügt werden.
  2. Überlegen Sie, den Algorithmus zu optimieren, um die optimalen Parameter zu finden, insbesondere die Auswahl der ATR-Multiplikatoren.
  3. Der extreme Überverkauft-Indikator kann optimiert werden, indem er auf ausgereiftere Überverkauft-Indikatoren wie KDJ oder RSI geändert wird.

Zusammenfassung

Diese Intraday-Bullish-Breakout-Strategie ist eine quantitative Handelsstrategie, die auf Swing-Tief, Bullish-Mustern und Überverkäufe beruht. Sie verwendet drei technische Indikatoren, um Long-Entry-Punkte aus verschiedenen Blickwinkeln zu erfassen. Gleichzeitig verwendet sie den ATR-Volatilitätsindikator, um dynamische Stop-Loss- und Take-Profit-Levels zu berechnen. Sie kann Gewinne in Aufwärtstrends vollständig erfassen, steht jedoch dem Risiko des häufigen Handels in volatilen Märkten gegenüber. Die Strategie hat noch Raum für Optimierungen, wie die Einführung von Trendurteilen, die Optimierung von Parametern und Indikatoren, um die Leistung der Strategie weiter zu verbessern.


// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LuxTradeVenture

//@version=5
strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100)



// Settings for Strategy 1
entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1")

// Input for ATR multiplier for stop loss 
atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss")

// Input for ATR multiplier for target price
atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price")

// Calculate ATR
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)

// Swing low condition - Strategy 1
swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12)


/// 
maj_qual = 6  //input(6)
maj_len = 30  //input(30)
min_qual = 5  //input(5)
min_len = 5  //input(5)

lele(qual, len) =>
    bindex = 0.0
    bindex := nz(bindex[1], 0)
    sindex = 0.0
    sindex := nz(sindex[1], 0)
    ret = 0
    if close > close[4]
        bindex := bindex + 1
        bindex
    if close < close[4]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= ta.highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= ta.lowest(low, len)
        sindex := 0
        ret := 1
        
major = lele(maj_qual, maj_len)
minor = lele(min_qual, min_len)

ExaustionLow  = major ==  1 ? 1 : 0

Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1]

// Entry and Exit Logic for Strategy 2
// Create variables to track trade directions and entry prices for each strategy
var int tradeDirection1 = na

var float entryLongPrice1 = na


// Calculate entry prices for long positions - Strategy 1
if (swingLow1 or Bullish3LineStrike)
    entryLongPrice1 := close
    tradeDirection1 := 1



// Calculate target prices for long positions based on ATR - Strategy 1
targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue)



// Calculate stop loss prices for long positions based on entry - Strategy 1
stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue)


// Entry conditions for Strategy 1
if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike))
    strategy.entry("Long - Strategy 1", strategy.long)


// Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1
if (close >= targetLongPrice1)
    strategy.close("Long - Strategy 1", comment="Take Profit Hit")

// Exit conditions for long positions: When price hits stop loss - Strategy 1
if (close <= stopLossLongPrice1)
    strategy.close("Long - Strategy 1", comment="Stop Loss Hit")

Mehr