이 전략은 기술 분석 기반의 거래 시스템으로, RSI (비례 강도 지수) 와 MACD (가동 평균 컨버전스 디버전스) 이중 신호 확인 메커니즘을 결합하여, 역동적 스톱 관리를 사용하여 과반 구매 및 과반 판매 구역에서 거래 기회를 찾습니다. 이 전략은 단기 거래에 설계되어 있으며 빠르게 움직이는 시장에서 기회를 포착하는 데 적합합니다.
이 전략은 두 가지 고전적인 기술 지표 - RSI와 MACD - 를 활용하여 거래 신호 시스템을 구성합니다. RSI가 35 이하로 떨어지고 MACD가 황금색 십자가를 표시할 때 구매 신호가 발동됩니다. RSI가 70 이상으로 상승하고 MACD가 죽음의 십자가를 표시 할 때 판매 신호가 발동됩니다. 시스템은 300 포인트 스톱 로스 및 600 포인트 리프트를 취하는 리스크 관리 메커니즘을 구현하여 장기 거래에서 기대되는 긍정적 인 수익을 달성하는 데 도움이되는 2: 1 리워드 리스크 비율을 만듭니다.
이 전략은 합리적인 스톱 로스 및 테이크 노프프 설정으로 보완된 RSI 및 MACD 지표를 결합하여 실질적인 응용 가치를 보여주는 비교적 신뢰할 수있는 거래 시스템을 구축합니다. 그러나 여전히 실제 시장 조건, 특히 위험 통제 및 신호 필터링 측면에 따라 최적화를 요구합니다. 성공적인 전략 구현은 거래자가 시장에 대한 깊은 이해와 다양한 시장 환경에 적응하기 위해 매개 변수를 유연하게 조정 할 수있는 능력을 필요로합니다.
/*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)