Vektor-Candle-basierte Channel Breakout und benutzerdefinierte ChoCH-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-03-29 14:45:57
Tags:

img

Übersicht

Diese Strategie kombiniert das Konzept der Vektorkerzen mit der traditionellen Channel Breakout und Chocolate Sauce (ChoCH) Mustererkennung, um Breakout-Bewegungen auf dem Markt zu erfassen.

Strategieprinzip

  1. Berechnen Sie die durchschnittliche Lautstärke einer bestimmten Anzahl von vergangenen Kerzen und definieren Sie vier verschiedene Farb-Vektorkerzen (rot, grün, blau, lila) basierend auf dem Volumenverstärkermultiple.
  2. Wenn der Schlusskurs niedriger ist als der niedrigste Wert der vorherigen Kerze und es sich um eine rote Vektorkerze handelt, identifizieren Sie sie als rotes ChoCH-Signal; wenn der Schlusskurs höher ist als der hohe Wert der vorherigen Kerze und es sich um eine grüne Vektorkerze handelt, identifizieren Sie sie als grünes BOS-Signal.
  3. Wenn innerhalb einer bestimmten Anzahl von Bestätigungskerzen die Anzahl der Auftritte von roten Vektorkerzen den festgelegten Schwellenwert erreicht, wird das rote ChoCH-Signal bestätigt; wenn die Anzahl der Auftritte von grünen Vektorkerzen den festgelegten Schwellenwert erreicht, wird das grüne BOS-Signal bestätigt.
  4. Öffnen Sie eine Long-Position, wenn ein rotes ChoCH-Signal bestätigt wird, und schließen Sie die Position, wenn ein grünes BOS-Signal bestätigt wird.

Strategische Vorteile

  1. Kombiniert Vektorkerzen mit herkömmlichen Kanalbreakout- und ChoCH-Mustern, wodurch die Signalzuverlässigkeit verbessert wird.
  2. Einführung eines Bestätigungskerzenmechanismus zur effektiven Filterung von Lärm und falschen Signalen.
  3. Unterscheidet Signale nach den Farben der Vektorkerze, wodurch sie intuitiver und einfacher zu erkennen sind.
  4. Anpassbare Parameter bieten Flexibilität und können je nach Marktbedingungen und Handelsstil optimiert werden.

Strategische Risiken

  1. In einem unruhigen Markt können häufige Ausbrüche und Rückgänge zu zahlreichen falschen Signalen und Verlustgeschäften führen.
  2. Eine unsachgemäße Einstellung der Anzahl der Bestätigungskerzen kann zu Signalverzögerungen oder zu einem vorzeitigen Einstieg führen.
  3. Wenn man sich ausschließlich auf technische Indikatoren stützt und dabei grundlegende Faktoren ignoriert, kann die Strategie unerwarteten Risiken ausgesetzt sein.
  4. Die Strategie beinhaltet keinen Stop-Loss-Mechanismus, der bei starken Marktumkehrungen erhebliche Verluste verursachen kann.

Strategieoptimierungsrichtlinien

  1. Einführung von Trendbestätigungsindikatoren wie gleitenden Durchschnitten zur Bestätigung der Trendrichtung nach dem Auftreten eines Ausbruchssignals und Verbesserung der Signalqualität.
  2. Für unruhige Märkte sollten Sie eine Range-Handelsstrategie verwenden, z. B. die Festlegung langer und kürzerer Auslöserbedingungen innerhalb des Kanals.
  3. Optimieren Sie die Anzahl der Bestätigungskerzen, um ein geeignetes Gleichgewicht zwischen der effektiven Filterung von Lärm und der Vermeidung einer übermäßigen Verzögerung zu finden.
  4. Festlegen angemessener Stop-Loss- und Take-Profit-Regeln zur Kontrolle des individuellen Handelsrisikos und des Gesamtverbrauchs.
  5. Kombination mit anderen technischen Indikatoren oder Indikatoren für die Marktstimmung, um eine bessere Grundlage für Handelsentscheidungen zu schaffen.

Schlussfolgerung

Diese Strategie kombiniert innovativ Vektorkerzen mit klassischen Channel Breakout- und ChoCH-Mustern, was die Signalzuverlässigkeit und Erkennbarkeit durch Farbdifferenzierung und einen Bestätigungskerzenmechanismus verbessert. Die Vorteile der Strategie liegen in ihren klaren Regeln, intuitiven Signalen und einem gewissen Grad an Flexibilität und Optimierungspotenzial. Die Strategie hat jedoch auch einige Einschränkungen und Risiken, wie unterdurchschnittliche Performance in unsicheren Märkten, unzureichendes Verständnis von Markttrends und ein Mangel an Stop-Loss- und Take-Profit-Management. In Zukunft kann die Strategie in Bezug auf Trendbestätigung, Handelsbereich, Parameteroptimierung, Risikokontrolle und andere Aspekte verfeinert werden, um eine robustere Handelsleistung zu erzielen.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Custom ChoCH and BOS Strategy with Vector Candles", overlay=true)

// Input Parameters
length = input(10, title="Lookback Length for Volume")
volMultiplier = input(2.0, title="Volume Multiplier for Vector Candles")
confirmationCandles = input(3, title="Confirmation Candles")

// Calculate the average volume of the last 'length' candles
avgVol = sma(volume, length)

// Vector Candle Definitions
vectorCandleRed = (close < open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleGreen = (close > open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleBlue = (close < open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for blue
vectorCandlePurple = (close > open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for purple

// Detecting BOS and ChoCH
isRedChoCH = vectorCandleRed > 0 and (close < low[1]) // Red ChoCH
isGreenBOS = vectorCandleGreen > 0 and (close > high[1]) // Green BOS

// Confirmation Logic
redChoCHConfirmed = (sum(vectorCandleRed, confirmationCandles) >= 2) ? 1.0 : 0.0
greenBOSConfirmed = (sum(vectorCandleGreen, confirmationCandles) >= 2) ? 1.0 : 0.0

// Entry Conditions
buyCondition = redChoCHConfirmed > 0
sellCondition = greenBOSConfirmed > 0

// Strategy Execution
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")

// Plotting Vector Candles and Signals
plotshape(series=isRedChoCH, title="Red ChoCH Signal", location=location.belowbar, color=color.red, style=shape.circle, text="Red ChoCH")
plotshape(series=isGreenBOS, title="Green BOS Signal", location=location.abovebar, color=color.green, style=shape.circle, text="Green BOS")

// Plotting Vector Candles for Visualization
plotchar(vectorCandleRed > 0, title="Vector Candle Red", location=location.belowbar, color=color.red, char='R', text="Red")
plotchar(vectorCandleGreen > 0, title="Vector Candle Green", location=location.abovebar, color=color.green, char='G', text="Green")
plotchar(vectorCandleBlue > 0, title="Vector Candle Blue", location=location.belowbar, color=color.blue, char='B', text="Blue")
plotchar(vectorCandlePurple > 0, title="Vector Candle Purple", location=location.abovebar, color=color.purple, char='P', text="Purple")


Mehr