Bidirektionale quantitative Handelsstrategie basierend auf dem K-Linien-Candlestick-Absorptionsmuster

OHLC VOL ATR
Erstellungsdatum: 2024-12-12 11:27:27 zuletzt geändert: 2024-12-12 11:27:27
Kopie: 0 Klicks: 364
1
konzentrieren Sie sich auf
1617
Anhänger

Bidirektionale quantitative Handelsstrategie basierend auf dem K-Linien-Candlestick-Absorptionsmuster

Überblick

Die Strategie ist ein auf K-Linien basierendes Zwei-Wege-Trading-System, das auf Absorptionsformen basiert. Die Strategie identifiziert Absorptionsformen in einem Markt, indem sie die Beziehungen zwischen Richtung, Amplitude und Transaktionsvolumen der benachbarten K-Linien analysiert.

Strategieprinzip

Die Kernlogik der Strategie basiert auf drei Schlüsselfaktoren:

  1. Umgekehrte Richtung der benachbarten K-Linien: Die Richtung der K-Linien wird durch den Vergleich von Eröffnungs- und Schlusskosten beurteilt, wobei die beiden benachbarten K-Linien die entgegengesetzte Bewegung aufweisen.
  2. Anzeichenanalyse: Berechnung und Vergleich der Preisdynamik zweier K-Linien (absoluter Wert der Differenz zwischen dem Schlusskurs und dem Eröffnungskurs), wobei die Dynamik der zweiten K-Line größer ist als die der ersten.
  3. Transaktionsvolumen: Die erste K-Linie muss mehr Transaktionen als die zweite K-Linie haben, während die zweite K-Linie weniger Transaktionen als die vorherige hat.

Wenn diese drei Bedingungen gleichzeitig erfüllt sind, bestimmt die Strategie die Richtung des Handels in Bezug auf die Richtung der neuesten K-Linie: Wenn es sich um die Y-Linie handelt, ist die Plus-Linie, wenn die Y-Linie leer ist. Die Strategie verwendet die vollen Positionen, um zu handeln, und verfolgt die Position durch die Statusvariablen.

Strategische Vorteile

  1. Multidimensionelle Analyse: Die Analyse der drei Dimensionen von Preisform, Amplitude und Transaktionsvolumen verbessert die Signalsicherheit.
  2. Zwei-Wege-Trading: Sie können zwei-Wege-Möglichkeiten nutzen, um die Marktschwankungen zu nutzen.
  3. Gute Risikomanagement-Funktionen: Verwendet Prozentsatz-Finanzmanagement und flexible Einstellung von Stop-Loss-Stopp-Bedingungen.
  4. Visuelle Unterstützung: Die grafische Darstellung von Handelssignalen zur einfachen Analyse und Optimierung.
  5. Klarheit bei der Statusverwaltung: Präzise Kontrolle der Positionshaltung durch Statusvariablen und Vermeidung von Wiederholungen der Positionseröffnung.

Strategisches Risiko

  1. Falsche Durchbruchrisiken: Falsche Absorptionsformen können auftreten, was zu falschen Signalen führt.
  2. Einfluss von Slippings: Bei starken Marktschwankungen kann es zu einem größeren Slippings kommen, was die Effektivität des tatsächlichen Handels beeinträchtigt.
  3. Risikomanagement: Der Full-Position-Trading-Modus kann zu einem höheren Risiko führen.
  4. Signalverzögerung: Die Bestätigung des Signals erfolgt erst nach dem K-Streckenabschluss und kann die beste Einstiegszeit verpassen.

Richtung der Strategieoptimierung

  1. Einführung von Trendfiltern: Es wird empfohlen, eine Mittellinie oder einen Trendindikator als Richtungsfilter hinzuzufügen, um die Signalqualität zu verbessern.
  2. Optimierte Vermögensverwaltung: Die Positionsgröße kann an die dynamischen Marktschwankungen angepasst werden.
  3. Verbesserte Stop-Loss-Mechanismen: Es wird empfohlen, die Dynamische Stop-Loss-Einstellung in Verbindung mit den ATR-Indikatoren zu verwenden, um die Fähigkeit zur Risikokontrolle zu verbessern.
  4. Zeit-Filterung: Sie können die Zeit-Filterung des Handels hinzufügen, um unproduktive Zeiten zu vermeiden.
  5. Optimierte Signalbestätigung: Die Transaktionsmenge oder andere technische Kennzahlen können als zusätzliche Bestätigung hinzugefügt werden.

Zusammenfassen

Die Strategie baut ein vollständiges Handelssystem auf, indem sie eine mehrdimensionale Analyse der K-Linie-Form, der Amplitude und des Transaktionsvolumens durchführt. Obwohl bestimmte Risiken bestehen, kann die Stabilität und Zuverlässigkeit der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden. Die Kernvorteile der Strategie liegen in ihrer mehrdimensionalen Analysemethode und einem ausgefeilten Zustandsmanagementmechanismus, der für den Einsatz in stark volatilen Marktumgebungen geeignet ist.

Strategiequellcode
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Условия индикатора
// 1. Две соседних свечи должны быть разнонаправленными
condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open)

// 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей
delta1 = math.abs(close[1] - open[1])
delta2 = math.abs(close - open)
condition2 = delta1 < delta2

// 3. Объем первой свечи должен быть больше, а последней меньше
condition3 = volume[1] > volume and volume < volume[2]

// Проверяем выполнение всех условий
all_conditions = condition1 and condition2 and condition3

// Определяем направление для входа
is_bullish = close > open  // Зеленая свеча больше (бычье поглощение)
is_bearish = close < open  // Красная свеча больше (медвежье поглощение)

// Переменные для отслеживания состояния позиции
var float entryPrice = na
var bool isLong = false
var bool isShort = false

// Логика генерации сигналов
buySignal = all_conditions and is_bullish and not isLong
sellSignal = all_conditions and is_bearish and not isShort

// Обработка лонгового входа
if (buySignal)
    isLong := true
    isShort := false
    entryPrice := close
    strategy.entry("Long", strategy.long)

// Обработка шортового входа
if (sellSignal)
    isLong := false
    isShort := true
    entryPrice := close
    strategy.entry("Short", strategy.short)

// Визуализация точек поглощения
// if all_conditions
//     label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small)

// Логика сброса состояния при закрытии позиции
if (strategy.position_size == 0)
    isLong := false
    isShort := false
    entryPrice := na

// Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже)
// strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14))
// strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))