Stratégie quantitative de trading bidirectionnelle basée sur le modèle d'absorption de chandeliers K-line

OHLC VOL ATR
Date de création: 2024-12-12 11:27:27 Dernière modification: 2024-12-12 11:27:27
Copier: 0 Nombre de clics: 364
1
Suivre
1617
Abonnés

Stratégie quantitative de trading bidirectionnelle basée sur le modèle d’absorption de chandeliers K-line

Aperçu

Cette stratégie est un système de négociation bidirectionnel basé sur la forme d’absorption du diagramme de K. La stratégie identifie les formes de marché qui ont des caractéristiques d’absorption en analysant la direction, l’amplitude et la relation de volume des lignes de K adjacentes et en effectuant des transactions dans la direction correspondante lorsque cela est approprié. La stratégie utilise une méthode de gestion des fonds en pourcentage, avec une logique complète d’ouverture de position.

Principe de stratégie

La logique centrale de la stratégie repose sur trois conditions clés:

  1. La direction de la ligne K adjacente est inversée: la direction de la ligne K est déterminée par la comparaison des prix d’ouverture et de clôture.
  2. Analyse de la relation d’amplitude: calculer et comparer l’amplitude de prix des deux lignes K (la valeur absolue de la différence entre le prix de clôture et le prix d’ouverture), en exigeant que la dernière ligne K ait une plus grande amplitude que la précédente.
  3. Caractéristiques de la transaction: la transaction de la première ligne K doit être supérieure à la transaction de la deuxième ligne K, et la transaction de la deuxième ligne K doit être inférieure à la transaction précédente.

Lorsque ces trois conditions sont réunies, la stratégie détermine l’orientation de la transaction en fonction de la direction de la dernière ligne K: plus si c’est la ligne jaune et moins si c’est la ligne négative. La stratégie utilise la position totale pour la transaction et suit la position par les variables d’état.

Avantages stratégiques

  1. Analyse multidimensionnelle: analyse des trois dimensions de la forme, de l’amplitude et du volume des prix, afin d’améliorer la fiabilité du signal.
  2. Les échanges bidirectionnels permettent de saisir les opportunités bidirectionnelles du marché et de tirer le meilleur parti des fluctuations du marché.
  3. Gestion des risques: utilisation de la gestion des pourcentages et possibilité de régler les conditions de stop loss avec souplesse.
  4. Support visuel: fournit une présentation graphique des signaux de trading pour faciliter l’analyse et l’optimisation.
  5. Gestion de l’état avec précision: contrôle précis de la tenue des positions par les variables d’état, pour éviter les ouvertures répétées.

Risque stratégique

  1. Risque de fausse rupture: une fausse forme d’absorption peut se produire dans un marché en crise, ce qui entraîne de faux signaux.
  2. Effets des points de glissement: Les points de glissement peuvent être plus importants lorsque le marché est très volatile et peuvent affecter l’efficacité réelle des transactions.
  3. Risques de gestion de fonds: le mode de négociation en position pleine peut entraîner une plus grande marge de risque.
  4. La latence du signal: la confirmation du signal est basée sur la clôture de la ligne K, ce qui peut manquer le meilleur moment d’entrée.

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de tendance: il est recommandé d’ajouter une ligne moyenne ou un indicateur de tendance comme filtre de direction pour améliorer la qualité du signal.
  2. Optimisation de la gestion des fonds: la taille de la position peut être ajustée en fonction de la dynamique de la volatilité du marché.
  3. Amélioration des mécanismes d’arrêt des pertes: mise en place d’un arrêt dynamique des pertes en combinaison avec les indicateurs ATR pour améliorer la capacité de contrôle des risques.
  4. Augmentation du filtrage temporel: vous pouvez ajouter un filtrage temporel de la transaction pour éviter les périodes inefficaces.
  5. Confirmation de signaux optimisés: vous pouvez ajouter des indicateurs de volume de transaction ou d’autres indicateurs techniques comme confirmation auxiliaire.

Résumer

La stratégie construit un système de trading complet grâce à une analyse multidimensionnelle de la forme, de l’amplitude et du volume des lignes K. Bien qu’il y ait un certain risque, la stabilité et la fiabilité de la stratégie peuvent être encore améliorées par l’orientation d’optimisation proposée. Le principal avantage de la stratégie réside dans sa méthode d’analyse multidimensionnelle et son mécanisme de gestion de l’état perfectionné, adapté à une application dans un environnement de marché très volatil.

Code source de la stratégie
/*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))