Les ressources ont été chargées... Je charge...

Stratégie de négociation quantitative de tendance linéaire englobante à plusieurs périodes

Auteur:ChaoZhang est là., Date: 2025-01-06 11:42:37 Je suis désolé
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading quantitative basée sur le modèle d'engulfement, qui identifie et négocie sur des modèles d'engulfement linéaires de tendance à plusieurs périodes sur le marché. Le noyau de la stratégie est de capturer les signaux d'inversion de prix, combinés à des périodes de détention et à un contrôle des risques pour obtenir des résultats de trading stables.

Principe de stratégie

La stratégie est basée sur le schéma d'engorgement dans les formations de bougies. Un signal d'achat est généré dans une tendance à la baisse lorsqu'un schéma d'engorgement haussier apparaît (une bougie baissière plus petite suivie d'une bougie haussière plus grande qui engloutit complètement la précédente). Un signal de vente est généré dans une tendance haussière lorsqu'un schéma d'engorgement baissier apparaît (une bougie haussière plus petite suivie d'une bougie baissière plus grande qui engloutit complètement la précédente). La stratégie utilise des périodes de détention paramétrées, fermant automatiquement les positions après la période spécifiée pour éviter les risques associés à une détention excessive.

Les avantages de la stratégie

  1. Signaux clairs: Les motifs engloutissants présentent des caractéristiques visuelles distinctes, ce qui permet une grande précision dans l'identification du signal
  2. Large application: peut être appliquée à tous les marchés et à toutes les périodes, offrant une large valeur pratique
  3. Risque contrôlé: gère efficacement le risque de détention au moyen de périodes de détention fixes
  4. Paramètres flexibles: la direction des opérations et les périodes de détention peuvent être ajustées en fonction des différentes caractéristiques du marché
  5. Visualisation forte: les occurrences de motifs sont marquées par des couleurs de fond, facilitant l'analyse et le backtesting

Risques stratégiques

  1. Risque de fausse rupture: les schémas d'engorgement peuvent entraîner de fausses ruptures, ce qui nécessite la confirmation d'autres indicateurs
  2. Dépendance de l'environnement du marché: les performances varient selon les différents environnements du marché, ce qui nécessite des ajustements opportuns des paramètres
  3. Période de détention fixe: les périodes de détention fixe peuvent entraîner des pertes ou des bénéfices plus importants.
  4. La latence du signal: les signaux ne peuvent être confirmés qu'après la fermeture de la bougie, manquant potentiellement des points d'entrée optimaux.

Directions d'optimisation de la stratégie

  1. Filtrage des tendances: intégrer des indicateurs de tendance tels que des moyennes mobiles pour filtrer les signaux de contre-tendance
  2. Périodes de détention dynamiques: ajustement des périodes de détention en fonction de la volatilité du marché
  3. Confirmation du volume: ajouter des indicateurs de volume pour vérifier la validité du modèle
  4. Amélioration du système de stop-loss: introduire des mécanismes dynamiques de stop-loss pour améliorer la maîtrise des risques
  5. Résonance de plusieurs délais: combiner des signaux provenant de plusieurs délais pour améliorer le taux de réussite des transactions

Résumé

La stratégie capture les opportunités de modèle envahissantes grâce à une approche systématique, réalisant un trading contrôlé par les risques grâce à une gestion de position paramétrifiée.


/*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")


Plus de