Il s'agit d'une stratégie de trading quantitative basée sur la pression du marché et les modèles de chevauchement des bougies. La stratégie identifie les points d'inversion potentiels du marché en analysant le volume des transactions, les modèles de bougies et les relations de chevauchement des prix, combinés aux conditions de prise de profit pour le trading automatisé.
La logique de base de la stratégie intègre deux dimensions principales: la pression du marché et le chevauchement des bougies. Pour la pression du marché, la stratégie détermine la pression d'achat et de vente en comparant le volume de négociation actuel avec la moyenne mobile du volume de 20 périodes. Lorsque le volume d'une bougie verte (bullish) dépasse la moyenne mobile, cela indique une pression d'achat; lorsque le volume d'une bougie rouge (bearish) dépasse la moyenne mobile, cela indique une pression de vente. Pour le chevauchement des bougies, la stratégie se concentre sur la relation de chevauchement entre les bougies adjacentes. Lorsqu'une bougie verte se chevauche avec la bougie rouge précédente, elle est considérée comme un signal long potentiel; lorsqu'une bougie rouge se chevauche avec la bougie verte précédente, elle est considérée comme un signal court potentiel.
La stratégie capture les opportunités d'inversion du marché en combinant la pression du marché et les modèles de chevauchement des bougies, démontrant une base théorique solide et une faisabilité pratique.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Pressure Reversal & Candle Overlap", overlay=true, default_qty_type=strategy.fixed, default_qty_value=0.1) // Parameters take_profit_percent = 20 // Take Profit Percentage qty = 0.1 // Quantity to trade (BTC) // Candle Definitions green_candle = close > open red_candle = close < open current_body = math.abs(close - open) // Previous Candle Data prev_close = ta.valuewhen(green_candle or red_candle, close, 1) prev_open = ta.valuewhen(green_candle or red_candle, open, 1) // Check Candle Overlaps green_overlaps_red = green_candle and close >= prev_open and open <= prev_close red_overlaps_green = red_candle and close <= prev_open and open >= prev_close // Define Buying and Selling Pressure buying_pressure = green_candle and volume > ta.sma(volume, 20) selling_pressure = red_candle and volume > ta.sma(volume, 20) // Entry Conditions long_entry_pressure = selling_pressure long_entry_overlap = green_overlaps_red short_entry_pressure = buying_pressure short_entry_overlap = red_overlaps_green // Calculate Take Profit Levels take_profit_level_long = close * (1 + 20 / 100) take_profit_level_short = close * (1 - 20 / 100) // Strategy Logic if (long_entry_pressure or long_entry_overlap) strategy.entry("Buy Long", strategy.long, qty=qty) strategy.exit("TP Long", "Buy Long", limit=take_profit_level_long) if (short_entry_pressure or short_entry_overlap) strategy.entry("Sell Short", strategy.short, qty=qty) strategy.exit("TP Short", "Sell Short", limit=take_profit_level_short)