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.
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.
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")