A estratégia de alta/baixa quebra de balanço melhorada com padrões de engulfamento de alta e baixa combina quebras de preço e padrões de vela para capturar oportunidades potenciais de reversão de tendência, enfatizando a gestão de riscos. As vantagens da estratégia estão em sua consideração da ação de preços e do sentimento do mercado, adaptando-se a diferentes ambientes de mercado. No entanto, a estratégia também enfrenta riscos como sinais falsos, volatilidade do mercado e custos de negociação, que precisam ser abordados através da introdução de indicadores de confirmação de tendência, ajuste dinâmico de stop-loss e otimização de parâmetros.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Markoline007 //@version=5 strategy("Improved Swing High/Low Breakout Strategy", overlay=true) // Define input variables length = input(14, title="Swing Length") multiplier = input(3, title="Multiplier") risk_reward_ratio = input(1.6, title="Risk-Reward Ratio") target_multiplier = input(2, title="Target Multiplier") // Calculate swing highs and swing lows var float lastHigh = na var float lastLow = na var bool isHigh = na var bool isLow = na if high[1] < high and high[2] < high[1] lastHigh := high[1] isHigh := true isLow := false else if low[1] > low and low[2] > low[1] lastLow := low[1] isLow := true isHigh := false else isHigh := false isLow := false // Define buy and sell conditions buySignal = close > lastHigh and close > open and close[1] < open[1] // Bullish engulfing sellSignal = close < lastLow and close < open and close[1] > open[1] // Bearish engulfing // Calculate stop and target levels stopLevel = close targetLevel = close + (close - stopLevel) * risk_reward_ratio // Execute buy and sell trades if buySignal strategy.entry("Buy", strategy.long) strategy.exit("TP/SL", "Buy", profit=targetLevel, loss=stopLevel) if sellSignal strategy.entry("Sell", strategy.short) strategy.exit("TP/SL", "Sell", profit=targetLevel, loss=stopLevel)