
La stratégie est un système de négociation basé sur des indicateurs d’analyse technique, combinant le RSI (indice de force relative) et le MACD (mobile average convergence/déviation) pour gérer le risque en recherchant des opportunités de négociation dans les zones de survente et de survente, et en utilisant un stop loss dynamique. La stratégie est conçue principalement pour les transactions en ligne courte, adaptée à la capture d’opportunités de négociation dans un environnement de marché rapide.
La stratégie utilise le RSI et le MACD, deux indicateurs techniques classiques, pour construire un système de signaux de négociation. Le signal d’achat est déclenché lorsque le RSI est inférieur à 35 (zone de survente) et que le MACD apparaît avec un fourchette; le signal de vente est déclenché lorsque le RSI est supérieur à 70 (zone de survente) et que le MACD apparaît avec un fourchette morte. Le système utilise un mécanisme de gestion des risques de 300 points de stop-loss et 600 points de stop-loss, ce rapport de gain / perte de 2: 1 qui aide à obtenir des rendements positifs dans les transactions à long terme.
La stratégie a construit un système de négociation relativement fiable en combinant les indicateurs RSI et MACD, avec des paramètres de stop-loss raisonnables, avec une certaine valeur d’application pratique. Cependant, il reste nécessaire d’optimiser en fonction de la situation réelle du marché, en particulier en ce qui concerne le contrôle des risques et le filtrage des signaux.
/*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)