Chiến lược này là một hệ thống giao dịch dựa trên phân tích kỹ thuật kết hợp cơ chế xác nhận tín hiệu kép RSI (Chỉ số sức mạnh tương đối) và MACD (Moving Average Convergence Divergence), tìm kiếm các cơ hội giao dịch trong các khu vực mua quá mức và bán quá mức trong khi sử dụng quản lý dừng động. Chiến lược được thiết kế cho giao dịch ngắn hạn và phù hợp để nắm bắt các cơ hội trong các thị trường chuyển động nhanh.
Chiến lược này sử dụng hai chỉ số kỹ thuật cổ điển - RSI và MACD - để xây dựng một hệ thống tín hiệu giao dịch. Các tín hiệu mua được kích hoạt khi RSI giảm xuống dưới 35 (khu vực bán quá mức) và MACD hiển thị một đường chéo vàng; các tín hiệu bán được kích hoạt khi RSI tăng trên 70 (khu vực mua quá mức) và MACD hiển thị đường chéo chết. Hệ thống thực hiện một cơ chế quản lý rủi ro với 300 điểm dừng lỗ và 600 điểm lấy lợi nhuận, tạo ra tỷ lệ 2: 1 phần thưởng đối với rủi ro giúp đạt được lợi nhuận mong đợi tích cực trong giao dịch dài hạn.
Chiến lược xây dựng một hệ thống giao dịch tương đối đáng tin cậy bằng cách kết hợp các chỉ số RSI và MACD, bổ sung bằng các thiết lập dừng lỗ và lấy lợi nhuận hợp lý, cho thấy giá trị ứng dụng thực tế. Tuy nhiên, nó vẫn đòi hỏi tối ưu hóa dựa trên điều kiện thị trường thực tế, đặc biệt là trong các khía cạnh kiểm soát rủi ro và lọc tín hiệu. Việc thực hiện chiến lược thành công đòi hỏi các nhà giao dịch phải có sự hiểu biết sâu sắc về thị trường và khả năng điều chỉnh các tham số một cách linh hoạt để thích nghi với môi trường thị trường khác nhau.
/*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)