Esta estratégia é um sistema de negociação baseado em análise técnica que combina o mecanismo de confirmação de sinal duplo RSI (Índice de Força Relativa) e MACD (Divergência de Convergência da Média Móvel), buscando oportunidades de negociação em zonas de sobrecompra e sobrevenda, empregando gerenciamento de parada dinâmica. A estratégia é projetada para negociação de curto prazo e é adequada para capturar oportunidades em mercados em rápido movimento.
A estratégia utiliza dois indicadores técnicos clássicos - RSI e MACD - para construir um sistema de sinais de negociação. Os sinais de compra são acionados quando o RSI cai abaixo de 35 (zona de sobrevenda) e o MACD mostra uma cruz de ouro; os sinais de venda são acionados quando o RSI sobe acima de 70 (zona de sobrevenda) e o MACD mostra uma cruz de morte. O sistema implementa um mecanismo de gerenciamento de risco com 300 pontos de stop-loss e 600 pontos de take-profit, criando uma relação recompensa-risco de 2: 1 que ajuda a alcançar retornos esperados positivos na negociação de longo prazo.
A estratégia constrói um sistema de negociação relativamente confiável, combinando indicadores RSI e MACD, complementados por configurações razoáveis de stop-loss e take-profit, mostrando valor de aplicação prático. No entanto, ainda requer otimização com base nas condições reais do mercado, especialmente nos aspectos de controle de risco e filtragem de sinais.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Scalping XAU/USD m5 (Protected)", overlay=true) // Parâmetros do usuário rsiPeriod = input(14, title="Período do RSI") rsiOverbought = input(70, title="Nível de Sobrecompra do RSI") // Ajustado para aumentar trades rsiOversold = input(35, title="Nível de Sobrevenda do RSI") // Ajustado para aumentar trades macdFast = input(6, title="Média Rápida do MACD") // Ajustado para aumentar a frequência macdSlow = input(13, title="Média Lenta do MACD") // Ajustado para aumentar a frequência macdSignal = input(7, title="Sinal do MACD") lotSize = input(1, title="Tamanho do Lote") slPips = input(300, title="Stop-Loss (pips)") // Definido pelo usuário tpPips = input(600, title="Take-Profit (pips)") // Definido pelo usuário // Cálculos do RSI e MACD rsi = ta.rsi(close, rsiPeriod) [macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal) // Condições de compra buyCondition = (rsi < rsiOversold) and (macdLine > signalLine) and (ta.crossover(macdLine, signalLine)) // Condições de venda sellCondition = (rsi > rsiOverbought) and (macdLine < signalLine) and (ta.crossunder(macdLine, signalLine)) // Executa a compra if (buyCondition) strategy.entry("Compra", strategy.long, qty=lotSize) label.new(bar_index, close, "Compra", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small) // Executa a venda if (sellCondition) strategy.entry("Venda", strategy.short, qty=lotSize) label.new(bar_index, close, "Venda", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // Saídas com Stop-Loss e Take-Profit if (strategy.position_size > 0) // Para posições de compra strategy.exit("Saída Compra", from_entry="Compra", stop=close - slPips * syminfo.mintick, limit=close + tpPips * syminfo.mintick) if (strategy.position_size < 0) // Para posições de venda strategy.exit("Saída Venda", from_entry="Venda", stop=close + slPips * syminfo.mintick, limit=close - tpPips * syminfo.mintick) // Plota o RSI e suas linhas de sobrecompra/sobrevenda hline(rsiOverbought, "Sobrecompra", color=color.red) hline(rsiOversold, "Sobrevenda", color=color.green) plot(rsi, "RSI", color=color.blue) // Plota o MACD macdHist = macdLine - signalLine plot(macdHist, title="Histograma MACD", color=color.green, style=plot.style_histogram)