Stratégie de trading quantitative à tendance englobante linéaire sur plusieurs périodes


Date de création: 2025-01-06 11:42:37 Dernière modification: 2025-01-06 11:42:37
Copier: 1 Nombre de clics: 315
1
Suivre
1617
Abonnés

Stratégie de trading quantitative à tendance englobante linéaire sur plusieurs périodes

Aperçu

Il s’agit d’une stratégie de trading quantitative basée sur le modèle englobant, qui se négocie en identifiant le modèle englobant linéaire de tendance multi-période qui apparaît sur le marché. Le cœur de la stratégie consiste à capturer les signaux de renversement de prix, à combiner la période de détention et le contrôle des risques et à obtenir des résultats de trading solides. La stratégie est applicable à tous les marchés et à toutes les périodes et présente une forte universalité.

Principe de stratégie

La stratégie est basée sur le trading du modèle englobant dans le modèle de chandelier. Lorsqu’un modèle d’engloutissement haussier se produit (un chandelier noir plus petit suivi d’un chandelier blanc plus grand engloutissant complètement le chandelier noir plus petit), il génère un signal d’achat dans une tendance à la baisse ; lorsqu’un modèle d’engloutissement baissier se produit (un chandelier noir plus petit suivi d’un chandelier blanc plus grand (un chandelier engloutissant complètement le plus petit chandelier noir), il génère un signal d’achat dans une tendance haussière. Un signal de vente est généré. La stratégie définit la période de détention par paramétrage et ferme automatiquement la position après la période spécifiée pour éviter les risques liés à une détention excessive.

Avantages stratégiques

  1. Signal clair : le motif englobant présente des caractéristiques visuelles évidentes et une grande précision de reconnaissance du signal
  2. Forte applicabilité : peut être appliquée à tous les marchés et à toutes les périodes, avec une grande valeur pratique
  3. Risque contrôlable : En fixant une période de détention fixe, le risque de détention peut être efficacement contrôlé
  4. Paramètres flexibles : la direction du trading et la période de détention peuvent être ajustées en fonction des différentes caractéristiques du marché
  5. Visualisation puissante : marquez la position du motif par la couleur d’arrière-plan, ce qui est pratique pour l’analyse et le backtesting

Risque stratégique

  1. Risque de fausse cassure : Le modèle engloutissant peut avoir une fausse cassure, qui doit être confirmée en combinant d’autres indicateurs
  2. Dépendance à l’environnement du marché : les performances varient selon les environnements de marché et les paramètres doivent être ajustés en temps opportun
  3. Période de détention fixe : une période de détention fixe peut entraîner des gains plus importants ou des pertes plus importantes
  4. Décalage du signal : le signal ne peut être confirmé que sur la base de la fermeture de la ligne K, ce qui peut manquer la meilleure opportunité d’entrée

Orientation de l’optimisation de la stratégie

  1. Introduire le filtrage des tendances : Combinez des indicateurs de tendance tels que les moyennes mobiles pour filtrer les signaux de contre-tendance
  2. Période de détention dynamique : ajustez dynamiquement la période de détention en fonction de la volatilité du marché
  3. Ajouter une confirmation de volume : ajouter un indicateur de volume pour vérifier la validité du modèle
  4. Optimiser les paramètres de stop loss : introduire un mécanisme de stop loss dynamique pour améliorer les capacités de contrôle des risques
  5. Résonance multi-périodes : combinez les signaux de plusieurs périodes pour améliorer le taux de réussite des transactions

Résumer

Cette stratégie utilise une approche systématique pour saisir les opportunités de modèles englobants sur le marché et la combine avec une gestion de position paramétrée pour obtenir un trading à risque contrôlé. La stratégie est très pratique et adaptable, mais les traders doivent encore l’optimiser et l’ajuster en fonction des caractéristiques spécifiques du marché. Il est recommandé de combiner d’autres indicateurs techniques et mesures de contrôle des risques pour améliorer la stabilité et la fiabilité de la stratégie.

Code source de la stratégie
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Engulfing Candlestick Strategy", overlay=true)

// Input parameters
bull_color = input.color(color.new(color.green, 0), title="Bullish Engulfing Highlight")
bear_color = input.color(color.new(color.red, 0), title="Bearish Engulfing Highlight")
hold_periods = input.int(17, title="Hold Periods", minval=1)  // How many bars to hold the position

// Input for selecting the pattern (Bullish or Bearish Engulfing)
pattern_type = input.string("Bullish Engulfing", title="Engulfing Pattern", options=["Bullish Engulfing", "Bearish Engulfing"])

// Input for selecting the trade type (Long or Short)
trade_type = input.string("Long", title="Trade Type", options=["Long", "Short"])

// Conditions for Bullish Engulfing
bullish_engulfing = close > open and open < close[1] and close > open[1] and open[1] > close[1]

// Conditions for Bearish Engulfing
bearish_engulfing = close < open and open > close[1] and close < open[1] and open[1] < close[1]

// Declare the entry condition variable
var bool entry_condition = false  // Set initial value to 'false'

// Entry logic based on selected pattern and trade type
if pattern_type == "Bullish Engulfing"
    entry_condition := bullish_engulfing
else
    entry_condition := bearish_engulfing

// Execute the entry based on the selected trade type
if entry_condition
    if trade_type == "Long"
        strategy.entry("Long", strategy.long)
    else
        strategy.entry("Short", strategy.short)

// Close position after specified number of bars
if strategy.position_size != 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= hold_periods
    strategy.close("Long")
    strategy.close("Short")

// Highlight Bullish Engulfing Candles (Background Color)
bgcolor(bullish_engulfing and pattern_type == "Bullish Engulfing" ? color.new(bull_color, 80) : na, title="Bullish Engulfing Background")
// Highlight Bearish Engulfing Candles (Background Color)
bgcolor(bearish_engulfing and pattern_type == "Bearish Engulfing" ? color.new(bear_color, 80) : na, title="Bearish Engulfing Background")